【AWS/Amazon EC2】Amazon EC2で利用可能なAMI(OSイメージ)を検索する方法

こんにちは、Aireです。

今回はAmazon EC2で利用可能なOSイメージを、AWS CLIを使用して検索する方法を紹介します。

目次

AWS CLIでOSイメージを表示する

AWS CLIを使用してaws ec2 describe-imagesコマンドを実行すると、利用可能なOSイメージを表示できます。

<実行例>

以下、コマンドの実行時に指定するオプションを記載します。(イメージの絞り込みまたは出力に関するオプションのみ記載します)

<オプション>

オプション情報必須/任意オプションの説明
--filters任意1つ以上の条件(イメージ名など)を指定し、それらの条件を満たすイメージを表示します。指定できる条件の種類は30以上あるため、詳細はaws ec2 describe-imagesコマンドのAWS CLI Command Reference – Optionsを参照してください。
--executable-users任意イメージのラウンチ権限を持つユーザを指定します。(AWSアカウントID、selfまたはall(public AMIs))
--owners任意イメージの所有者を指定します。(selfamazonaws-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つ目のフィルタリングでは、Namenameキーを、Valuesに実際のAMI名を参考にしてOSの種類とバージョンを含む文字列(AMI名の一部)を指定しています。2つ目のフィルタリングでは、Namearchitectureキーを、Valuesx86_64を指定しています。

--queryオプションでは、sort_by関数とreverse関数を使用し、AMIの日付または名前で降順にソートしています。また、{id:ImageId, ...}で出力情報を絞っています。ちなみに:(コロン)を使用すると配列の一部を抽出可能で、[]の部分を[:1]とすると最新のAMIのみ表示できます。

Windows Server

Windows Server 2019

<コマンド例>

<実行結果>

Windows Server 2022

<コマンド例>

<実行結果>

Red Hat Enterprise Linux Server

RHEL 8

<コマンド例>

<実行結果>

RHEL 9

<コマンド例>

<実行結果>

Ubuntu Server

Ubuntu Server 20.04 LTS

<コマンド例>

<実行結果>

Ubuntu Server 22.04 LTS

<コマンド例>

<実行結果>

Amazon Linux

Amazon Linux 2

<コマンド例>

<実行結果>

Amazon Linux 2023

<コマンド例>

<実行結果>

この記事を書いた人

目次