Linux/ AMI の検索 - Amazon Elastic Compute Cloud

Linux/ AMI の検索

インスタンスを起動する前に、使用する AMI を選択する必要があります。AMI を選択するときに、起動するインスタンスに関して、次の要件を検討します。

  • リージョン

  • オペレーティングシステム

  • アーキテクチャ: 32 ビット (i386)、64 ビット (x86_64)、または 64 ビット ARM (arm64)

  • ルートデバイスタイプ: Amazon EBS またはインスタンスストア

  • プロバイダー (Amazon Web Services など)

  • 追加のソフトウェア (SQL Server など)

Windows AMI の検索方法については、Windows インスタンスの Amazon EC2 ユーザーガイド の「Windows AMI の検索」を参照してください。

Amazon EC2 コンソールを使用して、Linux/ AMI を検索します。

Amazon EC2 コンソールを使用して、Linux/ AMIを検索できます。起動ウィザードを使用してインスタンスを起動するときに AMI のリストから選択するか、[Images] ページを使用して使用可能なすべての AMI を検索することができます。AMI ID は各 AWS リージョンで固有です。

Launch Wizard を使用して、Linux/ AMI を検索するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションバーから、インスタンスを起動するリージョンを選択します。お客様は場所に関係なく、使用できるリージョンをどれでも選択できます。

  3. コンソールダッシュボードで [インスタンスの作成] を選択します。

  4. [クイックスタート] タブで、よく使用されている AMI のいずれかをリストから選択します。必要な AMI が表示されていない場合は、[My AMI]、[ AWS Marketplace ]、または [Community AMIs] タブを選択して他の AMI を検索します。詳細については、「ステップ 1: Amazon Machine Image (AMI) を選択する」を参照してください。

[Images] ページを使用して、Linux/ AMI を検索するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションバーから、インスタンスを起動するリージョンを選択します。お客様は場所に関係なく、使用できるリージョンをどれでも選択できます。

  3. ナビゲーションペインで [AMIs] を選択します。

  4. (オプション) [Filter] オプションを使用して、一覧表示された AMI を興味のある AMI に限定します。たとえば、AWS が提供するすべての Linux/ AMI を表示するには、[Public images] を選択します。検索バーを選択し、メニューから [Owner]、[Amazon images] の順に選択します。検索バーをもう一度選択し、[Platform] を選択します。次に、表示されたリストからオペレーティングシステムを選択します。

  5. (オプション) [Show/Hide Columns] アイコンを選択して、ルートデバイスタイプなど、表示するイメージ属性を選択します。あるいは、一覧から AMI を選択し、[Details] タブにそのプロパティを表示できます。

  6. AMI を選択する前に、その AMI が Instance Store-Backed と Amazon EBS-Backed のどちらであるかを確認し、その違いを認識しておくことが重要です。詳細については、「ルートデバイスのストレージ」を参照してください。

  7. この AMI からインスタンスを起動するには、インスタンスを選択し、[Launch] を選択します。コンソールを使用したインスタンスの起動の詳細については、「AMI からのインスタンスの起動」を参照してください。まだインスタンスを起動する準備ができていない場合は、後で使用するために AMI ID を記録します。

AWS CLI を使用した AMI の検索

Amazon EC2 の AWS CLI コマンドを使用して、ニーズに合った Linux/ AMI のみを表示できます。ニーズに合った AMI が見つかったら、インスタンスの起動に使用するためにその ID を記録します。詳細については、AWS Command Line Interface ユーザーガイドの「AWS CLI を使用したインスタンスの起動」を参照してください。

describe-images コマンドは、フィルタリングパラメータをサポートしています。たとえば、Amazon が所有するパブリック AMI を表示するのに --owners パラメーターを使用します。

aws ec2 describe-images --owners self amazon

Amazon EBS-backed AMI のみを表示するには、上記のコマンドに以下のフィルターを追加します。

--filters "Name=root-device-type,Values=ebs"
重要

describe-images コマンドから --owners フラグを省略すると、所有権に関係なく、起動許可を持つすべてのイメージが返されます。

Systems Manager を使用して、最新の Amazon Linux / AMI を検索します。

Amazon EC2 では、AWS で保持されるパブリック AMI 用の AWS Systems Manager パブリックパラメータが提供されており、インスタンスの起動時に使用することができます。たとえば、EC2 で提供されている /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 パラメータはすべてのリージョンで使用でき、特定のリージョンにある最新バージョンの Amazon Linux 2 AMI を常にポイントします。

