「AWS CLI」とは?
「AWS Command Line Interface」の略であり、AWSをCUIで操作するツールです。
AWS CLIを使うきっかけ
S3にファイルをフォルダごとアップロードしたかったためです。
Safariからだとフォルダごとアップロードできないのですが、AWS CLIを使えばできます。
環境
- OS:macOS High Sierra 10.13.1
セットアップ
Pythonとpipのインストール
Python製なので動作にPython、インストールにpipが必要です。
私はpyenv-virtualenvを使い、AWSのPython環境を構築しました。
私が以前書いたこの記事が参考になります。
$ pyenv install 3.5.0
$ pyenv virtualenv 3.5.0 aws
$ pyenv rehash
$ pyenv global aws
AWS CLIのインストール
# AWS CLIをインストールする
$ sudo pip install awscli
# バージョンを確認する
$ aws --version
aws-cli/1.14.36 Python/3.5.0 Darwin/17.2.0 botocore/1.8.40
アクセスキーの作成
AWS CLIからAWSを操作するにはアクセスキーが必要です。
以下へアクセスします。
https://console.aws.amazon.com/iam/home?#/security_credential
「アクセスキー(アクセスキー ID とシークレットアクセスキー)」をクリックします。
「rootkey.csv」がダウンロードされます。
AWS CLIの初期設定
アクセスキーの情報などをAWS CLIに登録します。
「Default region name」は自分のリージョンを入力します。私は「アジアパシフィック(東京)」なので「ap-northeast-1」と入力しました。
「Default output format」は「json, text, table」の3種類から選択します。私は「json」にしました。
# AWS CLIの初期設定を行う
$ aws configure
AWS Access Key ID [None]: {rootkey.csvのAWSAccessKeyId}
AWS Secret Access Key [None]: {rootkey.csvのAWSSecretKey}
Default region name [None]: ap-northeast-1
Default output format [None]: json
これでAWS CLIからAWSが操作できるようになりました。
aws s3 ls
でバケットの一覧が表示されれば、セットアップが正常に完了しています。
複数のアカウントを登録する場合、以下の記事が参考になりました。
https://qiita.com/ryuzee/items/e3ce493f132f1981f57a