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 の検索」を参照してください。https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/finding-an-ami.html

Ubuntu AMI の検索方法については、「EC2 AMI ロケータ」を参照してください。

RedHat AMI の検索方法については、RHEL ナレッジベース記事を参照してください。

Amazon EC2 コンソールを使用した Linux AMI の検索

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

インスタンス起動ウィザードを使用して Linux AMI を検索するには

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

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

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

  4. (新しいコンソール) [Application and OS Images (Amazon Machine Image)] (アプリケーションと OS イメージ (Amazon マシンイメージ)にある [Quick Start] (クイックスタート) を選択して、インスタンスのオペレーティングシステム (OS) を選択し、その後[Amazon Machine Image (AMI)] (Amazon マシンイメージ (AMI)) で、よく使用されている AMI のいずれかをリストから選択します。必要な AMI が表示されていない場合は、[Browser more AMIs] (その他の AMI を閲覧) を選択して、AMI の全カタログを参照します。詳細については、アプリケーションと OS イメージ (Amazon マシンイメージ) を参照してください。

    (旧コンソール) [Quick Start] (クイックスタート) タブで、よく使用されている AMI のいずれかをリストから選択します。使用する AMI が表示されていない場合は、[My AMIs] (マイ AMI)、[AWS Marketplace][Community AMIs] (コミュニティ AMI) のいずれかのタブを開き、目的の AMI を探します。詳細については、ステップ 1: Amazon Machine Image (AMI) を選択する を参照してください。

AMI ページを使用して Linux AMI を検索するには

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

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

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

  4. (オプション) フィルターと検索オプションを使用すると、表示される AMI を限定して、条件に一致する AMI のみを表示できます。例えば、AWS が提供するすべての Linux AMI を表示するには、[Public images] (パブリックイメージ) をクリックします。次に、検索オプションを使用して、AMI のリストに表示される範囲を指定します。

    (新しいコンソール) [Search] (検索) バーをクリックし、メニューから [Owner alias] (所有者エイリアス)、[=] 演算子の順に選択し、値として [Amazon] を選択します。検索バーをもう一度クリックし、[Platform] (プラットフォーム)、[=] 演算子の順に選択し、表示されたリストからオペレーティングシステムを選択します。

    (旧コンソール) [Search] (検索) バーを選択し、メニューから [Owner] (所有者)、次に値として[Amazon images] (Amazon イメージ) を選択します。[Search] (検索) バーをもう一度選択し、[Platform] (プラットフォーム) を選択します。次に、表示されたリストからオペレーティングシステムを選択します。

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

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

  7. この AMI からインスタンスを起動するには、インスタンスを選択し、[Launch instance from image] (イメージからインスタンスを起動) (新コンソール) または [Launch] (起動) (旧コンソール) を選択します。コンソールを使用してインスタンスを起動する方法については、新しいインスタンス起動ウィザードを使用してインスタンスを起動する を参照してください。まだインスタンスを起動する準備ができていない場合は、後で使用するために AMI ID を記録します。

AWS CLI を使用した AMI の検索

Amazon EC2 の AWS Systems Manager コマンドを使用すると、要件に一致する Linux AMI のみを表示できます。要件に一致する AMI が見つかったら、インスタンスの起動に使用できるようにその ID をメモしておきます。詳細については、[AWS Command Line Interface User Guide] (ユーザーガイド) の[Launch your instance] (インスタンスを起動) を参照してください。

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 を簡単に選択できるようになります。Systems Manager パラメータにより、オートメーションコードのメンテナンスを簡素化することもできます。

ユーザーの利便性の向上

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

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

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

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

注記

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

許可

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

制約事項

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

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

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

New console

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

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

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

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

  4. [Application and OS Images (Amazon Machine Image)] (アプリケーションおよび OS イメージ (Amazon マシンイメージ)) で、[Browse more AMIs] (その他の AMI を閲覧する) を選択します。

  5. 検索バーの右側にある矢印ボタンを選択し、[Search by Systems Manager parameter] (Systems Manager パラメータで検索) を選択します。

  6. [Systems Manager parameter (Systems Manager パラメータ)] でパラメータを選択します。対応する AMI ID が [Currently resolves to] (現在、以下に解決されています) の下に表示されます。

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

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

インスタンス起動ウィザードを使用してインスタンスを起動する方法の詳細については、「新しいインスタンス起動ウィザードを使用してインスタンスを起動する」を参照してください。

Old console

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 (選択)] を選択します。

インスタンス起動ウィザードを使用して 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 ...