Amazon Elastic Container Service
開発者ガイド (API バージョン 2014-11-13)

Amazon ECS-Optimized AMI メタデータの取得

異なる Amazon ECS-optimized AMI の AMI ID、イメージ名、オペレーティングシステム、コンテナエージェントバージョン、ランタイムバージョンをプログラムで取得するには、Systems Manager パラメータストア API をクエリします。Systems Manager パラメータストア API の詳細については、「GetParameters」および「GetParametersByPath」を参照してください。

注記

Amazon ECS-optimized AMI メタデータを取得するには、ご使用のユーザーアカウントに次の IAM アクセス許可が必要です。IAM の AmazonECS_FullAccess ポリシーには、次のアクセス権限が追加されています。

  • ssm:GetParameters

  • ssm:GetParameter

  • ssm:GetParametersByPath

パラメータ名の形式は次のとおりです。

  • Amazon ECS-optimized Amazon Linux 2 AMI メタデータ:

    /aws/service/ecs/optimized-ami/amazon-linux-2/<version>
  • Amazon ECS-optimized Amazon Linux 2 (arm64) AMI メタデータ:

    /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/<version>
  • Amazon ECS GPU-optimized AMI メタデータ:

    /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/<version>
  • Amazon ECS-optimized Amazon Linux AMI メタデータ:

    /aws/service/ecs/optimized-ami/amazon-linux/<version>
  • Amazon ECS-optimized Windows 2019 Full AMI メタデータ:

    /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized
  • Amazon ECS-optimized Windows 2016 Full AMI メタデータ:

    /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized

以下のパラメータ名の形式は、recommended を使用して、安定している最新の Amazon ECS-optimized Amazon Linux 2 AMI のメタデータを取得します。

/aws/service/ecs/optimized-ami/amazon-linux-2/recommended

以下は、パラメータ値で返る JSON オブジェクトの例です。

{
	"schema_version": 1,
	"image_name": "amzn2-ami-ecs-hvm-2.0.20181017-x86_64-ebs",
	"image_id": "ami-04a4fb062c609f55b",
	"os": "Amazon Linux 2",
	"ecs_runtime_version": "Docker version 18.06.1-ce",
	"ecs_agent_version": "1.21.0"
}

上記の出力の各フィールドは、サブパラメータとしてクエリに利用できます。サブパラメータのパラメータパスを構築するには、選択した AMI のパスにサブパラメータ名を追加します。以下のサブパラメータが利用可能です。

  • schema_version

  • image_id

  • image_name

  • os

  • ecs_agent_version

  • ecs_runtime_version

以下のパラメータ名の形式は、サブパラメータ image_id を使用して、安定している最新の Amazon ECS-optimized Amazon Linux 2 AMI のイメージ ID を取得します。

/aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id

以下のパラメータ名の形式は、AMI 名を指定して特定の Amazon ECS-optimized AMI バージョンのメタデータを取得します。

  • Amazon ECS-optimized Amazon Linux 2 AMI メタデータ:

    /aws/service/ecs/optimized-ami/amazon-linux-2/amzn2-ami-ecs-hvm-2.0.20181112-x86_64-ebs
  • Amazon ECS-optimized Amazon Linux 2 (arm64) AMI メタデータ:

    /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/amzn2-ami-ecs-hvm-2.0.20181120-arm64-ebs
  • Amazon ECS-optimized Amazon Linux AMI メタデータ:

    /aws/service/ecs/optimized-ami/amazon-linux/amzn-ami-2017.09.l-amazon-ecs-optimized

注記

すべてのバージョンの Amazon ECS-optimized Amazon Linux 2 AMI を取得できます。Amazon ECS に最適化された AMI バージョン amzn-ami-2017.09.l-amazon-ecs-optimized (Linux) および 以降のみ取得できます。詳細については、「Amazon ECS 最適化 AMI バージョン」を参照してください。

例 安定している最新の Amazon ECS-optimized AMI メタデータを取得する

安定している最新の Amazon ECS-optimized AMI メタデータを取得するには、AWS CLI で次の AWS CLI コマンドを使用します。

  • Amazon ECS-optimized Amazon Linux 2 AMI の場合:

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended --region us-east-1
  • Amazon ECS-optimized 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-optimized AMI の場合:

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
  • Amazon ECS-optimized Amazon Linux AMI の場合:

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux/recommended --region us-east-1
  • Amazon ECS-optimized Windows 2019 Full AMI の場合:

    aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2019-English-Full-ECS_Optimized --region us-east-1
  • Amazon ECS-optimized Windows 2016 Full AMI の場合:

    aws ssm get-parameters --names /aws/service/ami-windows-latest/Windows_Server-2016-English-Full-ECS_Optimized --region us-east-1

例 特定の Amazon ECS-optimized Amazon Linux AMI バージョンのメタデータを取得する

特定の Amazon ECS-optimized Amazon Linux AMI バージョンのメタデータを取得するには、AWS CLI で次の AWS CLI コマンドを使用します。AMI 名を、取得する Amazon ECS-optimized Amazon Linux AMI の名前と置き換えます。使用できるバージョンの詳細については、「Amazon ECS 最適化 AMI バージョン」を参照してください。

aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux/amzn-ami-2017.09.l-amazon-ecs-optimized --region us-east-1

例 Systems Manager GetParametersByPath API を使用して Amazon ECS-optimized Amazon Linux AMI メタデータを取得する

Systems Manager GetParametersByPath API を使用して Amazon ECS-optimized Amazon Linux AMI メタデータを取得するには、AWS CLI で次のコマンドを使用します。

aws ssm get-parameters-by-path --path /aws/service/ecs/optimized-ami/amazon-linux/ --region us-east-1

例 推奨される最新の Amazon ECS-optimized Amazon Linux AMI のイメージ ID を取得する

推奨される最新の Amazon ECS-optimized Amazon Linux AMI ID のイメージ ID を取得するには、サブパラメータ image_id を使用します。

aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux/recommended/image_id --region us-east-1

image_id 値のみを取得するには、特定のパラメータ値のみのクエリを行うことができます。次に例を示します。

aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux/recommended/image_id --region us-east-1 --query "Parameters[0].Value"

例 AWS CloudFormation テンプレートで推奨される最新の Amazon ECS-optimized AMI を使用する

AWS CloudFormation テンプレートで推奨される最新の Amazon ECS-optimized AMI を取得するには、Systems Manager パラメータストア名を参照します。次に例を示します。

Amazon Linux 2:

Parameters: ECSAMI: Description: AMI ID Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id> Default: /aws/service/ecs/optimized-ami/amazon-linux-2/recommended/image_id

注記

AWS CloudFormation テンプレートでの Amazon ECS 最適化 Windows AMI の参照はサポートされていません。