AWS CLI とは?
AWS CLI (Command Line Interface) を使うと、AWS の各種サービスをコマンドラインから操作することができます。 例えば、次のように様々な処理を実行できます。
- S3 にファイルをコピーする
$ aws s3 cp ローカルファイル s3://バケット名/ディレクトリ名
- IAM ユーザーのアクセスキーを表示する
$ aws iam list-access-keys --user-name=ユーザー名
- DynamoDB にテーブルを作成する
$ aws dynamodb create-table --table-name テーブル名 ...
AWS の各種サービスの設定は、それぞれのマネージメントコンソール(Web サイト)上で設定することができますが、AWS CLI を使うことで、Web ブラウザを開かずに設定を済ませられます。 頻繁に行う処理などは、シェルスクリプトなどにして自動化することができます。
AWS CLI を使用するには、下記のような IAM ユーザーのアクセスキー(及びシークレットアクセスキー)が必要です。 以降の説明では、これらの情報が取得できていることを前提とします。
- API 用アクセスキー(例):
INMCAKIAQX77PNSXQAGP
- API 用シークレットアクセスキー(例):
2ufOA3Q2KAmpNTo2GHPDXFJK7Jiv9yfZGegIdbCW
AWS CLI のインストール
インストール方法
- macOS の場合 … AWSCLIV2.pkg をダウンロードしてインストールできます。
- Windows の場合 … AWSCLIV2.msi をダウンロードしてインストールできます。
- Linux の場合 …
curl
コマンドでインストール用スクリプトをダウンロードしてインストールできます。
インストール後の確認
何らかの aws
コマンドが実行できるようになっていれば成功です。
AWS CLI の設定 (aws configure)
設定ファイルを作成する
AWS CLI を使用して AWS の各種操作を行うには、credentials ファイルにアカウントキー情報を設定しておく必要があります。
aws congigure
コマンドで設定を行えます。
デフォルトリージョンは、AWS CLI でコマンド実行したときに、どのリージョンのサーバーにリクエストが送信されるかの設定です。
通常は、最寄りのリージョン(東京であれば ap-northeast-1
)を指定しておけば大丈夫です(リージョンの一覧はこちら)。
リージョンの指定は、aws
コマンドを実行する際に --region
オプションで指定することも可能です。
AWS CLI の出力フォーマットは、yaml
や json
、table
、text
などを指定できます。
人間にも機械にもやさしい yaml
形式がおすすめです(yaml
形式は CLI バージョン 2 から選択できます)。
設定が完了すると、~/.aws
ディレクトリ以下に次のようなファイルとして保存されます。
設定を変更したいときは、上記のファイルを直接変更してもいいですし、もう一度 aws configure
コマンドを実行しても OK です。
現在の設定を確認する
aws configure list
コマンドで AWS CLI の現在の設定を確認することができます。
個々の値を取得したいときは aws configure get
コマンドを使用します。
(応用)別のプロファイルを作成する
別の IAM ユーザーのアクセスキーを使用したい場合などは、別のプロファイル設定を追加することで対応できます。
次の例では、power
という名前のプロファイルを作成しています。
これにより、設定ファイル内にそのプロファイル用の設定が追加されます。
AWS CLI コマンドを使用するときにプロファイルを切り替えたいときは、aws
コマンドの --profile
オプションか、AWS_DEFAULT_PROFILE
環境変数でプロファイル名を指定します。