インフラエンジニアの隙間時間 Infrastructure Engineer's Spare Time

2025.03.11

【AWS】[AWSCLI] エビデンス取得効率化コマンド一覧

概要

変更作業等のエビデンス取得を画面キャプチャでやっていると、下記の課題があると思います。

  • 面倒くさい
  • キャプチャは変更の全量がとれない
  • 変更箇所以外を変更していないエビデンスがない

っていうのをAWS CLIでテキスト出力して楽ちんする方法です。
使い方は、作業前と作業後をテキスト出力して、diff結果から変更箇所を確認。エビデンス取る方も確認する方も楽ができて効率UP!!

AWS CLI

| コンポーネント | 項目 | 用途 | コマンド |
| --- | --- | --- | --- |
| EC2 | AMI | AMI一覧取得 | aws ec2 describe-images \ 
??--region ap-northeast-1 \
??--owners self \
??--query 'reverse(sortby(Images,&CreationDate)[].{ImageId:ImageId, CreationDate:CreationDate})' \
??--output table | | EC2 | スナップショット | スナップショット一覧取得 | aws ec2 describe-snapshots \
--region ap-northeast-1 \
--owner-ids self \
--query 'reverse(sort
by(Snapshots,&StartTime)[].{SnapshotId:SnapshotId,StartTime:StartTime})' \
--output table | | EC2 | EBS | EBS一覧取得 | aws ec2 describe-volumes --output table \
--query 'Volumes[].{ID:VolumeId, State:State, Type:VolumeType, Size:Size, Iops:Iops, Throughput:Throughput}' | | EC2 | EBS | EBS一覧取得
(インスタンス情報もつける) | aws ec2 describe-volumes --output table \
--query 'Volumes[
].{ID:VolumeId, State:State, Type:VolumeType, Size:Size, Iops:Iops, Throughput:Throughput,InstanceId:Attachments[0].InstanceId,InstanceName:Tags[0].Value}' | | EC2 | EBS | EBS設定変更の進行状況 | aws ec2 describe-volumes-modifications --output table \
--query 'VolumesModifications[].{ID:VolumeId, State:ModificationState, Progress:Progress, StartTime:StartTime}' | | EC2 | ENI | VPCフローログ一覧取得 | aws ec2 describe-flow-logs --output table \
--query 'FlowLogs[
].{FlowLogId:FlowLogId, ResourceId:ResourceId, LogGroupName:LogGroupName, LogDestinationType:LogDestinationType, LogDestination:LogDestination}' | | ELB | ALBリスナールール | リスナールール一覧の取得 | aws elbv2 describe-rules \
--listener-arn #ELBのリスナーarn# \
--query 'Rules[].{Priority: Priority, RuleArn: RuleArn}'
--output=table | | S3 | バケット | バケット一覧取得 | aws s3 ls | | S3 | ライフサイクルポリシー | ライフサイクルポリシーの取得 | aws s3api get-bucket-lifecycle-configuration --bucket #バケット名# | | S3 | バケットポリシー | バケットポリシーの取得 | aws s3api get-bucket-policy --bucket #バケット名# \
--query Policy --output text | jq . --indent 4 | | S3 | アクセスログ | アクセスログ設定の取得 | aws s3api get-bucket-logging --bucket #バケット名# | | IAM | IAM ポリシー | IAM ポリシーの取得 | aws iam get-policy-version \
--version-id #対象ポリシーのバージョン# \
--policy-arn #対象ポリシーのARN# \
--query 'PolicyVersion.Document' | | SQS | SQSキュー | sqs キューの取得 |for QueueUrl in \$(aws sqs list-queues --query "QueueUrls[]" --output text);
do
aws sqs get-queue-attributes --queue-url "$QueueUrl" --attribute-names All
done| | Lambda | Lambda 関数 | Lambda 関数コードの取得 |func="#Lambda関数名#"
url=\$(aws lambda get-function --function-name ${func} \| jq -r '.Code.Location')
curl -o lambda.zip $url | | Lambda | Lambda 関数 | function一覧の取得 |aws lambda list-functions --output table \
--query 'sortby(Functions, &FunctionName)[*].{FunctionName:FunctionName, FunctionArn:FunctionArn, Runtime:Runtime, LastModified:LastModified}' | | VPC | ルートテーブル | ルートテーブルの取得 | aws ec2 describe-route-tables \
--route-table-ids #ルートテーブルのID# \
--output json | | VPC | TGW |TGW attachmentsの一覧取得 | aws ec2 describe-transit-gateway-attachments | | VPC | TGW |TGW route-table-associationsの一覧取得 | aws ec2 get-transit-gateway-route-table-associations --transit-gateway-route-table-id #TGW route tableのID# --output table | | VPC | TGW |TGW route-table-propagationsの一覧取得 | aws ec2 get-transit-gateway-route-table-propagations --transit-gateway-route-table-id #TGW route tableのID# --output table | | VPC | TGW |TGW 全route-tableの一覧取得 | aws ec2 search-transit-gateway-routes --transit-gateway-route-table-id tgw-rtb-0f486b7edea1ee8e2 --filters "Name=state,Values=active,blackhole" || cloudwatch | CWイベントルール | ルール設定の取得 | aws events describe-rule --name #ルール名# | | ResourceAccessManager | principals |principalsの一覧取得 | aws ram list-principals --resource-owner SELF --resource-type #任意のリソースタイプ# || cloudwatch | CWイベントルール | ターゲット設定の取得 | aws events list-targets-by-rule --rule??#ルール名# | | cloudwatch | cwlogs | ログの抽出 | awslogs get #ロググループ名# \
--start='DD/MM/YYYY HH:MM' \
--end='DD/MM/YYYY HH:MM' > #出力先のファイル名.csv# | | cloudwatch | CWアラーム | CWアラーム一覧の取得 | aws cloudwatch describe-alarms \| jq '.MetricAlarms \| map({AlarmName: .AlarmName, AlarmActions: .AlarmActions}) \| sort
by(.AlarmName)' | | cloudfront | ディストリビューション |ディストリビューション一覧取得 | aws cloudfront list-distributions | | acm | 証明書 |証明書一覧取得 | aws acm list-certificates |

記事一覧に戻る