4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS コマンドラインインターフェース

Last updated at Posted at 2015-08-14

AWS Security Token Service(STS)

AWS アカウント ID 取得

$ aws sts get-caller-identity --query Account --output text

IAM

ユーザー一覧

$ aws iam list-users

ユーザー作成

$ aws iam create-user --user-name ${user}

ユーザーのアクセスキー作成

$ aws iam create-access-key --user-name ${user} | jq -r '.AccessKey | .AccessKeyId, .SecretAccessKey'

ユーザーのアクセスキー削除

$ aws iam delete-access-key --user-name ${user} --access-key-id $(aws iam list-access-keys --user-name ${user} | jq -r '.AccessKeyMetadata[].AccessKeyId')

ユーザーのインスタンスプロファイル表示

aws iam get-login-profile --user-name ${user}

ユーザーのインスタンスプロファイル削除

aws iam delete-login-profile --user-name ${user}

ユーザー削除

$ aws iam delete-user --user-name ${user}

ポリシー一覧

$ aws iam list-policies | jq -r '.Policies[] | select(.PolicyName=="ALBIngressControllerIAMPolicy")'

ポリシー削除

arn=$(aws iam list-policies | jq -r '.Policies[] | select(.PolicyName=="ALBIngressControllerIAMPolicy") | .Arn')
aws iam delete-policy --policy-arn ${arn}

ロールにアタッチされているポリシー一覧

$ aws iam list-attached-role-policies --role-name AmazonEKSFargatePodExecutionRole

ロールにアタッチされているポリシーをデタッチ

aws iam detach-role-policy --role-name $ROLE_NAME --policy-arn $POLICY_ARN

ロール削除

$ aws iam delete-role --role-name ${role_name}

ACM

証明書一覧

$ aws acm list-certificates

KMS

エイリアス削除

$ aws kms delete-alias --alias-name alias/xxxx

VPC

VPC一覧

$ aws ec2 describe-vpcs | jq -r '.Vpcs[] | .VpcId, .Tags'

サブネット一覧

$ aws ec2 describe-subnets | jq -r '.Subnets[] | select(.Tags != null) | select(.Tags[]|select(.Key=="Name")|select(.Value=="xxxx-dev-private-subnet-1a")) | .SubnetId'

Route53

ホストゾーン一覧

$ aws route53 list-hosted-zones

ホストゾーン詳細

$ aws route53 get-hosted-zone --id $(aws route53 list-hosted-zones | jq -r '.HostedZones[] | select(.Name=="hoge.com.") | .Id')

レコードセット一覧

$ aws route53 list-resource-record-sets --hosted-zone-id $(aws route53 list-hosted-zones | jq -r '.HostedZones[] | select(.Name=="hoge.com.") | .Id' | perl -pe 's/^\/hostedzone\/(.+)$/${1}/')

ELB/ALB

ロードバランサー一覧

aws elbv2 describe-load-balancers | jq -r '.LoadBalancers[] | select(.VpcId=="vpc-XXXXXXXXXXXXXXXXX") | .LoadBalancerName'

EC2

AMI 検索

