Skip to content

cli with jqLink

  • カテゴリはAWS Documentationにあわせる
  • VPCのように複数のカテゴリに出現するものは先のカテゴリにいれる
  • NatGateway のようにカテゴリにもサービスとしても独立していないものはなるべくわかりやすい位置にいれる。EC2 のサブコマンドになっているが、VPCと関連が高いのでVPCの下におくなど
  • 頻繁に更新されるので、ゆるゆると追従予定
  • jqのページも参照

ComputeLink

Amazon EC2Link

インスタンスIDLink

INSTANCE_ID=`curl -s http://169.254.169.254/latest/meta-data/instance-id`

インスタンス情報Link

INSTANCE_DATA=`aws ec2 describe-instances --instance-id $INSTANCE_ID`

プライベートIPLink

PRIVATE_IPV4=`echo $INSTANCE_DATA | jq -r '.Reservations[].Instances[].PrivateIpAddress'`

タグ(全て)Link

echo $INSTANCE_DATA | jq -r '.Reservations[].Instances[].Tags[]'

タグ(指定のキーの値)Link

echo $INSTANCE_DATA | jq -r '.Reservations[].Instances[].Tags[] | select(.Key == "Project") | .Value'

タグ(指定のキーの値(改))Link

echo $INSTANCE_DATA | jq -r '.Reservations[].Instances[] | (.Tags | from_entries | .Project)'

Project タグLink

TAG_PROJECT=`echo $INSTANCE_DATA | jq -r '.Reservations[].Instances[] | (.Tags | from_entries | .Project)'`

Environment タグLink

TAG_ENVIRONMENT=`echo $INSTANCE_DATA | jq -r '.Reservations[].Instances[] | (.Tags | from_entries | .Environment)'`

Region の一覧Link

aws ec2 describe-regions | jq -r '.Regions | sort_by(.RegionName)[].RegionName'

リージョン内のEC2のリストLink

-c で改行しないコンパクト表示、-r でダブルクォーテーションをつけない、@tsv で TSV出力

aws ec2 describe-instances --region ap-northeast-1 | jq -c -r '.Reservations[].Instances[] | [.Placement.AvailabilityZone, .State.Name, .InstanceId, (.Tags[] | select(.Key=="Name").Value)] | @tsv'

Amazon VPCLink

VPC の一覧(Nameも)Link

aws ec2 describe-vpcs | jq -r '.Vpcs[] | .VpcId, (.Tags[] | select(.Key == "Name") | .Value)'

Tags については from_entries を使うとタイプ数が減るLink

aws ec2 describe-vpcs | jq -r '.Vpcs[] | .VpcId, (.Tags | from_entries | .Name)'

特定のVPCのsubnetをリストLink

aws ec2 describe-subnets | jq -r '.Subnets[] | select(.VpcId == "$VpcId") | (.Tags | from_entries | .Name), .CidrBlock'

AWS NatGatewayLink

特定のVPCのNatGatewayをリストLink

aws ec2 describe-nat-gateways | jq -r '.NatGateways[] | select(.VpcId == "$VpcId") | .NatGatewayAddresses, (.Tags|from_entries|.Name)'

StorageLink

DatabaseLink

MigrationLink

Networking & Content DeliveryLink

Amazon CloudFrontLink

ディストリビューションをリストLink

aws cloudfront list-distributions | jq -r '.DistributionList.Items[] | .Id'

特定のエイリアスのディストリビューションを取得([0]をやめたい。。。)Link

aws cloudfront list-distributions | jq -r '.DistributionList.Items[] | select(.Aliases.Items[0] == "example.com")   | .Id'

AWS Route53Link

zone をリストLink

aws route53 list-hosted-zones | jq -r '.HostedZones[].Name | rtrimstr(".")' | more

Private zone をリストLink

aws route53 list-hosted-zones | jq -r '.HostedZones[] | select(.Config.PrivateZone == true) | .Name | rtrimstr(".")'

PrivateDNS と VPC の関連を取得したいけど、リストから取得する方法がわからないLink

aws route53 get-hosted-zone --id $HostedZoneId | jq -r '.VPCs[].VPCId'

Developer ToolsLink

Management ToolsLink

Media ServicesLink

Machine LearningLink

AnalyticsLink

Security, Identity, & ComplianceLink

Mobile ServicesLink

AR & VRLink

Application IntegrationLink

Customer EngagementLink

Amazon SESLink

リージョンを指定(対応リージョン注意)Link

export AWS_DEFAULT_REGION=us-east-1

domain=DOMAIN

aws ses verify-domain-identity --domain $domain

aws ses list-identities

aws ses get-identity-verification-attributes --identities $domain

aws ses get-identity-mail-from-domain-attributes --identities $domain

Business ProductivityLink

Desktop & App StreamingLink

Internet of ThingsLink

Game DevelopmentLink

SDKs & ToolkitsLink

Additional Software & ServicesLink

General ReferenceLink

AWS Management ConsoleLink

ResourcesLink