2

最新のamazon-ecsに最適化された特定の領域のイメージのEC2 ami IDを取得する必要があります。 ami-idを選択するために使用できるスクリプトまたはapiはありますか?新しいクラスタを作成するときに提供しますか?最新のamazon-ecsに最適化されたイメージのami-idを提供するスクリプトまたはapi

Create Cluster page in AWS Console

彼らは最新のAMIを使用してコンソールを更新したら、私は私のスクリプトを更新する必要はありませんように。

答えて

1

AWSコマンドラインインターフェイス(CLI)を使用してami-idを取得できます。 api describe-imagesには、利用可能な画像が記載されています。 amazon-ecsに最適化された画像のオーナーIDは591542846629です。

次のスクリプトは、ap-northeast-1の最新のamazon-ecs-optimizedイメージIDを返します。

name=$(aws --region ap-northeast-1 ec2 describe-images \ 
    --owners 591542846629| awk -F ': ' '/"Name"/ { print $2 | "sort" }' \ 
    | tr -d '",' | grep -v rc |tail -1) 

ami_id=$(aws --region ap-northeast-1 ec2 describe-images --owners 591542846629 \ 
     --filters Name=name,Values="$name" \ 
    | awk -F ': ' '/"ImageId"/ { print $2 }' | tr -d '",') 

echo $ami_id 
1

私はjqインストール意思を検索し、簡単に、より信頼性の高い並べ替えがあります。

aws --region ap-northeast-1 ec2 describe-images \ 
    --owners 591542846629 | \ 
    jq '.Images[] | {Name, ImageId} | select(.Name | contains("amazon-ecs-optimized"))' | \ 
    jq -s 'sort_by(.Name) | reverse | .[0].ImageId' -r 

を私はまた、この所有者はより多くの画像の種類を追加する場合の基本的な名前の一致を使用しています。

0

すべてのAMIをメタデータと日付で印刷してから選択する方が安全です。 AWS CLIは返されるAMIの数を制限します。

これは私のものですが、上記と似ていますが、いくつかのフィルタがありますが、いくつかのオプションを同じ意味で置き換えています。前の例のすべてがJQおよび/またはパイプに依存しているので、純粋に、AWS CLIを使用しています

# Owners 
owners=amazon 
owners=aws-marketplace 
owners=591542846629 # AMZN ECS 
owners=microsoft 

# AMI Regions 
region=us-west-2 
region=eu-central-1 

# Amazon AMI - ECS 
owners=591542846629 
type="amazon-ecs-optimized" 
aws ec2 describe-images \ 
--region ${region} \ 
--filters "Name=virtualization-type,Values=hvm" "Name=root-device-type,Values=ebs" \ 
--owners "${owners}" | jq -r '.Images[] | "\(.CreationDate) \(.Name) \(.ImageId)"' | grep "${type}" | sort -r | head 
0

つ以上。主にJason Hainesのコメントhereから取られています。

aws ec2 describe-images --owner amazon --filters 'Name=name,Values=amzn-ami-????.??.?-amazon-ecs-optimized' 'Name=state,Values=available' --query 'sort_by(Images, &CreationDate) | [-1].ImageId' --output text 
関連する問題