$ aws ec2 describe-images --owners amazon --region ap-northeast-1 --filters "Name=name,Values=amzn2-ami-hvm-2.0.????????-x86_64-gp2" "Name=state,Values=available" --query 'reverse(sort_by(Images[].{Name:Name, ID:ImageId, State:State},&Name))' --out table
---------------------------------------------------------------------------------
|                                DescribeImages                                 |
+------------------------+-----------------------------------------+------------+
|           ID           |                  Name                   |   State    |
+------------------------+-----------------------------------------+------------+
|  ami-0c3fd0f5d33134a76 |  amzn2-ami-hvm-2.0.20190618-x86_64-gp2  |  available |
|  ami-084040f99a74ce8c3 |  amzn2-ami-hvm-2.0.20190612-x86_64-gp2  |  available |
|  ami-00d101850e971728d |  amzn2-ami-hvm-2.0.20190508-x86_64-gp2  |  available |
|  ami-0f9ae750e8274075b |  amzn2-ami-hvm-2.0.20190313-x86_64-gp2  |  available |
|  ami-097473abce069b8e9 |  amzn2-ami-hvm-2.0.20190228-x86_64-gp2  |  available |
|  ami-05cd6c87a37390178 |  amzn2-ami-hvm-2.0.20190218-x86_64-gp2  |  available |
|  ami-0d7ed3ddb85b521a6 |  amzn2-ami-hvm-2.0.20190115-x86_64-gp2  |  available |
|  ami-0bab560bf1ee352f5 |  amzn2-ami-hvm-2.0.20190110-x86_64-gp2  |  available |
|  ami-0a2de1c3b415889d2 |  amzn2-ami-hvm-2.0.20181114-x86_64-gp2  |  available |
|  ami-00f9d04b3b3092052 |  amzn2-ami-hvm-2.0.20181024-x86_64-gp2  |  available |
|  ami-04d3eb2e1993f679b |  amzn2-ami-hvm-2.0.20181008-x86_64-gp2  |  available |
|  ami-06962fe7164c1fe7b |  amzn2-ami-hvm-2.0.20180924-x86_64-gp2  |  available |
|  ami-08847abae18baa040 |  amzn2-ami-hvm-2.0.20180810-x86_64-gp2  |  available |
+------------------------+-----------------------------------------+------------+

インスタンス一覧

$ aws ec2 describe-instances --filters "Name=tag:Name,Values=xxxx-dev-web" "Name=instance-state-name,Values=running" | jq -r '.Reservations[].Instances[] | .InstanceId, .State.Name, .Placement.AvailabilityZone'

インスタンス起動

$ aws ec2 start-instances --instance-ids i-xxxxxxxxxxxxxxxxx

インスタンス停止

$ aws ec2 stop-instances --instance-ids i-xxxxxxxxxxxxxxxxx

セキュリティグループ一覧

aws ec2 describe-security-groups | jq -r '.SecurityGroups[] | select(.Tags != null) | select(.Tags[]|select(.Key=="Name")|select(.Value=="xxxx-dev-alb")) | .GroupId'

キーペア一覧

$ aws ec2 describe-key-pairs

ECR

リポジトリ一覧

aws ecr describe-repositories --region ap-northeast-1 | jq -r '.repositories[] | .repositoryArn, .repositoryName, .repositoryUri'

イメージ一覧

aws ecr describe-images --region ap-northeast-1 --repository-name nginx | jq -r '.imageDetails[]'

イメージの削除

aws ecr batch-delete-image --region ap-northeast-1 --repository-name nginx --image-ids imageTag=1.0.0

EKS

クラスタ一一覧表示

$ aws eks list-clusters

クラスター詳細

aws eks describe-cluster --name xxxx-dev-cluster

クラスターの Fargate プロファイル一覧

$ aws eks list-fargate-profiles --cluster-name ${cluster_name}

Fargate プロファイル削除

$ aws eks delete-fargate-profile --cluster-name ${cluster_name} --fargate-profile-name ${fargate_profile_name}

ECS

クラスタ一ARN一覧表示

$ aws ecs list-clusters   

コンテナインスタンスARN一覧

aws ecs list-container-instances --cluster arn:aws:ecs:ap-northeast-1:xxxxxxxxxxxx:cluster/xxxx-dev-cluster
aws ecs list-container-instances --cluster xxxx-dev-cluster

コンテナインスタンス一覧

aws ecs describe-container-instances --cluster arn:aws:ecs:ap-northeast-1:xxxxxxxxxxxx:cluster/xxxx-dev-cluster --container-instance arn:aws:ecs:ap-northeast-1:xxxxxxxxxxxx:container-instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
aws ecs describe-container-instances --cluster xxxx-dev-cluster --container-instance xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

サービスARN一覧表示

$ aws ecs list-services --cluster arn:aws:ecs:ap-northeast-1:xxxxxxxxxxxx:cluster/xxxx-dev-cluster
$ aws ecs list-services --cluster xxxx-dev-cluster

サービス一覧表示

aws ecs describe-services --cluster xxxx-dev-cluster --services xxxx-dev-service | jq -r '.services[] | .serviceName, .desiredCount, .runningCount, .pendingCount'

サービス更新(タスク数変更)

