AWSの各種操作は、AWSマネジメントコンソールで可能です。これが頻繁になるとどうでしょうか?例えば、運用・保守作業でAWSのサービスをさわるときもあるでしょう。これらの作業は多いものになると毎日です。
また、相手に作業の内容を伝える場合も考えてみましょう。「マネジメントコンソールの○○を××して・・・」と伝えるのも面倒ですよね。かといって画面コピーを貼り付けてドキュメントを作るのも面倒。
こんなときに役に立つのが、AWS Command Line Interface(AWS CLI)です! AWS CLIはコマンドベースで AWSの各種サービスを操作できるツールです。例えば、大量の EC2インスタンスを作るような作業でも、AWS CLIを使用することで同じコマンド繰り返し入力するだけであるため、画面での操作ミスを防ぎ、さらに短時間で作ることができます。
本記事では、AWS CLIについて解説します。
- AWS CLI は、コマンドで AWS 上の各種操作をするツール
- Windows、macOS、Linux など、各種デバイスにインストール可能
- 人に使える時に画面操作だと間違いが発生しやすいが、コマンドであれば安心
AWS CLIとは
AWS CLIとは、AWSの各種サービスをコマンドで操作するツールです。なぜマネジメントコンソールがあるのに、わざわざ前時代的なコマンドを使うの?と思われるかもしれません。その理由が冒頭にあげた話です。いちいちマネジメントコンソールにアクセスすることなく、しかもコマンドベースなので他者にも操作を伝えやすい、そういったメリットがあります。
AWSの各種解説では、図による説明よりCLIのコマンドベースで説明されていることが多くあります。よって、これを良い機会にマスターしておきましょう。
【Windows】AWS CLIのインストール方法
それではCLIのインストール方法を解説します。まずはWindows編です。手順はインストーラのダウンロード、インストーラの実行となります。
Windows用AWS CLIインストーラ
こちらのページから、お使いのWindowsにあったインストーラをダウンロードしてください。ページの右上の方です。64ビット版と32ビット版があります。
AWSCLI(ビット数).msiというファイルがダウンロードされますので、それをダブルクリックで起動してください。
あとはインストーラにお任せで、特に何も変更する必要なくインストールは完了します。
とりあえずCLIのバージョン確認でもしてみましょう。「aws –version」と入力してEnterしてください。
aws-cli/1.14.51 Python/2.7.9 Windows/8 botocore/1.9.4
クライアントのOSなどなどにより表示は異なりますが、エラーが出ずにバージョンが表示されればOKです。
そしてそこからが問題です!
アクセスキーIDの取得
※すでにお持ちの方は読み飛ばしてください。
AWSへコマンドライン、つまりWindowsでいうところのコマンドプロンプトからアクセスするために、AWSアクセスキーIDとAWSシークレットアクセスキーが必要になります。もしまだ作成していない場合は、今から新たに作成する必要があります。
AWSマネジメントコンソールから右上の「AWSへようこそ」のプルダウンをクリックして「セキュリティ認証情報」をクリックしてください。
この中の「アクセスキー」をクリックして、新規にアクセスキーIDを取得してください。そのとき、シークレットアクセスキーが記載されたCSVファイルが自動的にダウンロードしてください。このファイルを紛失すると、本当に何もできなくなるので十分注意してください。
無事ダウンロードできたら、CSVファイルの中を見てみてください。
AWSAccessKeyId=(長い文字列) AWSSecretKey=(とても長い文字列)
こんな感じの記載があります。これが重要ですので、次のステップが終わるまで、開いたままにしておいてください。
AWS CLIにアクセスキーIDを読み込ませる
次に、コマンドプロンプトの黒画面を開いて、「aws configure」と入力してEnterしてください。順番に入力を求められますので、以下のとおりに入力してください。
AWS Access Key ID [None]: (ダウンロードファイルに記載されているID) AWS Secret Access Key [None]: (ダウンロードファイルに記載されているキー) Default region name [None]: (とりあえずus-west-2でいいです) Default output format [None]: (何も入れずそのままEnter)
これで何も反応がなければOKです。あとは各種サービスをコントロールできます。試しにAWS IAMのグループを表示させましょう。
>aws iam get-group --group-name (グループ名) { "Group": { "Path": "/", "CreateDate": "2018-03-06T13:22:09Z", "GroupId": "AGPAJT***************", "Arn": "arn:aws:iam::************:group/PotepanGroup", "GroupName": "PotepanGroup" }, "Users": [ { "UserName": "potepan_user", "PasswordLastUsed": "2018-03-06T13:38:45Z", "CreateDate": "2018-03-06T13:27:42Z", "UserId": "AIDAJQ***************", "Path": "/", "Arn": "arn:aws:iam::************:user/potepan_user" } ] }
なんとJSON形式で返ってきました。JavaScript等々との相性がよさそうですね。
【Mac】AWS CLIのインストール方法
基本的に先ほどと同じ・・・ではありません。一番大きく異なるのは、まずPythonをインストールするところから始まります。基本的にはこのページにありますが、どうせなら一緒にやっていきましょう。
Pythonのインストール
先ほどのページから、またはこちらからでもよいので、Python.org のダウンロードページへ飛んでください。そこからDownloads→Python3.6.4のボタンをクリックしてください。するとインストーラがダウンロードできるので、それをインストールしてください。
pipのインストール
ターミナルを立ち上げて、以下2コマンドを実行してください。これでpipがインストールできます。
curl -O https://bootstrap.pypa.io/get-pip.py python3 get-pip.py --user
AWS CLIのインストール
以下のコマンドを実行してください。
pip3 install awscli --upgrade --user
実行が終われば、バージョン確認をしてみましょう。
aws --version
「AWS CLI 1.11.84 (Python 3.6.1)」などと返って来ればOKです。
また、環境変数の追加が必要になる場合があります。こちらを参照に追加してください。
それらが終われば、Windows編の「AWS CLIにアクセスキーIDを読み込ませる」へ進んでください。
【Linux・Unix】AWS CLIのインストール方法
最後に、Uinux系OSへのインストール方法を解説します。
基本的にはMacと同じで、PythonとAWS CLIのインストールです。
sudo apt-get install python3 curl -O https://bootstrap.pypa.io/get-pip.py python3 get-pip.py --user pip3 install awscli --upgrade --user aws --version
最後のコマンドで、バージョンの応答があればOKです。
それらが終われば、Windows編の「AWS CLIにアクセスキーIDを読み込ませる」へ進んでください。
ただしUnix系OSへのAWS CLIの導入は、ディストリビューションや環境に大きく左右されます。よって上記の手順で完成とはいえません。何かエラーが発生したら、こちらをご覧の上調査してください。
「ポテパンキャンプ」はオンランイン完結で、勉強時間も週15~20時間程度ですので、大学に通いながらでも受講できます。エラーの原因が変わらなくて困った時も、すぐにチャットなどで質問できるサポート体制が整っています。
まとめ
本記事では、AWS CLIについて解説しました。
本記事では触れませんでしたが、AWS CLIではDOSバッチやPower Shellを使ったバッチ処理も作成可能です。ただのコマンドライン操作だけではないAWS CLI、ぜひこの機会にチャレンジしてみてくださいね!
また、AWS に限らず、Azure や Google Cloud Platform(GCP)なども同様に、コマンドで各種操作が可能です。画面の操作では、人に教える時に謝って伝わってしまうことや、デザインが変わり操作手順が変わってしまうこともあります。その点、コマンドであれば入力した入力した通りにしか動かないため、間違いもなく安心です。