AMI は Amazon Machine Image の略で、EC2 を起動するときの元になるイメージです。AWS公式でも、インスタンス起動に必要な情報を含むテンプレートとして説明されています。
AMIは、実際に動いているEC2インスタンスそのものではありません。
どのOSで起動するか どのアーキテクチャか どのルートボリューム構成か といった起動元の型に近い役割です。
まず押さえたいポイント
- EC2起動時の元になるテンプレート
- 実際に動くのはAMIではなくEC2インスタンス
- 多くの一般的な構成では EBS-backed AMI が使われる
- カスタムAMIを作ると同じ初期状態を再現しやすい
- Launch Template と一緒に使うことが多い
どんな場面で使うか
AMIは、Amazon LinuxやUbuntuで新しいEC2を起動する、社内標準の初期設定が入ったサーバーを複製する、Auto Scalingで同じ構成を横に増やす、といった場面で使います。
どう理解するとよいか
初心者向けには、AMIを EC2の起動元の型 と考えると分かりやすいです。
EC2が実際のサーバー本体、EBS がディスク、AMIが起動テンプレート、と分けるとかなり整理しやすくなります。
また、AMIは単なるOSイメージではなく、同じ状態のサーバーを再現する起点 と考えると実務で役立ちます。
たとえば、必要なミドルウェアや初期設定を入れたEC2からカスタムAMIを作っておくと、同じ初期状態のサーバーを何台も立てやすくなります。
そのため、手動セットアップを毎回繰り返すより、再現性を上げるための部品として見る方が実務向きです。
注意点
AMIを選べば何でも同じ環境になるわけではありません。起動後の設定、IAMロール、ネットワーク、環境変数が違えば挙動は変わります。
また、AMIとインスタンスタイプには互換性が必要なので、CPUアーキテクチャの違いも意識した方が安全です。
また、AMI単体だけで起動管理が完結するわけでもありません。
複数台起動やAuto Scalingでは、AMIを含んだLaunch Templateとして管理する場面が増えます。
詳しい整理は、AMIとは?EC2起動テンプレートの意味 で解説しています。