aws ecs update-service --cluster xxxx-dev-cluster --service xxxx-dev-service --desired-count 999

サービス更新(タスク定義変更)

aws ecs update-service --cluster xxxx-dev-cluster --service xxxx-dev-service --task-definition xxxx-dev:999

タスク一覧(xxxx-dev-cluster)

aws ecs list-tasks --cluster xxxx-dev-cluster

タスク削除(xxxx-dev-cluster)

aws ecs stop-task --cluster xxxx-dev-cluster --task xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 
aws ecs stop-task --cluster xxxx-dev-cluster --task arn:aws:ecs:ap-northeast-1:xxxxxxxxxxxx:task/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Auto Scaling

Auto Scaling グループ一覧

aws autoscaling describe-auto-scaling-groups | jq -r '.AutoScalingGroups[] | select(.AutoScalingGroupName | startswith("xxxx-dev-web")) | .LaunchConfigurationName, .DesiredCapacity, .MinSize, .MaxSize'
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names xxxx-dev-web | jq -r '.AutoScalingGroups[] | .LaunchConfigurationName, .DesiredCapacity, .MinSize, .MaxSize'

Auto Scaling グループ更新

aws autoscaling update-auto-scaling-group --auto-scaling-group-name xxxx-dev-web --min-size 1 --max-size 1 --desired-capacity 1

Application Auto Scaling

ターゲット一覧(ECS)

aws application-autoscaling describe-scalable-targets --service-namespace ecs | jq -r '.ScalableTargets[] | select(.ResourceId | test("^.+dev-cluster.+dev-web-service$")) | .MinCapacity, .MaxCapacity'

ターゲットの追跡スケーリングポリシーの作成(ECS)

aws application-autoscaling register-scalable-target --service-namespace ecs --resource-id service/xxxx-dev-cluster/xxxx-dev-web-service --scalable-dimension ecs:service:DesiredCount --min-capacity 1 --max-capacity 2

S3

バケットの作成

$ aws s3 mb s3://hoge.bucket

バケットの一覧表示

$ aws s3 ls                       
2015-08-14 10:15:08 hoge.bucket

バケットの削除

$ aws s3 rb s3://hoge.bucket

ファイルのコピー(ローカル → S3)

$ aws s3 cp ~/text.txt s3://hoge.bucket/

ファイルの削除

$ aws s3 rm s3://hoge.bucket/test.txt

ディレクトリの削除

$ aws s3 rm s3://hoge.bucket/test_dir --recursive

バケットポリシーの更新

$ aws s3api put-bucket-policy --bucket hoge-tfstate --policy \
'{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {"AWS":"arn:aws:iam::999999999999:user/terraformer"},
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::hoge-tfstate"
    },
    {
      "Effect": "Allow",
      "Principal": {"AWS":"arn:aws:iam::999999999999:user/terraformer"},
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::hoge-tfstate/terraform.tfstate"
    }
  ]
}'

CloudFormation

スタックの情報とリストの取得

$ aws cloudformation list-stacks

スタックの削除

$ aws cloudformation delete-stack --stack-name my-stack

テンプレートの検証

$ aws cloudformation validate-template --template-url https://s3-ap-northeast-1.amazonaws.com/template.bucket/lambda_myfunc.json

RDS

DBクラスター一覧

$ aws rds describe-db-clusters

インスタンス一覧

$ aws rds describe-db-instances \
  | jq -r '.DBInstances[] | select(.DBInstanceIdentifier | startswith("xxxx-dev")) | .DBInstanceIdentifier, .DBInstanceClass, .DBInstanceStatus'

DBエンジンのバージョンの確認

$ aws rds describe-db-instances \
  | jq -r '.DBInstances[] | select(.DBInstanceIdentifier | startswith("xxxx-dev")) | .EngineVersion'

DBパラメータグループ一覧

$ aws rds describe-db-parameters

DBパラメータグループのパラメータ値表示

$ aws rds describe-db-parameters --db-parameter-group-name xxxxxxxx

Aurora DB クラスターのスナップショット一覧

$ aws rds describe-db-cluster-snapshots \
  | jq -r '.DBClusterSnapshots[] | select(.DBClusterIdentifier | startswith("xxx-dev")) | .DBClusterSnapshotIdentifier'

