aws-cliを使用するメリット
AWSはコンソールからGUIでグラフィカルな操作が可能です。
しかし、この方法はわかりやすいのですが、大量処理などには向いていません。
一つ一つ手で操作する必要がありますからね。
個人ではあまりないでしょうが、例えば数十台のサーバを起動・停止する時のことを考えてみてください。
毎日、数十のサーバを手で起動していたら物凄い時間がかかってしまいます。
また、ミスも発生しやすくなります。
こうした大量処理の時は、コマンドから操作が可能なaws-cliを使用すると便利です。
windowsでaws-cliを使用するための設定
今回はWindowsでaws-cliを使用する方法を説明していきます。
Windws用のcliツールをインストールする
以下のサイトからcliのインストーラをダウンロードしてください。
https://s3.amazonaws.com/aws-cli/AWSCLI64.msi
インストーラを起動すると以下のような画面がでますので、画面の指示に従ってインストールをします。
インストールが完了したら、正常にインストールができたかを確認しましょう。
コマンドプロンプトで以下のコマンドを叩いてみてください。
aws --v
以下のようにバージョン情報が表示されればOKです。
aws-cli/1.16.215 Python/2.7.16 Windows/8.1 botocore/1.12.205
IAMユーザを作成
aws-cliを使用するには、それを使用できるIAMユーザを作ってやる必要があります。
IAMユーザとは、AWSを使用するためのアカウントと考えてもらえばいいです。
手順としては、
・IAMユーザを作成する
・CLIにユーザ情報を設定する
となります。
まずは、ユーザーの作成を行いましょう。
コンソールからIAMを選択。
右側のメニューから「ユーザー」を選択し、「ユーザーを追加」ボタンを押してください。
次の画面で「プログラムによるアクセス」という項目があります。
これがCLIを使用するかどうかの選択になります。
なので、ここの項目にチェックを入れるのを忘れないようにしましょう。
権限はわかりやすくAdministratorをつけておきましょう。
本来ならセキュリティ観点から使用するサービスにのみ権限を付与するべきですが、今回は練習なのでAdministratorでやってしまいます。
アカウントを作成すると、以下のようにアクセスキーとシークレットアクセスキーが発行されます。
CLIを使用するためにはこれが不可欠なので、忘れずにメモしておいてください。
また、アカウントを作成したら、念のためAWSコンソールにログインできるかも確認しておきましょう。
IAMユーザの情報をCLIに設定
次に確認したアクセスキーをCLIに設定していきましょう。
コマンドプロンプトから以下のコマンドを入力します。
aws configure
以下の設定値の入力を促されるので、次のように入力していきましょう。
・AWS Access Key ID [None]…さきほど確認したアクセスキー ・AWS Secret Access Key [None]…さきほど確認したシークレットアクセスキー ・Default region name [None]…ap-northeast-1(※) ・Default output format [None]…json
※例として東京リージョンを設定しています。お使いの環境に合わせて設定してください。
AWS のリージョンとエンドポイント
入力が完了したら設定が上手くいっているかを確認していきましょう。
ここでは例として、S3のバケット一覧を表示してみます。
aws s3 ls
自分のアカウントのS3バケット一覧が表示できればOKです。
UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
ただ記事中にもあるように、このエラーは警告メッセージでaws-cliの使用自体には特に問題ありません。
なので、気にならなければ対応は不要です。
補足:プロファイルについて
aws configure のコマンドで設定した内容を「プロファイル」と言います。
CLIでコマンドを実行する時は、このプロファイルという情報を使用しています。
ちなみに、 aws configure は 「--profile」 というオプションを設定することができます。
これは、プロファイル名にあたります。
aws --profile [プロファイル名] のように設定することができます。
設定したプロファイルを使用するには、以下のようにコマンドを実施します。
aws s3 ls --profile [プロファイル名]
ちなみにプロファイル名オプションを渡さず、 aws configure を実行した場合は、defaultというプロファイル名になります。
これは、文字通り aws-cli を実行するときのデフォルトのプロファイルとなります。
「aws s3 ls」のようにコマンドを実行すると、デフォルトのプロファイルで実行されますが、これは、「aws s3 ls --profile default」と同じになります。
プロファイルの一覧は以下のファイルに設定されます。
%USERPROFILE%\.aws\config
以下のコマンドで内容を確認できます。
type %USERPROFILE%\.aws\config
・出力例
[default] output = json region = ap-northeast-1