BBH
-Biz Branding Hub-
投稿日 : 
2019/08/18
更新日 : 
2019/08/18

aws-cliのインストールと使用方法

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

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend