Amazon EBS-backed AMI を作成する
Amazon EC2 インスタンスまたは Amazon EC2 インスタンスのルートデバイスのスナップショットから、独自の Amazon EBS-backed AMI を作成できます。
インスタンスから Amazon EBS-backed AMI を作成するには、既存の Amazon EBS-backed AMI を使用してインスタンスを起動することから開始します。この AMI は、例えば、AWS Marketplace から取得した AMI、VM Import/Export を使用して作成した AMI、またはユーザーがアクセス可能なその他の任意の AMI です。特定の要件を満たすようにインスタンスをカスタマイズしたら、新しい AMI を作成して登録します。その後、新しい AMI を使用して、カスタマイズした新しいインスタンスを起動できます。
以下に説明された手順は、暗号化された Amazon Elastic Block Store (Amazon EBS) ボリューム (ルートボリュームを含む) でバックアップされた Amazon EC2 インスタンスにも、暗号化されていないボリューム同様に機能します。
AMI の作成プロセスは、Instance Store-Backed AMIs の場合とは異なります。詳細については、「instance store-backed AMI を作成する」を参照してください。
インスタンスからの AMI 作成の概要
次の図は、実行中の EC2 インスタンスから Amazon EBS-backed AMI を作成するプロセスをまとめたものです。既存の AMI から開始して、インスタンスを起動してカスタマイズし、そこから新しい AMI を作成し、最後に新しい AMI のインスタンスを起動します。図表内の数字は、次の説明の数値と一致します。
- 1 — AMI #1: 既存の AMI から始める
-
作成する AMI に似た既存の AMI を検索します。例えば、AWS Marketplace から取得した AMI、VM Import/Export を使用して作成した AMI、またはユーザーがアクセス可能なその他の任意の AMI です。この AMI を必要に応じてカスタマイズします。
図表内の EBS ルートボリュームスナップショット #1 は、AMI が Amazon EBS-backed AMI であり、ルートボリュームに関する情報がこのスナップショットに格納されていることを示します。
- 2 — 既存の AMI からインスタンスを起動する
-
AMI を設定する方法は、新しい AMI のベースとなる AMI からインスタンスを起動し、インスタンスをカスタマイズすることです (図表内の 3)。次に、カスタマイズを含む新しい AMI を作成します (図表内の 4)。
- 3 — EC2 インスタンス #1: インスタンスをカスタマイズする
-
インスタンスに接続し、必要に応じてカスタマイズします。新しい AMI には、これらのカスタマイズが含まれます。
インスタンスで次のアクションを実行して、インスタンスをカスタマイズできます。
-
ソフトウェアやアプリケーションをインストールする
-
データをコピーする
-
起動時間を短縮するために一時ファイルの消去、ハードディスクのデフラグ、占有領域の開放処理を行う。
-
追加の EBS ボリュームをアタッチする
-
- 4 – イメージを作成する
-
インスタンスから AMI を作成する際に、Amazon EC2 がインスタンスをシャットダウンしてから AMI を作成するのは、インスタンス上のすべての動作を停止し、作成プロセス中に一貫した状態が保たれるようにするためです。インスタンスが一貫した状態にあり、適切に AMI を作成できる場合、インスタンスの電源を落として再起動しないように、Amazon EC2 に指定できます。XFS などの一部のファイルシステムでは、アクティビティのフリーズおよびフリーズ解除が可能なため、インスタンスを再起動しなくてもイメージを安全に作成できます。
AMI 作成プロセスの間、Amazon EC2 はインスタンスのルートボリュームとインスタンスにアタッチされているその他の EBS ボリュームのスナップショットを作成します。AMI の登録を解除してスナップショットを削除するまで、スナップショットは課金の対象となります。インスタンスにアタッチされるいずれかのボリュームが暗号化されている場合、新しい AMI は、Amazon EBS 暗号化をサポートするインスタンスでのみ正常に起動します。
ボリュームのサイズによっては、AMI 作成プロセスの完了に数分かかる場合があります (最長で 24 時間かかることもあります)。AMI を作成する前に、ボリュームのスナップショットを作成しておくと、効率が向上する可能性があります。この方法では、AMI を作成する際に作成する必要があるのは小さい差分スナップショットのみになるため、プロセスがよりすばやく完了します (スナップショット作成の合計時間は同じです)。
- 5 — AMI #2: 新しい AMI
-
プロセスが完了すると、新しい AMI と、インスタンスのルートボリュームから作成されたスナップショット (スナップショット #2) が得られます。ルートデバイスボリュームに加えて、インスタンスストアボリュームまたは EBS ボリュームをインスタンスに追加した場合、新しい AMI のブロックデバイスマッピングにこれらのボリュームの情報が含まれます。
Amazon EC2 では AMI は自動的に登録されます。
- 6 – 新しい AMI からインスタンスを起動する
-
新しい AMI を使用してインスタンスを起動できます。
- 7 — EC2 インスタンス #2: 新しいインスタンス
-
ユーザーが新しい AMI を使用してインスタンスを起動すると、Amazon EC2 はスナップショットを使用して、そのインスタンスのルートボリュームのために新しい EBS ボリュームを作成します。インスタンスのカスタマイズ時に、インスタンスストアボリュームまたは EBS ボリュームを追加した場合、新しい AMI のブロックデバイスマッピングにこれらのボリュームの情報が含まれ、新しい AMI から起動するインスタンスのブロックデバイスマッピングに自動的にこれらのボリュームの情報が含まれます。新しいインスタンスのブロックデバイスマッピングに指定されているインスタンスストアボリュームは新しく、AMI の作成に使用したインスタンスのインスタンスストアボリュームからのデータは含まれていません。EBS ボリュームのデータは永続的です。詳細については、Amazon EC2 インスタンスでのボリュームのブロックデバイスマッピング を参照してください。
EBS-backed AMI から新しいインスタンスを作成する場合、本稼働環境に移す前にそのルートボリュームと追加 EBS ストレージの両方を初期化する必要があります。詳細については、「Amazon EBS ユーザーガイド」の「Amazon EBS ボリュームの初期化」を参照してください。
インスタンスから AMI を作成する
既存のインスタンスがある場合は、このインスタンスから AMI を作成できます。
スナップショットから AMI を作成する
インスタンスのルートデバイスボリュームのスナップショットがある場合、このスナップショットから AMI を作成できます。
注記
ほとんどの場合、Windows、RedHat、SUSE、SQL Server の AMI には、正しいライセンス情報が存在する必要があります。詳細については、「AMI の請求情報について」を参照してください。スナップショットから AMI を作成する場合、RegisterImage
オペレーションはスナップショットのメタデータから正しい請求情報を取得しますが、これには適切なメタデータが必要です。正しい請求情報が適用されたかどうかを確認するには、新しい AMI の [プラットフォームの詳細] フィールドを確認します。フィールドが空であるか、所定のオペレーティングシステムコード (Windows、RedHat、SUSE、SQL など) と一致しない場合、AMI の作成は失敗しているため、この AMI を破棄して「インスタンスから AMI を作成する」の手順に従う必要があります。