こんにちは、Aireです。
今回はAmazon EC2で利用可能なOSイメージを、AWS CLIを使用して検索する方法を紹介します。
AWS CLIでOSイメージを表示する
AWS CLIを使用してaws ec2 describe-images
コマンドを実行すると、利用可能なOSイメージを表示できます。
<実行例>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ aws ec2 describe-images \ --region ap-northeast-1 --owners amazon \ --filters "Name=name,Values=RHEL-8.6.0_HVM-*x86*" \ --query "Images[].{id:ImageId,date:CreationDate,name:Name,owner:ImageOwnerAlias,ownerid:OwnerId}" \ --output table ---------------------------------------------------------------------------------------------------------------------------------- | DescribeImages | +--------------------------+------------------------+-------------------------------------------------+---------+----------------+ | date | id | name | owner | ownerid | +--------------------------+------------------------+-------------------------------------------------+---------+----------------+ | 2023-01-19T21:31:38.000Z| ami-06a0dd9bdeeaccf21 | RHEL-8.6.0_HVM-20230118-x86_64-30-Hourly2-GP2 | amazon | 309956199498 | | 2022-05-05T10:23:52.000Z| ami-0f903fb156f24adbf | RHEL-8.6.0_HVM-20220503-x86_64-2-Hourly2-GP2 | amazon | 309956199498 | | 2023-04-13T19:51:08.000Z| ami-0b3403e37b9d6fb82 | RHEL-8.6.0_HVM-20230411-x86_64-60-Hourly2-GP2 | amazon | 309956199498 | | 2023-03-02T08:28:13.000Z| ami-0e896f3fafff66992 | RHEL-8.6.0_HVM-20230301-x86_64-0-Hourly2-GP2 | amazon | 309956199498 | +--------------------------+------------------------+-------------------------------------------------+---------+----------------+ |
以下、コマンドの実行時に指定するオプションを記載します。(イメージの絞り込みまたは出力に関するオプションのみ記載します)
<オプション>
オプション情報 | 必須/任意 | オプションの説明 |
---|---|---|
--filters | 任意 | 1つ以上の条件(イメージ名など)を指定し、それらの条件を満たすイメージを表示します。指定できる条件の種類は30以上あるため、詳細はaws ec2 describe-images コマンドのAWS CLI Command Reference – Optionsを参照してください。 |
--executable-users | 任意 | イメージのラウンチ権限を持つユーザを指定します。(AWSアカウントID、self またはall (public AMIs)) |
--owners | 任意 | イメージの所有者を指定します。(self 、amazon 、aws-marketplace またはイメージのownerid ) |
--region | 任意 | グローバルオプションの1つ。イメージの共有元となるリージョンを指定します。本オプションを省略した場合、AWS CLIのconfigファイル(~/.aws/config )の設定が適用されます。 |
--query | 任意 | グローバルオプションの1つ。コマンドの結果に対してJMESPathクエリを実行できます。 JMESPathは、CLI の出力からデータを選択して変更できるようにする、JSON用のクエリ言語です。 |
--output | 任意 | グローバルオプションの1つ。実行結果の表示形式を指定します。表示形式の種類は、json/text/tableの3種類です。 |
コマンドの実行結果に含まれる出力情報は20以上あるため、それらの詳細は、aws ec2 describe-images
コマンドのAWS CLI Command Reference – Outputを参照してください。
特定のOSのイメージを新しい順に表示する
各OSのイメージを新しい順に表示するためのコマンド例を紹介します。
各コマンド例では、--executable-users
オプションの引数としてall
を、--owners
オプションの引数としてamazon
を指定しています。
また、--filters
オプションの引数として、1つ目のフィルタリングでは、Name
にname
キーを、Values
に実際のAMI名を参考にしてOSの種類とバージョンを含む文字列(AMI名の一部)を指定しています。2つ目のフィルタリングでは、Name
にarchitecture
キーを、Values
にx86_64
を指定しています。
--query
オプションでは、sort_by
関数とreverse
関数を使用し、AMIの日付または名前で降順にソートしています。また、{id:ImageId, ...}
で出力情報を絞っています。ちなみに:
(コロン)を使用すると配列の一部を抽出可能で、[]
の部分を[:1]
とすると最新のAMIのみ表示できます。
Windows Server
Windows Server 2019
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=Windows_Server-2019-Japanese-Full-Base-*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &Name))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 10 |
---------------------------------------------------------------------------------------------------------------------------- | DescribeImages | +--------------------------+------------------------+-----------------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+-----------------------------------------------------+----------------+ | 2023-06-14T06:34:56.000Z| ami-061fa28897011f9e2 | Windows_Server-2019-Japanese-Full-Base-2023.06.14 | 801119661308 | | 2023-05-11T18:50:23.000Z| ami-077719d185e1d6d0c | Windows_Server-2019-Japanese-Full-Base-2023.05.10 | 801119661308 | | 2023-04-12T06:38:35.000Z| ami-00ff923728e39ebaa | Windows_Server-2019-Japanese-Full-Base-2023.04.12 | 801119661308 | | 2023-03-15T08:38:11.000Z| ami-0b5249d4357dd1dba | Windows_Server-2019-Japanese-Full-Base-2023.03.15 | 801119661308 | +--------------------------+------------------------+-----------------------------------------------------+----------------+ |
Windows Server 2022
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=Windows_Server-2022-Japanese-Full-Base-*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &Name))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 10 |
---------------------------------------------------------------------------------------------------------------------------- | DescribeImages | +--------------------------+------------------------+-----------------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+-----------------------------------------------------+----------------+ | 2023-06-14T05:34:40.000Z| ami-02d019195385b83ae | Windows_Server-2022-Japanese-Full-Base-2023.06.14 | 801119661308 | | 2023-05-11T07:30:43.000Z| ami-0373bd2f6665b3540 | Windows_Server-2022-Japanese-Full-Base-2023.05.10 | 801119661308 | | 2023-04-12T05:59:43.000Z| ami-0a022c6320525bf77 | Windows_Server-2022-Japanese-Full-Base-2023.04.12 | 801119661308 | | 2023-03-15T08:17:44.000Z| ami-0eef1af2b403b66bc | Windows_Server-2022-Japanese-Full-Base-2023.03.15 | 801119661308 | +--------------------------+------------------------+-----------------------------------------------------+----------------+ |
Red Hat Enterprise Linux Server
RHEL 8
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=RHEL-8*_HVM-*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &Name))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 |
------------------------------------------------------------------------------------------------------------------------ | DescribeImages | +--------------------------+------------------------+-------------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+-------------------------------------------------+----------------+ | 2023-05-10T12:47:13.000Z| ami-0dac841de37ad4014 | RHEL-8.8.0_HVM-20230503-x86_64-54-Hourly2-GP2 | 309956199498 | | 2023-03-31T16:04:12.000Z| ami-0c955bbc0d55874fb | RHEL-8.7.0_HVM-20230330-x86_64-56-Hourly2-GP2 | 309956199498 | | 2023-02-20T19:38:46.000Z| ami-0891e3e1134d3eaf7 | RHEL-8.7.0_HVM-20230215-x86_64-13-Hourly2-GP2 | 309956199498 | (…省略…) |
RHEL 9
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=RHEL-9*_HVM-*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &Name))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 |
------------------------------------------------------------------------------------------------------------------------ | DescribeImages | +--------------------------+------------------------+-------------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+-------------------------------------------------+----------------+ | 2023-05-03T17:56:07.000Z| ami-0477d3aed9e98876c | RHEL-9.2.0_HVM-20230503-x86_64-41-Hourly2-GP2 | 309956199498 | | 2023-04-05T21:20:21.000Z| ami-029ecabe07b41311a | RHEL-9.1.0_HVM-20230404-x86_64-54-Hourly2-GP2 | 309956199498 | | 2023-02-23T12:34:21.000Z| ami-0539a3bd22eb244ee | RHEL-9.1.0_HVM-20230222-x86_64-39-Hourly2-GP2 | 309956199498 | (…省略…) |
Ubuntu Server
Ubuntu Server 20.04 LTS
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-*-20.04-*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &CreationDate))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 |
------------------------------------------------------------------------------------------------------------------------------------------- | DescribeImages | +--------------------------+------------------------+--------------------------------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+--------------------------------------------------------------------+----------------+ | 2023-06-16T23:31:03.000Z| ami-0847e1ea99b1fd330 | ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20230616 | 099720109477 | | 2023-06-05T23:41:10.000Z| ami-07fbb3aaaf0388730 | ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20230605 | 099720109477 | | 2023-06-02T23:03:55.000Z| ami-0dd9e06f3181370ff | ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-20230602 | 099720109477 | (…省略…) |
Ubuntu Server 22.04 LTS
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-*-22.04-*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &CreationDate))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 |
------------------------------------------------------------------------------------------------------------------------------------------- | DescribeImages | +--------------------------+------------------------+--------------------------------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+--------------------------------------------------------------------+----------------+ | 2023-06-08T04:38:53.000Z| ami-03baa3575a5f30358 | ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230608 | 099720109477 | | 2023-06-01T03:16:56.000Z| ami-0c16ff0f860575572 | ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230601 | 099720109477 | | 2023-05-16T03:37:07.000Z| ami-0d52744d6551d851e | ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230516 | 099720109477 | (…省略…) |
Amazon Linux
Amazon Linux 2
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=amzn2-ami-hvm-*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &CreationDate))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 |
------------------------------------------------------------------------------------------------------------------ | DescribeImages | +--------------------------+------------------------+-------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+-------------------------------------------+----------------+ | 2023-06-13T22:03:54.000Z| ami-0224c3ca00a6ee32f | amzn2-ami-hvm-2.0.20230612.0-x86_64-gp2 | 137112412989 | | 2023-06-13T22:02:44.000Z| ami-06b33d4abd65831dd | amzn2-ami-hvm-2.0.20230612.0-x86_64-ebs | 137112412989 | | 2023-06-02T19:40:41.000Z| ami-0e4d52202ff18bfea | amzn2-ami-hvm-2.0.20230530.0-x86_64-gp2 | 137112412989 | (…省略…) |
Amazon Linux 2023
<コマンド例>
1 2 3 4 5 |
$ aws ec2 describe-images \ --region ap-northeast-1 --executable-users all --owners amazon \ --filters "Name=name,Values=al2023-ami-2023.*" "Name=architecture,Values=x86_64" \ --query "reverse(sort_by(Images, &CreationDate))[].{id:ImageId,date:CreationDate,name:Name,ownerid:OwnerId}" \ --output table |
<実行結果>
1 2 3 4 5 6 7 8 9 |
------------------------------------------------------------------------------------------------------------------------- | DescribeImages | +--------------------------+------------------------+--------------------------------------------------+----------------+ | date | id | name | ownerid | +--------------------------+------------------------+--------------------------------------------------+----------------+ | 2023-06-09T20:57:31.000Z| ami-0f9816f78187c68fb | al2023-ami-2023.0.20230614.0-kernel-6.1-x86_64 | 137112412989 | | 2023-06-06T00:01:25.000Z| ami-0bc23e4337e8bc5ea | al2023-ami-2023.0.20230607.0-kernel-6.1-x86_64 | 137112412989 | | 2023-05-15T20:19:40.000Z| ami-03dceaabddff8067e | al2023-ami-2023.0.20230517.1-kernel-6.1-x86_64 | 137112412989 | (…省略…) |