DBクラスター&インスタンス作成(Aurora MySQL)

$ aws rds create-db-cluster \
  --database-name xxxx_dev_master \
  --db-cluster-identifier xxxx-dev-db-master-cluster \
  --engine aurora-mysql \
  --engine-version 5.7.12 \
  --port 3306 \
  --master-username xxxxxxxx \
  --master-user-password xxxxxxxxxxxxxxxx \
  --db-subnet-group-name xxxx-dev-vpc-xxxxxxxx \
  --vpc-security-group-ids "sg-xxxxxxxx" "sg-yyyyyyyy" \
  --enable-cloudwatch-logs-exports "error" "general" "audit" "slowquery"
$ aws rds create-db-instance \
  --db-instance-identifier xxxx-dev-db-master-0 \
  --db-instance-class db.r4.8xlarge \
  --engine aurora-mysql \
  --engine-version 5.7.12 \
  --auto-minor-version-upgrade \
  --db-cluster-identifier xxxx-dev-db-master-cluster \
  --db-parameter-group-name default.aurora-mysql5.7  \
  --no-publicly-accessible

レプリカ作成(Aurora MySQL)

$ aws rds create-db-instance \
  --db-instance-identifier xxxx-dev-db-master-1 \
  --db-instance-class db.r4.8xlarge \
  --engine aurora-mysql \
  --engine-version 5.7.12 \
  --auto-minor-version-upgrade \
  --db-cluster-identifier xxxx-dev-db-master-cluster \
  --db-parameter-group-name default.aurora-mysql5.7  \
  --no-publicly-accessible

インスタンス削除

$ aws rds delete-db-instance --db-instance-identifier xxxx-dev-db-master-1

スナップショットからリストア(Aurora MySQL)

$ aws rds restore-db-cluster-from-snapshot \
  --db-cluster-identifier xxxx-dev-db-master-cluster \
  --snapshot-identifier xxxx-dev-db-master-final-snapshot \
  --engine aurora-mysql \
  --engine-version 5.7.12 \
  --port 3306 \
  --db-subnet-group-name xxxx-dev-vpc-xxxxxxxx \
  --vpc-security-group-ids "sg-xxxxxxxx" "sg-yyyyyyyy" \
  --enable-cloudwatch-logs-exports "error" "general" "audit" "slowquery"
$ aws rds create-db-instance \
  --db-instance-identifier xxxx-dev-db-master-0 \
  --db-instance-class db.r4.8xlarge \
  --engine aurora-mysql \
  --engine-version 5.7.12 \
  --auto-minor-version-upgrade \
  --db-cluster-identifier xxxx-dev-db-master-cluster \
  --db-parameter-group-name default.aurora-mysql5.7	 \
  --no-publicly-accessible

インスタンスタイプ変更(即時反映)

$ aws rds modify-db-instance --db-instance-identifier xxxx-dev-db-master-0 --db-instance-class db.r4.8xlarge --apply-immediately

イベントサブスクリプション一覧

$ aws rds describe-event-subscriptions

Aurora DB クラスターのスナップショットの削除

$ db_cluster_snapshot_identifiers=($(aws rds describe-db-cluster-snapshots | jq -r '.DBClusterSnapshots[] | select(.DBClusterIdentifier | startswith("xxxx-dev")) | .DBClusterSnapshotIdentifier'))
$ for db_cluster_snapshot_identifier in "${db_cluster_snapshot_identifiers[@]}"; do aws rds delete-db-cluster-snapshot --db-cluster-snapshot-identifier ${db_cluster_snapshot_identifier}; done

クラスターの削除保護の無効化

$ db_cluster_identifiers=($(aws rds describe-db-clusters | jq -r ".DBClusters[] | select(.DBClusterIdentifier | startswith(\"${project}-${env}-\")) | .DBClusterIdentifier"))
$ for db_cluster_identifier in ${db_cluster_identifiers[@]}; do
  echo ${db_cluster_identifier}
  echo 'before:'
  aws rds describe-db-clusters | jq -r ".DBClusters[] | select(.DBClusterIdentifier == \"${db_cluster_identifier}\") | .DeletionProtection"
  echo 'after:'
  aws rds modify-db-cluster --db-cluster-identifier ${db_cluster_identifier} --no-deletion-protection | jq -r '.DBCluster.DeletionProtection'
