handson(light): aws cli output

1.2.7. AMIの情報抽出 (JMESPath: join関数 CSV形式)

手順の目的

AMI情報のうち、特定の部分を抽出します。

設定値の指定

手順に必要な設定値を変数に格納をします。

0. リージョン

リージョンを指定します。

環境変数の設定:

export AWS_DEFAULT_REGION='ap-northeast-1'

設定値の確認

各変数に正しい設定値が格納されていることを確認します。

変数の確認:

cat << END

  # 0. AWS_DEFAULT_REGION:"ap-northeast-1"
       AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}"

END

各変数について、上の行と下の行の値の内容もしくは形式が同じであることを確認します。 もし異なる場合は、それぞれの手順番号に戻って変数の設定を行います。

処理の実行

(特になし)

AWS CLIリソースの作成

情報を取得し、CSV形式で出力します。

コマンド:

aws ec2 describe-images \
  --owner amazon \
  --filters Name=state,Values=available \
            Name=image-type,Values=machine \
            Name=hypervisor,Values=xen \
            Name=virtualization-type,Values=hvm \
            Name=architecture,Values=x86_64 \
            Name=root-device-type,Values=ebs \
            Name=root-device-name,Values=/dev/xvda \
            Name=block-device-mapping.device-name,Values=/dev/xvda \
  --query "Images[].[join(\`\`,[Name, \`,\`, ImageId, \`,\`, to_string(DeprecationTime)])]" \
  --output text

結果(例):

amzn-ami-vpc-nat-2018.03.0.20211222.0-x86_64-ebs,ami-0c4ca5427191f8993,2023-12-23T02:13:01.000Z
Cloud9AmazonLinux2-2021-02-01T12-44,ami-03d242484dde82a57,2023-02-01T13:45:57.000Z
Cloud9AmazonLinux2-2022-02-24T14-45,ami-004a0b442466e879b,2024-02-24T15:19:51.000Z
Cloud9AmazonLinux2-2022-03-09T18-46,ami-0a1a1057254ac2dd3,2024-03-09T19:22:59.000Z
Cloud9Default-2022-01-17T12-55,ami-0c88f04bcd0150a19,2024-01-17T13:30:30.000Z
Cloud9Default-2020-10-05T10-26,ami-0b8ebd40cb95df2bf,2022-10-05T11:23:24.000Z
amzn-ami-vpc-nat-2018.03.0.20211201.0-x86_64-ebs,ami-08219c3a94ae861a2,2023-12-01T20:37:58.000Z

(略)

完了確認

「AMI情報のうち、特定の部分を抽出することができている。」ことを確認します。

注釈

処理の実行で取得できていればOKです。

手順の完了