Amazon EC2 AMI のパブリックパラメータは、次のパスから使用できます。

/aws/service/ami-amazon-linux-latest

現在の AWS リージョンにある、すべての Linux および 向け AMI のリストを表示するには、AWS CLI で次のコマンドを使用します。

aws ssm get-parameters-by-path --path /aws/service/ami-amazon-linux-latest --query "Parameters[].Name"

パブリックパラメータを使用してインスタンスを作成するには

次の例では、EC2 で提供されているパブリックパラメータを使用して、最新の Amazon Linux 2 AMI で m5.xlarge インスタンスを作成します。

このパラメータをコマンドで指定するには、resolve:ssm:public-parameter 構文を使用します。resolve:ssm は標準のプレフィックス、public-parameter はパブリックパラメータのパスと名前です。

この例では、--count パラメータと --security-group パラメータは含まれていません。--count はデフォルトで 1 になります。デフォルトの VPC とデフォルトのセキュリティグループがある場合は、これらが使用されます。

aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge --key-name MyKeyPair

詳細については、AWS Systems Manager ユーザーガイドの「パブリックパラメータを使用する」および「AWS Systems Manager Parameter Store を使用して最新の Amazon Linux AMI ID をクエリする」「」を参照してください。

Systems Manager パラメータを使用した AMI の検索

コンソールで EC2 の作成ウィザードを使用してインスタンスを作成する場合は、リストから AMI を選択するか、AMI ID をポイントする AWS Systems Manager パラメータを選択することができます。オートメーションコードを使用してインスタンスを作成する場合は、AMI ID の代わりに Systems Manager パラメータを指定できます。

Systems Manager パラメータは、Systems Manager パラメータストアで作成できるユーザー定義のキーと値のペアです。パラメータストアは、アプリケーションの設定値を外部化するための一元的なストアを提供します。詳細については、AWS Systems Manager ユーザーガイドの「AWS Systems Manager Parameter Store」を参照してください。

AMI ID をポイントするパラメータを作成する場合は、データ型に aws:ec2:image を指定してください。このデータ型により、パラメータの作成時または変更時にパラメータ値が AMI ID として検証されます。詳細については、AWS Systems Manager ユーザーガイドの「Amazon マシンイメージ ID のパラメータのネイティブサポート」を参照してください。

ユースケース

Systems Manager パラメータを使用して AMI ID をポイントすることで、ユーザーがインスタンスの作成時に適切な AMI を選択することが容易になり、オートメーションコードの保守を簡素化できます。

ユーザーの利便性の向上

特定の AMI を使用してインスタンスを作成する必要があり、その AMI を定期的に更新する場合は、AMI を見つけるために Systems Manager パラメータを選択するようにユーザーに求めることをお勧めします。ユーザーに Systems Manager パラメータを選択するように求めることで、インスタンスの作成に最新の AMI が確実に使用されるようにすることができます。

たとえば、組織内で毎月最新のオペレーティングシステムとアプリケーションパッチが適用された AMI の新しいバージョンを作成するとします。また、ユーザーに最新バージョンの AMI を使用してインスタンスを作成するように求めるとします。ユーザーに最新バージョンを確実に使用させるには、適切な AMI ID をポイントする Systems Manager パラメータ (例: golden-ami など) を作成することができます。新しいバージョンの AMI を作成するたびに、パラメータの AMI ID の値を更新して常に最新の AMI をポイントするようにします。ユーザーは毎回同じ Systems Manager パラメータを選択し続けるため、AMI の定期的な更新について知る必要はありません。ユーザーに Systems Manager パラメータを選択させることにより、インスタンスの作成に適切な AMI を選択することが容易になります。

オートメーションコードの保守の簡素化

オートメーションコードを使用してインスタンスを作成する場合は、AMI ID の代わりに Systems Manager パラメータを指定できます。新しいバージョンの AMI を作成したら、パラメータの AMI ID の値を変更して最新の AMI をポイントするようにします。パラメータを参照するオートメーションコードは、新しいバージョンの AMI を作成するたびに修正する必要はありません。これにより、オートメーションの保守が大幅に簡素化されるため、デプロイのコストの削減に役立ちます。

注記

実行中のインスタンスは、Systems Manager パラメータがポイントする AMI ID を変更しても影響を受けません。