done

Elasticache

クラスター作成(memcached)

$ aws elasticache create-cache-cluster --cache-cluster-id xxxx-dev-cache --cache-node-type cache.r4.8xlarge --engine memcached --engine-version 1.4.34 --cache-parameter-group default.memcached1.4 --num-cache-nodes 2 --port 11211 --cache-subnet-group-name xxxx-dev-pri --security-group-ids sg-xxxxxxxx

レプリケーショングループ作成(Redis)(※シャード数:1、各シャードのレプリカの数:1)

$ aws elasticache create-replication-group --replication-group-id xxxx-dev-cache --replication-group-description xxxx-dev-cache --cache-node-type cache.r4.large --engine redis --engine-version 4.0.10 --cache-parameter-group default.redis4.0 --num-node-groups 1 --replicas-per-node-group 1 --port 6379 --cache-subnet-group-name xxxx-dev-pri --security-group-ids sg-xxxxxxxx

クラスター削除(memcached)(※スナップショット取得無し)

$ aws elasticache delete-cache-cluster --cache-cluster-id xxxx-dev-cache

レプリケーショングループ削除(Redis)(※スナップショット取得無し)

$ aws elasticache delete-replication-group --replication-group-id xxxx-dev-cache

クラスター一覧

$ aws elasticache describe-cache-clusters
$ aws elasticache describe-cache-clusters \
  | jq -r '.CacheClusters[] | select(.Engine == "memcached" and (.CacheClusterId | startswith("xxxx-dev"))) | .CacheClusterId, .CacheNodeType, .CacheClusterStatus'
$ aws elasticache describe-cache-clusters \
  | jq -r '.CacheClusters[] | select(.Engine == "redis" and (.CacheClusterId | startswith("xxxx-dev"))) | .CacheClusterId, .CacheNodeType, .CacheClusterStatus'

ノード情報の取得

$ aws elasticache describe-cache-clusters --show-cache-node-info
$ aws elasticache describe-cache-clusters --cache-cluster-id xxxxxxxx --show-cache-node-info

レプリケーショングループ一覧

aws elasticache describe-replication-groups | jq -r '.ReplicationGroups[] | select(.ReplicationGroupId | startswith("xxxx-dev")) | .ReplicationGroupId, .CacheNodeType, .Status'

レプリケーショングループのノード一覧

aws elasticache describe-replication-groups --replication-group-id xxxx-dev-cache | jq -r '.ReplicationGroups[].NodeGroups[].NodeGroupMembers[] | .CacheClusterId, .ReadEndpoint.Address'
aws elasticache describe-replication-groups | jq -r '.ReplicationGroups[] | select(.ReplicationGroupId == "xxxx-dev-cache") | .NodeGroups[].NodeGroupMembers[] | .CacheClusterId, .ReadEndpoint.Address'

DynamoDB

テーブル作成

aws dynamodb create-table \
    --table-name \
        persons \
    --attribute-definitions \
        AttributeName=id,AttributeType=N \
    --key-schema \
        AttributeName=id,KeyType=HASH \
    --provisioned-throughput \
        ReadCapacityUnits=5,WriteCapacityUnits=5

テーブル作成(JSONファイル読み込み)

スケルトンをベースにしてJSONを作成

aws dynamodb create-table --generate-cli-skeleton > dynamodb_create_table_persons.json
vi dynamodb_create_table_persons.json
dynamodb_create_table_persons.json
{
  "TableName": "persons",
  "AttributeDefinitions": [
    {
      "AttributeName": "id",
      "AttributeType": "N"
    }
  ],
  "KeySchema": [
    {
      "AttributeName": "id",
      "KeyType": "HASH"
    }
  ],
  "ProvisionedThroughput": {
    "WriteCapacityUnits": 5,
    "ReadCapacityUnits": 5
  }
}
aws dynamodb create-table --cli-input-json file://dynamodb_create_table_persons.json

データ追加

