【初心者向け】AWS CLI コマンドリファレンスを使いたおす!

IT話題

AWS CLIを利用して実現したいことがある!
だけどググっても自分がしたいことに対する
ピンポイントな記事が見つからない!
そんな時に手に取るのがAWS CLI コマンドリファレンス です!
上記は基本的に英語表記になっていることもあり、
英文ニガテな方はそっ閉じしているかもしれません。
 ※筆者が最初そうだったように。。。

でもでもでも、結局コマンドリファレンスを読まなきゃ
活路が見出せそうにない!苦しい!(涙)




今日はそういう方々向けに、リファレンスのざっくりした読み解き方を解説したいと思います。

【初心者向け】AWS CLI コマンドリファレンスを使いたおす!

本記事のターゲット

  • AWS CLIを使って何かしたい方
  • AWS CLIのコマンドリファレンスをもっと理解したい方
  • AWS CLIコマンドリファレンスのページを開いたけど、
    英文表記のせいで意味が分からなくてそっ閉じした方

AWS CLIとは

AWS CLI(Amazon Web Services Command Line Interface)は、
Amazon Web Services(AWS)のサービスをコマンドラインから操作するためのツールです。
AWS CLIを使用すると、
AWSリソースをブラウザの管理画面(マネジメントコンソール)からではなく、
シェルやターミナルから直接操作できます。

クロスプラットフォーム(Windows、macOS、Linux)で動作させられるので、
AWS CLIをインストールさえすればWindowsでも利用可能です。

どんな時に使うの?

生成するAWSリソースの品質を安定させたいとき

マネジメントコンソールから感覚的に操作していくと、構成が全く同じAWSの環境構築を行いたくても
「人によって設定ブレが起こったり」「見落としなどによる設定漏れ」に
つながる場合が割とあります。
コマンドラインから操作するのは難しいのですが、ひとたびコマンドを作成したら
パラメータを変えながら何度も使いまわしができるので、
「誰が使っても毎回同じ結果」にすることができます。

CloudFormationやTerraFormを利用したIac(Infra As a Code)のテンプレートを作成したいとき

別途CloudFormationのリファレンスなどもあるので、そちらを参照いただいたほうが良いのですが
管理画面(マネジメントコンソール)でリソースを手動作成してから、
コマンドで出力した結果を使ってテンプレートを作成していくこともできます。
AWS CLIならではの不要情報(作成時刻とか)も引っ付いてくるのですが、
テンプレートとにらめっこしながらパラメータを決めていくような
やり方に比べかなり時短になります。

ブラウザの管理画面(マネジメントコンソール)から実施できない一部の操作を実現したいとき

一部の操作はAWS管理画面からでは実現できなかったりします。
よくある例としては「EBS(仮想ディスク)」の「EC2終了時削除 有効/無効」切り替えなどは
AWS CLIのチカラを借りないと作成後変更できません。

どうやって使うの?

一般的に以下の書式で呼び出します。先頭のaws以外の部分は並び替えても動作します。
 ※万一動作しなかったらフォーマルな感じの以下並び順にしてみてください。

aws [サービス名] [コマンド] [必須オプション(あれば)] [任意オプション]

例1.S3バケットのリストを取得する

aws s3 ls

例2.EC2インスタンスの詳細を一括取得

aws ec2 describe-instances

例3. IAMユーザーを作成する

aws iam create-user --user-name new-user

コマンドリファレンスの見方を教えて!

そっ閉じしなくていいように、ここから使い方を解説します。
膨大なリファレンスの説明全文や、すべてのオプションを理解する必要はありません。
「これから使用するところ」だけ理解すればよいのです。

AWS管理画面(マネジメントコンソール)を開いて、CLIで操作したい対象サービスを開く

リファレンスへ飛ぶ前にまずは、コマンド打鍵したい対象サービスをチェックしましょう。
本例ではEC2のサービスを開いています。

左ペインに「インスタンス」や「ロードバランサー」などが見えますね。

コマンドリファレンスの画面を表示する

それではリファレンスを開いてみます。

AWS CLI コマンドリファレンスのページへのリンク

ちなみに、サイト全体を日本語訳すると「コマンドまで日本語化」されてしまうので、
英語のまま読み込んでいくこと推奨です。見ての通り残念な感じになりますね。

リファレンスで対象サービス名を検索してみる

「EC2」を探してリンクへ飛んでみましょう。

ちなみに「VPC」サービスは「ec2」コマンドで操作しますが
先ほど同じ左ペインの中にいた「ロードバランサー」は「elb/elbv2」という個別のコマンドがあったりするので、EC2サービスはちょっとややこしい です。

実行したいことベースで単語検索してみる

完全に共通というわけではなく、コマンドにより若干異なります。
たとえばEC2削除だと「delete」ではなく「terminate」だったりとか。
とはいっても大抵以下ベースで探してみればお目当ての操作へたどり着けます。
よく使う系の単語をまとめてます。

やりたいこと単語
作成したいcreate
削除したい delete
変更したいmodify
一覧を見たいlist
詳細込みの
一覧表示したい
describe
よりピンポイントに
リソースの詳細が見たい
get

Synopsisに書かれている必須オプションを指定してコマンド打鍵

リファレンスの表記を見て、コマンドを作成していきます。
以下は「describe-instances」のコマンドを選択した例です。

かっこ[]で括られてないコマンドやオプション部分は記述必須
記述しないとAWS CLIさんから怒られます。必ず表記してください。
逆に [–output] などのようにかっこ[]で括られているオプションは書かなくてもOK

コマンドによっては2つ3つの必須オプション要求があったりします。

以下はロードバランサーの属性を取得するコマンドです。
必須オプションとしてロードバランサーのarn(Amazon Resource Name)を要求されていますね。

この場合、最低限こんな感じのコマンドになります。

aws elbv2 describe-load-balancer-attributes --load-balancer-arn [ロードバランサーのARN]

(共通系)意図した出力や表示ができるオプションをセットする

以下紹介するのは大抵のコマンドで利用できるものです。

オプション設定値使いどころ
[–output ]yaml,json,text
など
特定形式で出力させたいときに指定する
[–region ]ap-northeast-1
※この場合東京リージョン
リージョンの選択をすることで
特定リージョンに対する操作にできる
[–no-cli-pager]x 設定値なしec2をdescribeした時など、
一回で全情報表示しきれないとき使う
[–query ]“Key”: “Value”の
“Key”を指定することで
任意のパラメータだけ表示する
インスタンスIDなどを
ピンポイントで取得したいとき

共通系のオプションを含めてコマンドを作った例を示します。

aws ec2 describe-instances --output yaml --region ap-northeast-1 --no-cli-pager

最後に

コマンドリファレンスの読み方ベースで解説したので具体的な使い方はほぼ割愛しました。
各サービスごとのAWS CLI を掘り下げて記事にすることもあるかもしれません。

リファレンスはトモダチこわくないよ!

コメント

タイトルとURLをコピーしました