よく使う便利なコマンドと思ったものを置いています。タイトルだけのものは、後々追記する心算です。
AWS CLIはversion2です。
目次
EC2関連
EC2インスタンス情報を取得
>aws2 ec2 describe-instances RESERVATIONS 856919177685 r-02cd5a2e14133b529 INSTANCES 0 x86_64 False True xen ami-0af1df87db7b650f4 i-033cf72c000c9d000 t2.micro XXXdev 2020-03-10T12:41:49+00:00 ip-172-31-45-XXX.ap-northeast-1.compute.internal 172.31.45.XXX ec2-13-230-220-XXX.ap-northeast-1.compute.amazonaws.com 13.230.220.XXX /dev/xvda ebs True subnet-f10ec000 hvm vpc-000f9000 BLOCKDEVICEMAPPINGS /dev/xvda EBS 2020-03-10T12:41:50+00:00 True attached vol-0c6b735844501ef34 CAPACITYRESERVATIONSPECIFICATION open CPUOPTIONS 1 1 HIBERNATIONOPTIONS False METADATAOPTIONS enabled 1 optional applied MONITORING disabled NETWORKINTERFACES interface 06:8b:b2:ed:cd:50 eni-0198d6312e62cc000 856919177685 ip-172-31-45-XXX.ap-northeast-1.compute.internal 172.31.45.XXX True in-use subnet-f10ec000 vpc-000f9000 ASSOCIATION amazon ec2-13-230-220-XXX.ap-northeast-1.compute.amazonaws.com 13.230.220.XXX ATTACHMENT 2020-03-10T12:41:49+00:00 eni-attach-0d1c6bd0913778XXX True 0 attached GROUPS sg-01e7ee2a705b80e06 launch-wizard-2 PRIVATEIPADDRESSES True ip-172-31-45-XXX.ap-northeast-1.compute.internal 172.31.45.XXX ASSOCIATION amazon ec2-13-230-220-XXX.ap-northeast-1.compute.amazonaws.com 13.230.220.XXX PLACEMENT ap-northeast-1a default SECURITYGROUPS sg-01e7ee2a705b80e06 launch-wizard-2 STATE 16 running
EC2インスタンスのステータスのみを取得
>aws2 ec2 describe-instance-status INSTANCESTATUSES ap-northeast-1a i-033cf72c979c9d3c6 INSTANCESTATE 16 running INSTANCESTATUS ok DETAILS reachability passed SYSTEMSTATUS ok DETAILS reachability passed INSTANCESTATUSES ap-northeast-1a i-0d6e886142efc2ae6 INSTANCESTATE 16 running INSTANCESTATUS ok DETAILS reachability passed SYSTEMSTATUS ok DETAILS reachability passed
すべてのEC2のステータスを表示する
>aws2 ec2 describe-instance-status
INSTANCESTATUSES ap-northeast-1a i-095bbc14221XXXXX
INSTANCESTATE 16 running
INSTANCESTATUS ok
DETAILS reachability passed
SYSTEMSTATUS ok
DETAILS reachability passed
補足 aws2 ec2 describe-instancesコマンドはアプトプットされる情報が多いので、filterするとか、–output tableオプションをつけてやるとかしたほうが見やすくなります。
公開パラメーターストアから最新のAMD IDを取得する。
>aws2 ssm get-parameter --name /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --query Parameter.Value --region ap-northeast-1
ami-052652af12b58691f
EC2のAZ、インスタンスID、Nameを取得する。
>aws2 ec2 describe-instances --filter Name=tag-key,Values=Name --query "Reservations[*].Instances[*].{Instance:InstanceId,AZ:Placement.AvailabilityZone,Name:Tags[?Key=='Name']|[0].Value}"
ap-northeast-1c i-0ce0380baXXXXZZZZ hogehoge-instance-private
ap-northeast-1a i-083c40886XXXXZZZZ hogehoge-instance-public
ap-northeast-1a i-096dd9d3bXXXXZZZZ hogehoge-instance-private
ap-northeast-1a i-095bbc142XXXXZZZZ hogehoge-public
ap-northeast-1a i-0eb8057daXXXXZZZZ hogehoge-test
ap-northeast-1a i-0188f3352XXXXZZZZ hogehoge-instance-public2
全てのEC2インスタンスの Public IP と Public DNS Name を取得
全てのEC2インスタンスのタグ名を取得
EC2インスタンスのNameタグを取得する
EC2インスンタンスへ ssh でアクセスするのに必要な情報を取得
EC2 で取得しているグローバルIP(Elastic IP)を CLI で一覧する
停止しているEC2インスタンスIDの一覧を確認
AutoScalingで起動しているインスタンスの状態,InstanceID,PublicDnsName,PublicIpAddressの一覧を取得
EC2の削除保護を無効化
AMI作成(タイムスタンプ付き)
Security Group
セキュリティグループの追加:Inbound
セキュリティグループの削除:Inbound
Snapshot関連
SnapshotIdの一覧を取得
s3
s3バケットの一覧を表示
$aws2 s3 ls
2020-03-19 15:47:53 cf-templates-hoge-ap-northeast-1
2020-03-18 14:25:19 hoge-bucket
2020-03-19 11:23:39 hoge-bucket2
2020-03-19 17:55:14 hoge-test-s3bucket-1na34p8a8xxxx
s3バケットの作成
$aws2 s3 mb s3://test-appswingby
make_bucket: test-appswingby
[注意]s3の名前空間は、すべてのユーザーと共有されている為、同じ名前のバケットを作成することができません。因みに既に同じ名前のバケット名が存在していると、以下のエラーが返ってきます。
$aws2 s3 mb s3://test
make_bucket failed: s3://test An error occurred (BucketAlreadyExists) when calling the CreateBucket operation: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.
s3バケットの削除
$aws2 s3 rb s3://test-appswingby
remove_bucket: test-appswingby
上記コマンドでは、バケットの中が空である必要があります。バケット内にサブフォルダやオブジェクトが残っている場合には、 –force をつけることで削除することができます。
$aws2 s3 rb s3://test-appswingby --force
※mbは、make bucket の略。rbはremove bucketの略。だと思う。
ローカルからs3バケットへのファイルコピー
$aws2 s3 cp s3sync_test.txt s3://test-appswingby
upload: .s3sync_test.txt to s3://test-appswingby/s3sync_test.txt
ローカルフォルダとs3バケットの同期
$aws2 s3 sync C:Usersusershoge s3://test-appswingby
upload: .s3sync_test.txt to s3://test-appswingby/s3sync_test.txt
※更新されているファイルがない場合は、特に何も表示されることなくコマンドが終了します。
s3バケット内にあるオブジェクト(ファイル)の削除
$aws2 s3 rm s3://test-appswingby/s3sync_test.txt
delete: s3://test-appswingby/s3sync_test.txt