AWS CLI¶
AWS CLI は、AWS リソースをコマンドラインから参照・操作するための基本ツール。
まず押さえたいこと¶
- 認証情報と profile を整理して使う
- まずは参照系コマンドを安定して打てるようにする
--queryと--outputを使うと見やすくなる
profile の基本¶
aws configure --profile dev
aws configure list --profile dev
aws sts get-caller-identity --profile dev
メモ:
- まず
get-caller-identityで「今どの認証情報を使っているか」を確認する癖を付ける - 複数アカウントを触るなら profile 名を揃えると楽
実務でよく使う流れ¶
1. profile / identity を確認する
2. describe 系で対象リソースを探す
3. --query で必要な項目だけ抜く
4. --output table / text で見やすくする
よく使う参照コマンド¶
共通¶
aws configure list
aws sts get-caller-identity
aws ec2 describe-regions
EC2 / VPC¶
aws ec2 describe-instances
aws ec2 describe-vpcs
aws ec2 describe-subnets
aws ec2 describe-security-groups
aws ec2 describe-route-tables
よく使う例:
aws ec2 describe-instances \
--query "Reservations[].Instances[].{Id:InstanceId,State:State.Name,Type:InstanceType}" \
--output table
aws ec2 describe-security-groups \
--filters Name=ip-permission.from-port,Values=22 Name=ip-permission.cidr,Values='0.0.0.0/0' \
--query "SecurityGroups[*].[GroupName]" \
--output text
S3¶
aws s3 ls
aws s3api list-buckets
aws s3api get-bucket-versioning --bucket <bucket-name>
よく使う例:
aws s3api list-buckets --query "Buckets[].Name"
aws s3api get-bucket-versioning --bucket <bucket-name>
IAM¶
aws iam list-roles
aws iam list-users
aws iam get-role --role-name <role-name>
よく使う例:
aws sts get-caller-identity
aws iam get-role --role-name <role-name> --query "Role.Arn" --output text
CloudWatch / CloudTrail¶
aws cloudwatch list-metrics
aws logs describe-log-groups
aws cloudtrail describe-trails
ECS / EKS¶
aws ecs list-clusters
aws ecs list-services --cluster <cluster-name>
aws eks list-clusters
aws eks describe-cluster --name <cluster-name>
見やすくする例¶
aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId" --output text
aws s3api list-buckets --query "Buckets[].Name" --output table
実務でよく使う --query¶
- 1 項目だけ抜く
- 配列を表形式で見る
- ネストした JSON から必要項目だけ切り出す
例:
aws ec2 describe-subnets \
--query "Subnets[].{Id:SubnetId,Cidr:CidrBlock,Az:AvailabilityZone}" \
--output table
aws logs describe-log-groups \
--query "logGroups[].logGroupName" \
--output text
公式ドキュメント¶
- AWS CLI command reference: https://docs.aws.amazon.com/cli/
- AWS CLI examples repository: https://github.com/aws/aws-cli/tree/develop/awscli/examples
メモ¶
- まずは
describe系で状況確認できるようになると実務でかなり使いやすい queryを使えるようになると、コンソールを開かずにかなりの確認ができる