aws dynamodb put-item --table-name persons --item '{ "id": { "N": "1" }, "name": { "S": "tanaka" } }'

データ追加(バッチ)

スケルトンをベースにしてJSONを作成

aws dynamodb batch-write-item --generate-cli-skeleton > batch_write_item_put_persons.json
vi batch_write_item_put_persons.json
batch_write_item_put_persons.json
{
    "persons": [
        {
            "PutRequest": {
                "Item": {
                    "id": {
                        "N": "2"
                    },
                    "name": {
                        "S": "suzuki"
                    }
                }
            }
        },
        {
            "PutRequest": {
                "Item": {
                    "id": {
                        "N": "3"
                    },
                    "name": {
                        "S": "yamada"
                    }
                }
            }
        }
    ]
}
aws dynamodb batch-write-item --request-items file://batch_write_item_put_persons.json

データ削除

aws dynamodb delete-item --table-name persons --key '{"id": {"N": "1"}}'

データ削除(バッチ)

スケルトンをベースにしてJSONを作成

aws dynamodb batch-write-item --generate-cli-skeleton > batch_write_item_delete_persons.json
vi batch_write_item_delete_persons.json
batch_write_item_delete_persons.json
{
    "persons": [
        {
            "DeleteRequest": {
               "Key": {
                   "id": {
                       "N": "2"
                   }
               }
            }
        },
        {
            "DeleteRequest": {
               "Key": {
                   "id": {
                       "N": "3"
                   }
               }
            }
        }
    ]
}
aws dynamodb batch-write-item --request-items file://batch_write_item_delete_persons.json

テーブル一覧

aws dynamodb list-tables

テーブル削除

aws dynamodb delete-table --table-name persons

Elasticsearch

ドメイン一覧

$ aws es list-domain-names | jq -r '.DomainNames[].DomainName'

ドメイン詳細

$ aws es describe-elasticsearch-domain --domain-name xxxx-dev-system-log

Kinesis

ストリーム一覧

$ aws kinesis list-streams

ストリーム情報の取得

$ aws kinesis describe-stream --stream-name xxxxxxxx

レコードの取得

$ aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name xxxxxxxx
{
    "ShardIterator": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
$ aws kinesis get-records --shard-iterator xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Auto Scaling

Auto Scaling グループ一覧

$ aws autoscaling describe-auto-scaling-groups

CloudWatch

アラーム一覧

$ aws cloudwatch describe-alarms | jq -r '.MetricAlarms[]'

CloudWatch Logs

ロググループ一覧

完全一致

$ aws logs describe-log-groups | jq -r '.logGroups[] | select(.logGroupName=="/aws/lambda/api-dev") | .logGroupName'

前方一致

$ aws logs describe-log-groups | jq -r '.logGroups[] | select(.logGroupName | startswith("/aws/lambda")) | .logGroupName'

LIKE

$ aws logs describe-log-groups | jq -r '.logGroups[] | select(.logGroupName | contains("dev")) | .logGroupName'

ログストリーム一覧

最新の1件を取得

$ aws logs describe-log-streams --log-group-name /aws/lambda/api-dev --query 'logStreams[?lastEventTimestamp!=`null`]' --order-by LastEventTime --descending --max-items 1 | jq -r '.[].logStreamName'

ログ取得

最新のログストリームのログを取得

$ LOG_GROUP_NAME=$(aws logs describe-log-groups | jq -r '.logGroups[] | select(.logGroupName=="/aws/lambda/api-dev") | .logGroupName') && \
LOG_STREAM_NAME=$(aws logs describe-log-streams --log-group-name ${LOG_GROUP_NAME} --query 'logStreams[?lastEventTimestamp!=`null`]' --order-by LastEventTime --descending --max-items 1 | jq -r '.[].logStreamName') && \
aws logs get-log-events --log-group-name ${LOG_GROUP_NAME} --log-stream-name ${LOG_STREAM_NAME}

CloudWatch Events

ターゲット一覧

$ aws events list-targets-by-rule --rule xxxx-xxxx

WAF

IPSet一覧(Global(CloudFront))

aws wafv2 list-ip-sets --scope=CLOUDFRONT --region=us-east-1
4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?