AWSサービスがなかなか理解できないなぁ..
そのお悩みを解決します!
AWSを学び始めた皆さん。
学習は順調に進んでいますか?
AWSはたくさんサービスがあって、1つ1つのサービスを学ぶのに苦労しますよね。
そこで本記事では「AMI」について、初心者にわかりやすいよう図解付きで解説していきます。
結論として、このようにまとめることができます。
今はまだ分からなくても全然大丈夫です!
本記事を読んだ後に「AMIってこういうサービスなんだなぁ」って思ってもらえれば嬉しいです。
またなんとなくAMIを分かっているつもりの方も「理解できていなかった」と思うポイントが隠されているかもしれません..!
AWSを学んでいる方の参考になれば嬉しいです!それではどうぞ!
AMIとは
AMI(Amazonマシーンイメージ)とは、EC2インスタンスの構築に必要な情報がまとまってる起動テンプレートのことです。
このサービスを使用すると、ある程度環境が設定された状態でEC2インスタンスを手軽に作成することができます。
手軽ということで今回はAMIをカレーの調理キットに例えてみましょう。
AMIの要素
AMIにはこれらの要素が含まれています。
- OS
- ミドルウェア
- ルートデバイスのストレージ
- 起動許可
1つ1つ解説していきますね。
OS
OSはEC2の操作を行う基本のソフトウェアのことです。
AMIではAmazonLinuxやWindowsOSといった様々なタイプのOSを指定することができます。
OSはAMIの中核となる要素です。
そのため、ここではカレールウと例えておきましょう。
ちなみに私はカレールウを2種類混ぜてカレーを作るタイプの人間です。
アプリケーション
アプリケーションは特定の目的をもって作られた専用のソフトウェアのことです。
具体例としては、WordpressやSQLServer等が挙げられます。
アプリケーションを事前にAMIにインストールすることで一から設定をしなくて良いというメリットがあります。
※通常の使用料の他に別途企業へのコストは発生します。
このアプリケーションはAMIに設定されてない場合もあります。
そのため、ここではその他の材料と例えておきましょう。
ルートデバイスのストレージ
ルートデバイスのストレージは、起動するEC2インスタンスで使用するストレージ領域のことです。PC でいうところの Cドライブにあたります。
AMIではいずれかに分類されます。
- Amazon EBS-backed AMI:EBS スナップショットをストレージにするAMI
- Amazon instance store-backed AMI:インスタンスストアボリュームをストレージにするAMI
両者の違いは公式ドキュメントに記載されているので、こちらをご確認ください。
ルートデバイスのストレージ
ストレージはEC2インスタンスの記憶領域となります。
そのため、ここでは無理やりですが、レシピとでも例えておきましょう。
起動許可
起動許可は作成したAMIを誰が使用できるか権限を決定します。
AMI作成後に、誰でもそのAMIからEC2インスタンスを起動出来てしまうとセキュリティ的に問題がありますよね。
それを防止するために起動許可で誰がAMIからEC2インスタンスを起動できるか権限を保存しています。
そのため、ここでは調理キットの対象年齢と例えておきましょう。
以上がAMIを構成する要素になります。
AMIの使用方法
実はAMIだけではEC2インスタンスを作成することはできません。
EC2インスタンスの作成には、ハードウェアの役割を担うインスタンスタイプの指定が必要となります。
インスタンスタイプとAMIの違いって…?
もう一度冒頭でお見せしたスライドを見てみましょう。
EC2インスタンスはインスタンスタイプでCPUやメモリといったサーバーの質を決め、AMIでその中身を決めます。
カレーもカレーの調理キットだけでは味は決まりませんよね。
作り手である料理人のスペックとの組み合わせで味が決まります。
EC2インスタンスはインスタンスタイプとAMIの組み合わせで決まるということを覚えておきましょう!
AMIのメリット
AMIを使用するメリットはこちらの通りです。
1. EC2インスタンス作成時の工数削減
事前に用意されているAMIを使用することで、EC2インスタンス作成時の工数を削減することができます。
アプリケーションの初期設定が不要になるため、設定をする手間がかからないのは嬉しいですね。
2. バックアップからの容易な復帰
AMIを使用することでEC2インスタンスをバックアップとして保存することができます。
そのため、EC2インスタンスの障害発生時に作成していたAMIを利用することで、特定の状態にまで復帰させることができます。
またAMIを別アカウントへ共有したり、他リージョンへのコピーも可能なため、DR(ディザスタリカバリ)対策にもなります。
3. 長期間使用しないEC2インスタンスのコスト削減
長期間使用しないEC2インスタンスはAMIを取得し、インスタンス自体を削除しておくことでコストを削減することができます。
なぜなら、AMIには料金がかからないためです。
そのためEC2インスタンスをそのままにしておく時に比べ、コストを大幅に抑える事ができます。
ただしAMIに含まれているEBSスナップショットは課金されていることに気をつけよう!
AMIの種類
最後にAMIの種類についてご紹介します。AMIにはこれら4つの種類があります。
- クイックスタートAMI
- カスタムAMI
- AWS Marketplace AMI
- コミュニティ AMI
1つ1つどのようなAMIか解説していきますね。
1. クイックスタートAMI
クイックスタートAMIは、AWSが用意しているOSから選択したAMIです。
一部のAMIは無料で使えるため、試しにEC2インスタンスを作成してみたい方は無料と記載されているOSを選択しましょう。
AWSが用意してくれている調理キットのため、すぐに使用することができます。
2. カスタムAMI
カスタムAMIは、自分のアカウント内にあるEC2インスタンスから作成したAMIです。
自分で作ったカレーは材料とレシピがわかるので、複製可能と言うことですね。
カスタムAMIはEC2AutoScalingでも使用します。
EC2AutoScalingって…?
EC2 AutoScalingとは処理負荷に応じてEC2インスタンスの数を自動で増減することができるサービスです。こちらの記事で分かりやすく解説しているので、良ければ参考にしてみて下さい!
3. AWS Marketplace AMI
AWS Marketplace AMIは、AWSと信頼されたサードパーティー(企業)が作成したAMIです。
WordPressやSQL Serverといったアプリケーションが既にインストール済みのAMIを使用することが可能です。そのため、通常の使用料の他に企業への使用料も発生します。
企業が用意してくれている調理キットなので、ちょっとお高めということですね。
ただし信頼性はあります◎
4. コミュニティ AMI
コミュニティAMIは、ユーザーが作成したAMIです。
AMIの共有設定を有効にした場合に他のユーザに表示がされます。
コミュニティAMIはAWSが審査したものではありません。
そのため、本番環境等ではコミュニティAMIの使用は避けた方がいいとされています。
見ず知らずの人が用意した調理キットで作るカレーは少し怖いですよね。
私は食べたくありません。
以上がAMIについての解説でした。
最後に冒頭でお見せした図を改めて確認してみましょう。
なんとなくAMIについて分かって頂けたかなと思います!
まとめ
今回はAWSサービスの中からAMIについてご紹介しました。
AMIはEC2インスタンスの構築時に必ず指定する機能であるため、十分に理解しておく必要があります。
もっとAWSを触りながら学びたい!
AWS初学者の方は会員制コミュニティ付きの動画で学べるAWS学習オンラインスクールCloudTechがおすすめ!
CloudTechについてはこちらの記事でご紹介しているので、参考にしてみて下さい。
今だけお得に入会できるクーポンコード配布中!
それでは、これからも一緒に学んで、自己価値を高めていきましょう〜!
最後まで、お読み頂きありがとうございました!
参考文献
こちらの記事を作成するにあたり、こちらのブログ記事や本を参考にさせて頂きました!
①AWSエンジニア入門講座――学習ロードマップで体系的に学ぶ
②AWS認定資格 クラウドプラクティショナーの教科書: 合格へ導く虎の巻 CloudTech制作委員会シリーズ
どれもAWS初学者にとって、とても分かりやすい内容になっていますよ!
良ければ参考にしてみて下さい!
コメント