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

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

異なる Amazon ECS-optimized AMI の AMI ID、イメージ名、オペレーティングシステム、コンテナエージェントバージョン、ランタイムバージョンをプログラムで取得するには、SSM パラメータストア API をクエリします。SSM パラメータストア 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-optimized Amazon Linux AMI メタデータ:

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

    /aws/service/ecs/optimized-ami/<os family>/<os version>/<os locale>/<os sku>/<version>

以下のパラメータ名の形式は、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 Windows AMI メタデータ:

    /aws/service/ecs/optimized-ami/windows_server/2016/english/full/2018.03.26

注記

すべてのバージョンの Amazon ECS-optimized Amazon Linux 2 AMI を取得できます。Amazon ECS に最適化された AMI バージョン amzn-ami-2017.09.l-amazon-ecs-optimized (Linux) および Windows_Server-2016-English-Full-ECS_Optimized-2018.03.26 (Windows) 以降のみ取得できます。詳細については、「Amazon ECS-Optimized Amazon Linux 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

    出力:

    {
        "Parameters": [
            {
                "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/recommended",
                "Type": "String",
                "Value": "{\"schema_version\":1,\"image_name\":\"amzn2-ami-ecs-hvm-2.0.20181017-x86_64-ebs\",\"image_id\":\"ami-0a6be20ed8ce1f055\",\"os\":\"Amazon Linux 2\",\"ecs_runtime_version\":\"Docker version 18.06.1-ce\",\"ecs_agent_version\":\"1.21.0\"}",
                "Version": 1,
                "LastModifiedDate": 1539908415.817,
                "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/recommended"
            }
        ],
        "InvalidParameters": []
    }
  • 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

    出力:

    {
        "Parameters": [
            {
                "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/arm64/recommended",
                "Type": "String",
                "Value": "{\"schema_version\":1,\"image_name\":\"amzn2-ami-ecs-hvm-2.0.20181120-arm64-ebs\",\"image_id\":\"ami-053b2a8c2f3e87928\",\"os\":\"Amazon Linux 2\",\"ecs_runtime_version\":\"Docker version 18.06.1-ce\",\"ecs_agent_version\":\"1.22.0\"}",
                "Version": 1,
                "LastModifiedDate": 1542745522.454,
                "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/arm64/recommended"
            }
        ],
        "InvalidParameters": []
    }
  • Amazon ECS-optimized Amazon Linux AMI の場合:

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

    出力:

    {
        "Parameters": [
            {
                "Name": "/aws/service/ecs/optimized-ami/amazon-linux/recommended",
                "Type": "String",
                "Value": "{\"schema_version\":1,\"image_name\":\"amzn-ami-2018.03.h-amazon-ecs-optimized\",\"image_id\":\"ami-07eb698ce660402d2\",\"os\":\"Amazon Linux\",\"ecs_runtime_version\":\"Docker version 18.06.1-ce\",\"ecs_agent_version\":\"1.21.0\"}",
                "Version": 11,
                "LastModifiedDate": 1539892113.403,
                "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ecs/optimized-ami/amazon-linux/recommended"
            }
        ],
        "InvalidParameters": []
    }
  • Amazon ECS-optimized Windows AMI の場合:

    aws ssm get-parameters --names /aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended --region us-east-1

    出力:

    {
        "Parameters": [
            {
                "Name": "/aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended",
                "Type": "String",
                "Value": "{\"image_name\":\"Windows_Server-2016-English-Full-ECS_Optimized-2018.09.19\",\"os\":\"Windows_Server-2016-English-Full\",\"schema_version\":1,\"ecs_runtime_version\":\"Docker version 18.03.1-ee-3, build b9a5c95\",\"ecs_agent_version\":\"1.20.2\",\"image_id\":\"ami-0711d16ae98c1422d\"}",
                "Version": 8,
                "LastModifiedDate": 1537942304.061,
                "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended"
            }
        ],
        "InvalidParameters": []
    }
  • Amazon ECS-optimized Windows AMI の場合: AWS PowerShell を使用して

    Get-SSMParameter -Name /aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended/image_id -region us-east-1

    出力:

    Name                                                                                 Type   Value        Version
    ----                                                                                 ----   -----        -------
    /aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended/image_id String ami-4734a738 3

例 特定の 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-Optimized Amazon Linux 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

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

SSM 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

出力:

{
    "Parameters": [
        {
            "Name": "/aws/service/ecs/optimized-ami/amazon-linux/recommended/image_id",
            "Type": "String",
            "Value": "ami-07eb698ce660402d2",
            "Version": 10,
            "LastModifiedDate": 1539892113.519,
            "ARN": "arn:aws:ssm:us-east-1::parameter/aws/service/ecs/optimized-ami/amazon-linux/recommended/image_id"
        }
    ],
    "InvalidParameters": []
}

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"

出力:

"ami-f9ac2f86"

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

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

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

Windows:

Parameters: ECSAMI: Description: AMI ID Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id> Default: /aws/service/ecs/optimized-ami/windows_server/2016/english/full/recommended/image_id