のぴぴのメモ

自分用のLinuxとかの技術メモ

AWS 特定のAMIの各リージョンのImageID一覧を取得するシェル

1.概要

特定の種類のAMIについて、各リージョンのImageIDを取得し、CSV形式で出力するシェルスクリプトです。
例えば、SQL Server Web Editionが含まれているLicense-includeなwindowsインスタンスの各リージョンのImageIDを知りたいとかいうときに利用します。
作成したCSVフィルをExcelとかで開くとこんな感じで情報を確認できます。
f:id:nopipi:20180819201357p:plain:w800

2.使い方

2.1 前提

このツールは下記のコマンドが使えることが前提となります。

  • aws cli
  • シェル環境(bash, awk)
  • gitコマンド(セットアップに利用。なくてもなんとかはなる)

手元の環境ですが、Linux環境とMacOS環境で動くことは確認しています。

2.2 ソースコードの取得とセットアップ

ソースコードはこちらのgithubになります。
github.com

  • (1) GitHubからコードをcloneする
$ git clone https://github.com/Noppy/aws_list_amis.git
  • (2) 必要に応じて適切なフォルダにシェルをコピーする
$ cp aws_list_amis/list_amis.sh DEST_DIRECTORY_PATH

2.3 実行

  • (1)マネジメントコンソールなどで、取得したいAMIの名前を確認する
    • (a)「EC2」サービスに移動
    • (b)「インスタンスの作成」を押し、「コミュニティーAMI」を選択する
    • (c)検索などを利用し目的のAMIを見つけて、名前をコピーする

f:id:nopipi:20180819202725p:plain:w800

  • (2)シェルを実行する

取得したAMIの名前を引数にしてシェルを実行する。結果は標準出力に出力されるので、必要に応じてファイルにリダイレクトする。

./list_amis.sh "Windows_Server-2012-R2_RTM-English-64Bit-SQL_2016_SP1_Web-2018.07.11" > Win_SQL_WebEdition.csv