※本記事は2023年3月末時点の情報に基づいています。
今日はAWSのCLIについて、手を動かしながら学んでいきます。
もくじ
1.AWS CLIとは
AWS CLI(AWS Command Line Interface)とは、AWSをコマンドラインから操作するためのツールである。
各主要OS(Windows、Mac OS、Linux)向けにインストーラが提供されている他、Amazon Linuxにはプリインストールされている。
また、Dockerコンテナから利用することもできる。
◎コマンドライン操作が必要な理由
AWSはWebコンソール画面からGUI操作できるが、GUI操作だと、
・作業ミスの可能性がある
・作業ログを残せない
・何度も同じような操作を繰り返さないといけないことがある
といったデメリットが生じる。
一方で、CLIを用いれば、これらデメリットを解消できるだけでなく、行いたい処理をスクリプト化することで、細かな処理や繰り返しの処理にも、柔軟かつスピーディに、確実に対応できるようになる。
◎料金
AWS CLIは無料で利用できる。
◎バージョンについて
AWS CLIには、バージョン1と2が存在する。
v1からのバージョンアップに伴い、v2ではより便利な機能が追加・拡張されていたり、ツールに必要なPythonが同梱されていたりする。
v2はv1に対してたいてい下位互換があるものの、これからAWS CLIを新しく使う場合、特別な事情が無い限りv2を利用すると良い。
2.AWS CLIのセットアップ
では早速、AWS CLI(v2)を利用できるよう、セットアップしていきたい。
今回はWindows11(64bit)からCLIを利用できるようにする。
大まかな手順は以下の通り。
①WindowsにAWS CLIをインストール
②IAMユーザのアクセスキー取得
③CLIの初期設定
※①と②は順不同。また、ここでは既存のIAMユーザを利用するためユーザ作成の手順は省くが、必要に応じてユーザを新規作成してもよい。
順に説明する。
①AWS CLIのインストール
(1)AWSの公式サイトから、Winowsのインストーラをダウンロードする。
(2)ダウンロードが完了したら、インストーラをダブルクリックで実行する。
(3)インストーラが起動すると、しばらくの間、自動でセットアップ処理が走るので待つ。
(4)セットアップ処理ができたら、「Next」を押す。
(5)AWS CLIのライセンスに同意するか問われるので、チェックをつけて「Next」。
(6)任意でカスタマイズ設定ができるが、特に変更する箇所は無いので「Next」。
(7)問題なければ、「Install」を押してインストールを実行する。
この時、実行確認画面が出ることがあるが、実行して問題ない。
(8)インストール処理は少し時間がかかるので待つ。
(9)インストール処理が終わったら、「Finish」で画面を閉じる。
これでインストール自体は完了となる。
②IAMユーザのアクセスキー取得
①AWS CLIのインストールの内容はWindowsでの手順だったが、以降はプラットフォームに関係なく行う作業となる。
コマンドラインからアクセスするAWSのアカウントおよびIAMユーザを特定するためには、
IAMユーザのアクセスキーとシークレットアクセスキーが必要になる。
アクセスキーはアカウントID、シークレットアクセスキーはパスワードのようなものである。
これらキーは、IAMユーザを作成した時点では存在していないため、以下の手順により取得する必要がある。
(1)IAMユーザの一覧画面で、コマンドラインからアクセスしたいユーザを選ぶ(または新規作成する)。
今回は「User01」というユーザでアクセスする。
(2)「User01」の詳細画面から、「セキュリティ認証情報」のタブを選択する。
(3)下にスクロールし、「アクセスキー」の欄から、「アクセスキーを作成」を押下する。
(4)アクセスキーの作成画面になる。
今回は「コマンドラインインターフェイス(CLI)」で利用するためにアクセスキーを作成するため、当該選択肢を選ぶ。
(5)「上記のレコメンデーションを理解し、アクセスキーを作成します。」にチェックをつけ、「次へ」。
(6)アクセスキーの説明タグを設定できる。
任意のタグをつけて良いが、ここでは「test-key」とした。
設定できたら「アクセスキーを作成」を押す。
(7)★重要★ アクセスキーとシークレットアクセスキーが取得され、表示される。
セキュリティ上重要な情報のため、キーはこのタイミングでしか確認できない。(後から同じページを開いて確認する等ができない)
そのため、アクセスキーとシークレットアクセスキーは必ず控えをとっておく。
なお、ページ下部には「.csvファイルをダウンロード」のボタンもある。
ダウンロードにより、これらキーの情報をcsvファイルに出力できるようになっている。
控えを確実に取ったら、「完了」を押してアクセスキー取得画面を閉じる。
キー情報が洩れると、不正アクセスなど重大なセキュリティインシデントにつながるため、
取得した情報の取り扱いには十分注意すること。
(8)ユーザの詳細画面に、アクセスキーの情報が追加されているのが分かる。
③CLIの初期設定
最後に、CLIの初期設定を行う。
Windowsの場合、PowerShellまたはコマンドプロンプトを開く。
※MacOSはターミナル画面を使うなど、使用するツールは違うものの、初期設定のコマンドはどのプラットフォームからでも共通となる。
設定には以下のコマンドを入力する。
aws configure
コマンドを入力すると、対話形式で設定項目の入力を求められるので、順に値を指定していく。
設定項目 | 説明 |
---|---|
AWS Access Key ID | IAMユーザのアクセスキー。 ②の手順で取得したアクセスキーをそのまま入力する。 |
AWS Secret Access Key ID | IAMユーザのシークレットアクセスキー。 ②の手順で取得したシークレットアクセスキーをそのまま入力する。 |
Default region name | AWSのデフォルトのリージョンを指定する。 例えば、東京リージョンなら Tokyo/Asia となる。 |
Default output format | CLI操作時の、結果出力形式を指定する。 デフォルトはjson形式。その他に、yaml文字列、yamlストリーム、text、tableを指定できる。(詳細は公式ドキュメント参照) |
値の入力を省略した場合はデフォルト値が採用される。
入力イメージ(一部マスキングしています)↓
ここまで出来れば、セットアップ完了である。
なお、設定した値は、"aws configure"コマンドを実行すれば何度でも変更できる。
設定値は、Windowsであれば、Usersフォルダ配下の.awsフォルダに保存される。
3.AWS CLIの活用
◎基本の使い方
AWS CLIの基本構文を示す。
aws <command> <subcommand> [<subcommand> ...] [parameters] [options]
それぞれの項目の意味は以下の通りである。
項目 | 説明 |
---|---|
aws | ★必須 固定の接頭辞"aws"。AWSプログラムのべースコールとなる。 |
<command> | ★必須 AWSサービス名(例:ec2など)を指定する。 |
<subcommand> | ★必須 <command>に指定したAWSサービスで実行する操作を指定する。(例:サービスの起動操作など) |
[parameters] | 操作に必要なパラメータを指定する。 |
[options] | 操作のオプションを指定する。 |
例えば、EC2インスタンス(インスタンスID:i-0123456789example)の東京リージョンでの起動であれば、以下のようなコマンドになる。
aws ec2 start-instances --instance-ids i-0123456789example --region ap-northeast-1
実際に実行できるコマンドは多岐にわたる。
詳細はAWSのコマンドリファレンスをご参照のこと↓。 https://docs.aws.amazon.com/ja_jp/cli/latest/index.html
◎補完機能
AWS CLI v2では、"--cli-auto-prompt"を実行したいコマンドにつけることで、入力が補完される。
今回は以上!