AWS Cliについて

2020年12月29日

AWS Cliとは

AWS コマンドラインインターフェース (CLI) は、AWS サービスを管理するための統合ツールです。 ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから AWS の複数のサービスを制御し、スクリプトを使用してこれらを自動化することができます。

インストール方法

Python 2.6.5 以降が必要なので確認

インストール

1.pip のウェブサイトからインストールスクリプトをダウンロードし実行します。

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
sudo python get-pip.py

2.pip を使用して AWS CLI をインストールします。

sudo pip install awscli

3. 使用可能なオプションとサービスのリストを表示するには、次のコマンドを使用します。

aws help

初期設定

aws configure 
※aws_access_key_idとaws_secret_access_keyを指定することで認証情報が~/.aws/credentialsに書き込まれる

credentials設定

複数の環境を設定したい場合は、credentialsに複数の設定を記述して、利用する時にプロファイルを指定して実行する方法がある

[dev]
aws_access_key_id = xxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxx

[dev2]
aws_access_key_id = ○○○○○○○○○○○○○
aws_secret_access_key = ○○○○○○○○○○○○

S3

S3バケット作成

$ aws --region ap-northeast-1 s3api create-bucket \
 --create-bucket-configuration LocationConstraint=ap-northeast-1 \
 --bucket バケット名 --profile プロファイル名

バージョニング有効

$ aws s3api put-bucket-versioning \
 --bucket バケット名 \
 --versioning-configuration Status=Enabled  --profile プロファイル名 

S3の特定のディレクトリ配下の容量を確認

$ aws s3 ls s3://バケット名/ディレクトリ名/ --summarize --recursive --human-readable | tail --profile プロファイル名 

一覧表示

$ aws s3 ls s3://バケット名/xxxxxxxxxxxx --profile プロファイル名 

一括ダウンロード

$ aws s3 cp s3://バケット名/xxxxxxxxxxxxxxx/ . --recursive --profile プロファイル名 

アップロード

$ aws s3 cp ./ファイル名 s3://バケット名/xxxxxxxxxxxxxx/ --profile プロファイル名 

EC2

稼働サーバーの一覧をtsv形式で出力

$ aws ec2 describe-instances --profile プロファイル名  --filter "Name=instance-state-name,Values=running" |  jq -r '.Reservations[].Instances[] |
 [.Tags[] | select(.Key == "Name").Value][] + "\t" +  .InstanceId + "\t" +
 .PublicIpAddress + "\t" +  .PrivateIpAddress' | sort

AWS,CLIAWS,CLI

Posted by piman