【AWS】コマンドメモ

目次

CloudFront

ディストリビューション一覧

aws cloudfront list-distributions --query 'DistributionList.Items[*].{Id:Id,Domain:DomainName}'

指定したディストリビューションに適用されているALB確認

aws cloudfront get-distribution-config --id YOUR_DISTRIBUTION_ID --query 'DistributionConfig.Origins.Items[*].DomainName'

ECS

クラスター

一覧取得

aws ecs list-clusters

削除

aws ecs delete-cluster --cluster <クラスター>

ECR(Elastic Container Registry)

リポジトリ一覧取得

aws ecr describe-repositories --query "repositories[*].repositoryName" --output table

リポジトリ作成

aws ecr create-repository --repository-name 'xxxxxxxxxx' --encryption-configuration '{"encryptionType":"AES256"}' --image-tag-mutability 'MUTABLE' --image-scanning-configuration '{"scanOnPush":false}' 

リポジトリ削除

aws ecr delete-repository --repository-name 'xxxxxxxxxx' --force 

ElastiCache

キャッシュ作成

Valkey

aws elasticache create-serverless-cache \
  --serverless-cache-name ElastiCache名 \
  --engine valkey \
  --subnet-group-name サブネットグループ名 \
  --security-group-ids セキュリティグループID \
  --region ap-northeast-1

キャッシュ削除

aws elasticache delete-serverless-cache --serverless-cache-name 'xxxxx' 

エンドポイント確認

aws elasticache describe-serverless-caches \
  --query "ServerlessCaches[].Endpoint.Address" \
  --output text

ELB(ALB)

ドメイン名からALBを検索

aws elbv2 describe-load-balancers \
  --query "LoadBalancers[?DNSName=='my-alb-123456.ap-northeast-1.elb.amazonaws.com']"

ALBドメイン名から使用しているセキュリティグループを検索

aws elbv2 describe-load-balancers --query "LoadBalancers[?DNSName=='my-alb-xxxx.ap-northeast-1.elb.amazonaws.com'].SecurityGroups" --output text

IAM

ロール

一覧

aws iam list-roles --query "Roles[].RoleName"

ロール名で検索

aws iam get-role --role-name ロール名

ロールに付与されている外部ポリシーを調べる

aws iam list-attached-role-policies --role-name ロール名

ポリシー

一覧

aws iam list-policies --query "Policies[].PolicyName"

ARNを取得

aws iam list-policies --query "Policies[?PolicyName=='ポリシー名'].Arn"

aws iam get-policy --policy-arn ARN

OpenSearch

コレクション

一覧

aws opensearchserverless list-collections --query "collectionSummaries[].name"

コレクション名で検索

aws opensearchserverless batch-get-collection --names コレクション名

ポリシー

ネットワーク一覧

aws opensearchserverless list-security-policies \
  --type network \
  --query "securityPolicySummaries[].name" \
  --output text

データポリシー一覧

aws opensearchserverless list-access-policies \
  --query "accessPolicySummaries[].name" \
  --output text

S3

バケット

作成

aws s3 mb s3://odaneko-nextjs

一覧取得

aws s3 ls

削除

aws s3 rb s3://odaneko-nextjs --force

フォルダ

作成

aws s3api put-object --bucket odaneko-nextjs --key fol/

一覧取得

ルート配下のフォルダ一覧取得
aws s3api list-objects-v2 --bucket odaneko-nextjs --delimiter "/" --query "CommonPrefixes[].Prefix" --output text
指定フォルダ配下のフォルダ一覧取得
aws s3api list-objects-v2 --bucket odaneko-nextjs --prefix "test/" --delimiter "/" --query "CommonPrefixes[].Prefix" --output text

ファイル一覧取得

aws s3 ls s3://odaneko-nextjs/

VPC

VPC本体

一覧取得

aws ec2 describe-vpcs \
  --query 'Vpcs[*].{VpcId:VpcId,Cidr:CidrBlock,Name:Tags[?Key==`Name`]|[0].Value}' \
  --output table

サブネット

サブネット作成(d)

aws ec2 create-subnet --vpc-id vpc-xxxxxxxx --cidr-block 10.0.3.0/24 --availability-zone ap-northeast-1d

プライベート化

aws ec2 modify-subnet-attribute --subnet-id subnet-xxxxxxxx --no-map-public-ip-on-launch

後から名前を付ける

aws ec2 create-tags --resources subnet-xxxxxxxx --tags Key=Name,Value=private-subnet-1d

特定のVPCのサブネット一覧取得

aws ec2 describe-subnets --filters Name=vpc-id,Values=vpc-03576f7339286ff4e --region ap-northeast-1 --query 'Subnets[*].{SubnetId:SubnetId,Cidr:CidrBlock,AZ:AvailabilityZone,Name:Tags[?Key==`Name`]|[0].Value}' --output table

サブネットグループ

一覧

aws elasticache describe-cache-subnet-groups \
  --query "CacheSubnetGroups[].{Name:CacheSubnetGroupName, SubnetIds:Subnets[].SubnetIdentifier}" \
  --output table

作成

aws elasticache create-cache-subnet-group \
  --cache-subnet-group-name my-redis-subnet-group \
  --cache-subnet-group-description "subnet group for redis" \
  --subnet-ids subnet-aaaa subnet-bbbb \
  --region ap-northeast-1

WAF

IPセット

一覧取得

aws wafv2 list-ip-sets --scope REGIONAL --region <REGION>

一覧取得(CloudFront)

aws wafv2 list-ip-sets --scope CLOUDFRONT --region us-east-1

セキュリティグループ

一覧取得

aws ec2 describe-security-groups --query 'SecurityGroups[*].{GroupId:GroupId,Name:GroupName,VpcId:VpcId}' --output table

作成

aws ec2 create-security-group \
  --group-name セキュリティグループ名 \
  --description "説明" \
  --vpc-id VPCのID

詳細確認

aws ec2 describe-security-groups \
  --group-ids セキュリティグループID \
  --query "SecurityGroups[].{
    GroupId:GroupId,
    Name:GroupName,
    Inbound:IpPermissions,
    Outbound:IpPermissionsEgress
  }"

以上になります。
お読み頂き、ありがとうございました。