Amazon ECS に最適化された Linux AMI メタデータを取得する - Amazon Elastic Container Service

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 --region us-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 --region us-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 --region us-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