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 | $ vi ~/.aws/config |
おまけ (環境変数)
毎回 --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 | $ aws ec2 create-tags --resources <INSTANCE ID> --tags Key=<TAG NAME>,Value=<TAG VALUE> |
特定のタグを持つインスタンス
1 | $ aws ec2 describe-instances --filters "Name=tag:<TAG NAME>,Values=<TAG VALUE>" |
インスタンスの起動
1 | $ aws ec2 start-instances --instance-ids <INSTANCE ID> <INSTANCE ID> ... |
インスタンスの停止
1 | $ aws ec2 stop-instances --instance-ids <INSTANCE ID> <INSTANCE ID> ... |