最新の ECS に最適化された AMI を取得する方法を教えてください

2024.05.23

困っていた内容

ECS on EC2 で、コンテナを実行しています。
コンテナインスタンスに ECS に最適化された AMI を使用していますが、最新版の AMI に更新したいです。
最新の ECS に最適化された AMI の AMI ID を確認する方法を教えてください。

どう対応すればいいの?

パブリックパラメータを確認してください。

確認コマンド例

# Amazon Linux 2023 AMI ベースの場合
$ aws ssm get-parameters \
    --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended/image_id \
    --query "Parameters[0].Value"

"ami-0a09fe686e5ce143c"

最新の ECS に最適化された AMI の AMI ID は AWS Systems Manager のパブリックパラメータとして公開されています。

パラメータはベースとなる OS 等の種類毎に最新版が提供され、パラメータ名を変えると AMI のメタデータも取得できます。

コマンド一例

# Amazon Linux 2023 (arm64)
$ aws ssm get-parameters \
    --names /aws/service/ecs/optimized-ami/amazon-linux-2023/arm64/recommended/image_id \
    --query "Parameters[0].Value"

# Amazon Linux 2
$ aws ssm get-parameters \
    --names /aws/service/ecs/optimized-ami/amazon-linux-2/kernel-5.10/recommended/image_id \
    --query "Parameters[0].Value"

# Windows Server 2022 Full
$ aws ssm get-parameters \
    --names /aws/service/ami-windows-latest/Windows_Server-2022-English-Full-ECS_Optimized/image_id \
    --query "Parameters[0].Value"

メタデータの取得コマンド例

$ aws ssm get-parameters \
    --names /aws/service/ecs/optimized-ami/amazon-linux-2023/recommended
{
    "Parameters": [
        {
            "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2023/recommended",
            "Type": "String",
            "Value": "{\"ecs_agent_version\":\"1.82.4\",\"ecs_runtime_version\":\"Docker version 25.0.3\",\"image_id\":\"ami-0a09fe686e5ce143c\",\"image_name\":\"al2023-ami-ecs-hvm-2023.0.20240515-kernel-6.1-x86_64\",\"image_version\":\"2023.0.20240515\",\"os\":\"Amazon Linux 2023\",\"schema_version\":1,\"source_image_name\":\"al2023-ami-minimal-2023.4.20240513.0-kernel-6.1-x86_64\"}",
            "Version": 37,
            "LastModifiedDate": "2024-05-21T00:07:40.823000+09:00",
            "ARN": "arn:aws:ssm:ap-northeast-1::parameter/aws/service/ecs/optimized-ami/amazon-linux-2023/recommended",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}

参考資料