Amazon ECS に最適化された Linux AMI メタデータを取得する
Amazon ECS に最適化された AMI のメタデータをプログラムで取得できます。メタデータには、AMI 名、Amazon ECS コンテナエージェントバージョン、Docker バージョンを含む ECS ランタイムバージョンなどが入っています。
コンソールを使用してクラスターを作成すると、Amazon ECS は選択したオペレーティングシステムに関連付けられた最新の AMI を使用してインスタンスの起動テンプレートを作成します。
AWS CloudFormation を使用してクラスターを作成する場合、SSM パラメータは Auto Scaling グループインスタンスの Amazon EC2 起動テンプレートの一部となります。動的な Systems Manager パラメータを使用して、デプロイする Amazon ECS Optimized AMI を決定するようにテンプレートを設定できます。このパラメータにより、スタックをデプロイするたびに、EC2 インスタンスに適用する必要がある利用可能な更新があるかどうかがチェックされます。Systems Manager パラメータの使用方法の例については、「AWS CloudFormation ユーザーガイド」の「Create an Amazon ECS cluster with the Amazon ECS-optimized Amazon Linux 2023 AMI」を参照してください。
Amazon ECS に最適化された AMI の各バリアントの AMI ID、イメージ名、オペレーティングシステム、コンテナエージェントバージョン、ソースイメージ名、ランタイムバージョンは、Systems Manager Parameter Store API にクエリすることでプログラムで取得できます。Systems Manager パラメータストア API の詳細については、「GetParameters」および「GetParametersByPath」を参照してください。
注記
Amazon ECS に最適化された AMI メタデータを取得するには、管理ユーザーに次の IAM アクセス権限が必要です。AmazonECS_FullAccess
IAM ポリシーには、次の許可が追加されています。
-
ssm:GetParameters
-
ssm:GetParameter
-
ssm:GetParametersByPath
Systems Manager パラメータストアのパラメータフォーマット
以下は、各 Amazon ECS に最適化された AMI バリアントのパラメータ名のフォーマットです。
Linux Amazon ECS に最適化された AMI
-
Amazon Linux 2023 AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2023/
<version>
-
Amazon Linux 2023 (arm64) AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/
<version>
-
Amazon Linux 2023 (Neuron) AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/
<version>
-
Amazon Linux 2 AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/
<version>
-
Amazon Linux 2 カーネル 5.10 AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/
<version>
-
Amazon Linux 2 (arm64) AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/arm64/
<version>
-
Amazon Linux 2 カーネル 5.10 (arm64) AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/
<version>
-
Amazon ECS GPU に最適化されたカーネル 5.10 AMI のメタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/
<version>
-
Amazon Linux 2 (GPU) AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/gpu/
<version>
-
Amazon ECS に最適化された Amazon Linux 2 (Neuron) カーネル 5.10 AMI のメタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/
<version>
-
Amazon Linux 2 (Neuron) AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/inf/
<version>
以下のパラメータ名の形式は、サブパラメータ image_id
を使用して、安定している最新の Amazon ECS に最適化された Amazon Linux 2 AMI のイメージ ID を取得します。
/aws/service/ecs/optimized-ami/amazon-linux-2/
recommended/image_id
以下のパラメータ名の形式は、AMI 名を指定して、特定の Amazon ECS に最適化された AMI バージョンのメタデータを取得します。
-
Amazon ECS に最適化された Amazon Linux 2 AMI メタデータ:
/aws/service/ecs/optimized-ami/amazon-linux-2/
amzn2-ami-ecs-hvm-2.0.20181112-x86_64-ebs
注記
Amazon ECS に最適化された Amazon Linux 2 AMI のすべてのバージョンを取得できます。Amazon ECS に最適化された AMI バージョン amzn-ami-2017.09.l-amazon-ecs-optimized
(Linux) 以降のみ取得できます。
例
以下の例は、それぞれの Amazon ECS に最適化された AMI バリアントのメタデータを取得する方法を示しています。
安定している最新の Amazon ECS に最適化された AMI メタデータを取得する
安定している最新の Amazon ECS に最適化された AMI を取得するには、AWS CLI で次の AWS CLI コマンドを使用します。
Linux Amazon ECS に最適化された AMI
-
Amazon ECS 最適化 Amazon Linux 2023 AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended --region
us-east-1
-
Amazon ECS 最適化 Amazon Linux 2023 (arm64) AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/recommended --region
us-east-1
-
Amazon ECS に最適化された Amazon Linux 2023 (Neuron) AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended --region
us-east-1
-
Amazon ECS に最適化された Amazon Linux 2 カーネル 5.10 AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended --region
us-east-1
-
Amazon ECS に最適化された Amazon Linux 2 AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended --region
us-east-1
-
Amazon ECS に最適化された Amazon Linux 2 カーネル 5.10 (arm64) AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/arm64/recommended --region
us-east-1
-
Amazon ECS に最適化された Amazon Linux 2 (arm64) AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/recommended --region
us-east-1
-
Amazon ECS GPU に最適化されたカーネル 5.10 AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/gpu/recommended --region
us-east-1
-
Amazon ECS GPU に最適化された AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region
us-east-1
-
Amazon ECS に最適化された Amazon Linux 2 (Neuron) カーネル 5.10 AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/inf/recommended --region
us-east-1
-
Amazon ECS 最適化 Amazon Linux 2 (Neuron) AMI の場合:
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/inf/recommended --region
us-east-1
推奨される最新の Amazon ECS に最適化された Amazon Linux 2023 AMI のイメージ ID を取得する
推奨される最新の Amazon ECS に最適化された Amazon Linux 2023 AMI ID のイメージ ID を取得するには、サブパラメータ image_id
を使用します。
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/
recommended/image_id
--regionus-east-1
image_id
値のみを取得するには、特定のパラメータ値のみのクエリを行うことができます。次に例を示します。
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/
image_id
--region us-east-1 --query "Parameters[0].Value
"
Amazon ECS に最適化された特定の Amazon Linux 2 AMI バージョンのメタデータを取得する
Amazon ECS に最適化された特定の Amazon Linux AMI バージョンのメタデータを取得するには、AWS CLI で次の AWS CLI コマンドを使用します。AMI 名を、Amazon ECS に最適化された Amazon Linux AMI の名前と置き換えます。
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/
amzn2-ami-ecs-hvm-2.0.20200928-x86_64-ebs
--regionus-east-1
Systems Manager の GetParametersByPath API を使用した Amazon ECS に最適化された Amazon Linux 2 カーネル 5.10 AMI メタデータの取得
Systems Manager の GetParametersByPath API を使用して、Amazon ECS に最適化された Amazon Linux 2 AMI メタデータを取得します。AWS CLI で次のコマンドを使用します。
aws ssm get-parameters-by-path --path /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/ --region
us-east-1
推奨される最新の Amazon ECS に最適化された Amazon Linux 2 カーネル 5.10 AMI のイメージ ID を取得する
サブパラメータ image_id
を使用することで、推奨される最新の Amazon ECS に最適化された Amazon Linux 2 カーネル 5.10 AMI ID のイメージ ID を取得できます。
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/
recommended/image_id
--regionus-east-1
image_id
値のみを取得するには、特定のパラメータ値のみのクエリを行うことができます。次に例を示します。
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/
image_id
--region us-east-1 --query "Parameters[0].Value
"
AWS CloudFormation テンプレートの推奨される最新の Amazon ECS に最適化された AMI を使用する
Systems Manager パラメータストア名を参照することにより、AWS CloudFormation テンプレートで推奨される最新の Amazon ECS に最適化された AMI を参照できます。
Linux の例
Parameters:kernel-5.10 LatestECSOptimizedAMI: Description: AMI ID Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id> Default:
/aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id