Systems Manager パラメータを使用したインスタンスの起動

コンソールまたは AWS CLI を使用してインスタンスを作成できます。AMI ID を指定する代わりに、AMI ID をポイントする AWS Systems Manager パラメータを指定できます。

Systems Manager パラメータを使用して、Linux/ AMI を検索するには (コンソール)

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションバーから、インスタンスを起動するリージョンを選択します。お客様は場所に関係なく、使用できるリージョンをどれでも選択できます。

  3. コンソールダッシュボードで [インスタンスの作成] を選択します。

  4. [Search by Systems Manager parameter (Systems Manager パラメータで検索)] (右上) を選択します。

  5. [Systems Manager parameter (Systems Manager パラメータ)] でパラメータを選択します。対応する AMI ID が [Currently resolves to (現在対応するもの)] の横に表示されます。

  6. [検索] を選択します。AMI ID に一致する AMI がリストに表示されます。

  7. リストから AMI を選択し、[Select (選択)] を選択します。

Launch Wizard を使用した AMI からのインスタンスの作成の詳細については、「ステップ 1: Amazon Machine Image (AMI) を選択する」を参照してください。

AMI ID の代わりに AWS Systems Manager パラメータを使用してインスタンスを作成するには (AWS CLI)

次の例では、Systems Manager パラメータの golden-ami を使用して m5.xlarge インスタンスを作成します。このパラメータは AMI ID をポイントします。

このパラメータをコマンドで指定するには、resolve:ssm:/parameter-name 構文を使用します。この場合、resolve:ssm は標準のプレフィックス、parameter-name は一意のパラメータ名です。パラメータ名では、大文字と小文字が区別されることに注意してください。パラメータ名のバックスラッシュは、パラメータが階層の一部である場合にのみ必要です (例: /amis/production/golden-ami)。パラメータが階層の一部でない場合は、バックスラッシュを省略できます。

この例では、--count パラメータと --security-group パラメータは含まれていません。--count はデフォルトで 1 になります。デフォルトの VPC とデフォルトのセキュリティグループがある場合は、これらが使用されます。

aws ec2 run-instances --image-id resolve:ssm:/golden-ami --instance-type m5.xlarge ...

特定のバージョンの AWS Systems Manager パラメータを使用してインスタンスを作成するには (AWS CLI)

Systems Manager パラメータでは、バージョンがサポートされています。パラメータの各バージョンには、一意のバージョン番号が割り当てられます。パラメータのバージョンは、resolve:ssm:parameter-name:version のように参照できます。version は一意のバージョン番号です。デフォルトでは、パラメータのバージョンを指定しない場合は最新バージョンが使用されます。

次の例では、バージョン 2 のパラメータを使用します。

この例では、--count パラメータと --security-group パラメータは含まれていません。--count はデフォルトで 1 になります。デフォルトの VPC とデフォルトのセキュリティグループがある場合は、これらが使用されます。

aws ec2 run-instances --image-id resolve:ssm:/golden-ami:2 --instance-type m5.xlarge ...

AWS が提供するパブリックパラメータを使用してインスタンスを起動するには

Amazon EC2 では、AWS が提供するパブリック AMI 用の Systems Manager パブリックパラメータを使用できます。たとえば、パブリックパラメータ /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 はすべてのリージョンで利用でき、常にリージョン内の Amazon Linux 2 AMI の最新バージョンを指しています。

aws ec2 run-instances --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --instance-type m5.xlarge ...

Permissions

インスタンスの作成ウィザードで AMI ID をポイントする Systems Manager パラメータを使用する場合は、IAM ポリシーに ssm:DescribeParametersssm:GetParameters を追加する必要があります。ssm:DescribeParameters は、IAM ユーザーに Systems Manager パラメータを表示および選択するアクセス許可を付与します。ssm:GetParameters は、IAM ユーザーに Systems Manager パラメータの値を取得するアクセス許可を付与します。また、特定の Systems Manager パラメータへのアクセスを制限することもできます。詳細については、「EC2 起動ウィザードの使用」を参照してください。

Limitations

AMI と Systems Manager パラメータはリージョンに固有です。リージョン間で同じ Systems Manager パラメータ名を使用するには、それぞれのリージョンで同じ名前の Systems Manager パラメータを作成します (例: golden-ami など)。それぞれのリージョンの Systems Manager パラメータでそのリージョンの AMI をポイントします。