AWS CLIで個人的によく使うコマンドまとめ

概要

AWS CLIで個人的によく使うコマンドをまとめてみました。

細かく知りたいときは公式のリファレンスを参照。
リファレンス

調べるのが面倒な時にこのメモを使います。

configure

(公式) 設定ファイルと認証情報ファイルの設定

名前付きプロファイルの作成、変更

1
$ aws configure --profile <PROFILE NAME>

名前付きプロファイルの一覧表示

1
$ aws configure list-profiles

特定のパラメータだけを変更する

1
$ aws configure set region <REGION> --profile <PROFILE NAME>

特定のパラメータだけを空欄にする

1
$ aws configure set region "" --profile <PROFILE NAME>

プロファイルを削除する(全部のプロファイルが消えるので注意)

1
$ rm -rf ~/.aws/

プロファイルを個別に削除したい場合は、下記ファイルを開いて不要な部分を削除する

1
2
$ vi ~/.aws/config
$ vi ~/.aws/credentials

おまけ (環境変数)

毎回 --profile <PROFILE NAME> を入力するのは面倒なので、環境変数へ設定することにより毎回指定せずにすみます。

1
$ export AWS_PROFILE=<PROFILE NAME>

s3

(公式) AWS CLI での高レベル (S3) コマンドの使用

バケット操作

バケットを作成する

1
$ aws s3 mb s3://bucket-name

バケットを削除する(–forceは中身にオブジェクトが入っていても削除する)

1
$ aws s3 rb s3://bucket-name --force

バケットを一覧表示

1
$ aws s3 ls

オブジェクト操作

オブジェクトの一覧

1
$ aws s3 ls s3://bucket-name/example/

オブジェクトの削除

1
$ aws s3 rm s3://bucket-name/example/filename.txt

オブジェクトの削除(–recursiveはフォルダ内にファイルがあっても削除する)

1
$ aws s3 rm s3://bucket-name/example --recursive

(公式) オブジェクトのコピーは多いのでよく使うもの以外は公式参照

オブジェクトのコピー (bucket-aのexampleをbucket-bへコピー)

1
$ aws s3 cp s3://bucket-a/example s3://bucket-b/

オブジェクトのコピー (bucket-aのfile.txtをローカルのカレントディレクトリへコピー)

1
$ aws s3 cp s3://bucket-a/file.txt ./

オブジェクトのコピー (bucket-aの全オブジェクトをローカルのカレントディレクトリへコピー)

1
$ aws s3 cp s3://bucket-a/example ./ --recursive

*.txtファイルを除外してコピー (–exclude)

1
$ aws s3 cp . s3://my-bucket/path --exclude "*.txt"

*.txtファイルだけを抽出してコピー (–include)

1
$ aws s3 cp . s3://my-bucket/path --include "*.txt"

EC2

(公式) Amazon EC2 インスタンスの起動、一覧表示、および終了

インスタンスの一覧表示

1
$ aws ec2 describe-instances

インスタンスへのタグの追加

1
2
3
$ aws ec2 create-tags --resources <INSTANCE ID> --tags Key=<TAG NAME>,Value=<TAG VALUE>

$ aws ec2 create-tags --resources i-5203422c --tags Key=Name,Value=MyInstance

特定のタグを持つインスタンス

1
2
3
$ aws ec2 describe-instances --filters "Name=tag:<TAG NAME>,Values=<TAG VALUE>"

$ aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"

インスタンスの起動

1
2
3
$ aws ec2 start-instances --instance-ids <INSTANCE ID> <INSTANCE ID> ...

aws ec2 start-instances --instance-ids i-1234567890abcdef0

インスタンスの停止

1
2
3
$ aws ec2 stop-instances --instance-ids <INSTANCE ID> <INSTANCE ID> ...

aws ec2 stop-instances --instance-ids i-1234567890abcdef0