AMIとEBS、スナップショットの関係がよくわかっていなかった話
AWSの話。
AWS使っている方であれば当たり前に理解している話かと思います。
AMIとEBS
インスタンス起動時にAMIが読み込まれ、
EBSは追加データを保存する場所なのかなと思っていたのだけど、
どこからどこまでがEBSに保存されるんだ?などどいまいち腑に落ちていなかった。
で、ちゃんと調べてみたところ、
Amazon マシンイメージ(AMI)は、ソフトウェア構成(オペレーティングシステム、アプリケーションサーバー、アプリケーションなど)を記録したテンプレートです。AMI から、クラウドで仮想サーバーとして実行される AMI のコピーであるインスタンスを起動します。
(http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instances-and-amis.html)
AMI には次が含まれています。
インスタンスのルートボリュームのテンプレート(オペレーティングシステム、アプリケーションサーバー、アプリケーションなど)
起動許可(AMI を使用してインスタンスを起動する権限を特定の AWS アカウントに与える)
インスタンスの起動時にインスタンスにアタッチするボリュームを指定するブロックデバイスマッピング
(http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/AMIs.html)
ということで、
AMI = EC2インスタンスの元となるテンプレート
EBS = インスタンス作成時にAMIから情報がコピーされる場所
というのが正しかったようだ。
つまりAMIが起動されるという考え方が間違っていて、
インスタンス作成時にAMIのテンプレート内容がEBSにコピー
↓
その後はEBSからインスタンスが起動される
といった形になるらしい。
AMIとスナップショット
ではAMI ≒ EBSスナップショットなのか?ということで調べてみると、そのものずばりの解説記事を発見。
AWS Solutions Architect ブログ: AWSトレーニングでよくいただくご質問シリーズ - 第一回 Amazon Machine Image (AMI) とスナップショットの違い
AMI = EBSスナップショット + α(管理情報)
とのこと。