こんにちは。AWS CLIが好きな福島です。
- はじめに
- 利用するコマンド,サブコマンド
- describe-transit-gateways
- describe-transit-gateway-attachments
- describe-transit-gateway-route-tables
- 終わりに
はじめに
今回は、Transit Gateway(以下TGW)関連の情報を取得するコマンドを記載いたします。
利用するコマンド,サブコマンド
まず、AWS CLIの構造は以下の通りです。
aws <command> <subcommand> [options and parameters]
上記を前提に今回使う <command>,<subcommand>
は、以下の通りです。
<command>
- ec2
※マネジメントコンソールでは、VPCリソースの中にTGWは定義されていますが、AWS CLIの場合、ec2の中に含まれます。
<subcommand>
- ①describe-transit-gateways
⇒TGWの情報を取得できます。 - ②describe-transit-gateway-attachments
⇒TGWのアタッチメントの情報を取得できます。 - ③describe-transit-gateway-route-tables
⇒TGWのルートテーブルの基本情報を取得できます。
では、ここから実際のコマンドを記載いたします。
describe-transit-gateways
①NameTag,TransitGatewayId
- 実行コマンド
aws ec2 describe-transit-gateways --query "TransitGateways[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId]" --output text
- 実行例
test-tgw tgw-08b630c3b1605b675
②①+AmazonSideAsn
- 実行コマンド
aws ec2 describe-transit-gateways --query "TransitGateways[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,Options.AmazonSideAsn]" --output text
- 実行例
test-tgw tgw-08b630c3b1605b675 64512
③①+State,OwnerId
- 実行コマンド
aws ec2 describe-transit-gateways --query "TransitGateways[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,State,OwnerId]" --output text
- 実行例
test-tgw tgw-08b630c3b1605b675 available XXXXXXXXXXXX
④①+Description
- 実行コマンド
aws ec2 describe-transit-gateways --query "TransitGateways[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,Description]" --output text
- 実行例
test-tgw tgw-08b630c3b1605b675 Transit Gateway for test
⑤①+DefaultRouteTableAssociation,AssociationDefaultRouteTableId
- 実行コマンド
aws ec2 describe-transit-gateways --query "TransitGateways[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,Options.DefaultRouteTableAssociation,Options.AssociationDefaultRouteTableId]" --output text
- 実行例
test-tgw tgw-08b630c3b1605b675 enable tgw-rtb-037f8142479810d43
⑥全情報
- 実行コマンド
aws ec2 describe-transit-gateways --query "TransitGateways[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,TransitGatewayArn,State,Description,Options.AmazonSideAsn,Options.TransitGatewayCidrBlocks[0],Options.AutoAcceptSharedAttachments,Options.DefaultRouteTableAssociation,Options.AssociationDefaultRouteTableId,Options.DefaultRouteTablePropagation,Options.PropagationDefaultRouteTableId,Options.VpnEcmpSupport,Options.DnsSupport,Options.MulticastSupport]" --output text
- 実行例
test-tgw tgw-08b630c3b1605b675 arn:aws:ec2:ap-northeast-1:271409176351:transit-gateway/tgw-08b630c3b1605b675 available Transit Gateway for test 64512 0.0.0.0/0 disable enable tgw-rtb-037f8142479810d43 enable tgw-rtb-037f8142479810d43 enable enable enable
ALLとは以下のことを指しております。
- NameTag
- TransitGatewayId
- TransitGatewayArn
- State
- OwnerId
- Description
- CreationTime
- AmazonSideAsn
- TransitGatewayCidrBlocks(1つのみ)
- AutoAcceptSharedAttachments
- DefaultRouteTableAssociation
- AssociationDefaultRouteTableId
- DefaultRouteTablePropagation
- PropagationDefaultRouteTableId
- VpnEcmpSupport
- DnsSupport
- MulticastSupport
上記のコマンドではヘッダーがないため、分かりづらいかと思いますので、Linuxのコマンドを駆使し、ヘッダーを付け、カンマ区切りで出力してみました。
⑦全情報(ヘッダー付き)
- 実行コマンド
echo "NameTag,TransitGatewayId,TransitGatewayArn,State,OwnerId,Description,CreationTime,AmazonSideAsn,TransitGatewayCidrBlocks[0],AutoAcceptSharedAttachments,DefaultRouteTableAssociation,AssociationDefaultRouteTableId,DefaultRouteTablePropagation,PropagationDefaultRouteTableId,VpnEcmpSupport,DnsSupport,MulticastSupport";\ aws ec2 describe-transit-gateways --query "TransitGateways[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,TransitGatewayArn,State,Description,Options.AmazonSideAsn,Options.TransitGatewayCidrBlocks[0],Options.AutoAcceptSharedAttachments,Options.DefaultRouteTableAssociation,Options.AssociationDefaultRouteTableId,Options.DefaultRouteTablePropagation,Options.PropagationDefaultRouteTableId,Options.VpnEcmpSupport,Options.DnsSupport,Options.MulticastSupport]" --output text | tr "\t" ","
- 実行例
NameTag,TransitGatewayId,TransitGatewayArn,State,OwnerId,Description,CreationTime,AmazonSideAsn,TransitGatewayCidrBlocks[0],AutoAcceptSharedAttachments,DefaultRouteTableAssociation,AssociationDefaultRouteTableId,DefaultRouteTablePropagation,PropagationDefaultRouteTableId,VpnEcmpSupport,DnsSupport,MulticastSupport test-tgw,tgw-08b630c3b1605b675,arn:aws:ec2:ap-northeast-1:XXXXXXXXXXXX:transit-gateway/tgw-08b630c3b1605b675,available,Transit Gateway for test,64512,0.0.0.0/0,disable,enable,tgw-rtb-037f8142479810d43,enable,tgw-rtb-037f8142479810d43,enable,enable,enable
describe-transit-gateway-attachments
①NameTag,TGWAttachmentID
- 実行コマンド
aws ec2 describe-transit-gateway-attachments --query "TransitGatewayAttachments[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayAttachmentId]" --output text
- 実行例
attachment-01 tgw-attach-04921ff7a05e83c2b attachment-02 tgw-attach-0b1a46ba9cd865c9e
②①+TransitGatewayAttachmentId,ResrouceType,ResrouceID
- 実行コマンド
aws ec2 describe-transit-gateway-attachments --query "TransitGatewayAttachments[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,TransitGatewayAttachmentId,ResourceType,ResourceId]" --output text
- 実行例
attachment-01 tgw-08b630c3b1605b675 tgw-attach-04921ff7a05e83c2b vpc vpc-0fee138d3e0deef81 attachment-02 tgw-08b630c3b1605b675 tgw-attach-0b1a46ba9cd865c9e vpc vpc-01fc1e58ae90ad6f6
③①+TransitGatewayRouteTableId,State
- 実行コマンド
aws ec2 describe-transit-gateway-attachments --query "TransitGatewayAttachments[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayId,Association.TransitGatewayRouteTableId,Association.State]" --output text
- 実行例
attachment-01 tgw-08b630c3b1605b675 tgw-rtb-037f8142479810d43 associated attachment-02 tgw-08b630c3b1605b675 tgw-rtb-037f8142479810d43 associated
describe-transit-gateway-route-tables
①NameTag,TransitGatewayRouteTableId,State
- 実行コマンド
aws ec2 describe-transit-gateway-route-tables --query "TransitGatewayRouteTables[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayRouteTableId,State]" --output text
- 実行例
test-route tgw-rtb-037f8142479810d43 available
②①+DefaultAssociationRouteTable,DefaultPropagationRouteTable
- 実行コマンド
aws ec2 describe-transit-gateway-route-tables --query "TransitGatewayRouteTables[].[Tags[?Key=='Name'] | [0].Value,TransitGatewayRouteTableId,State,DefaultAssociationRouteTable,DefaultPropagationRouteTable]" --output text
- 実行例
test-route tgw-rtb-037f8142479810d43 available True True
終わりに
今回は、TGW関連の情報を取得するコマンドをまとめてみました。 どなたかのお役に立てれば幸いです。
次回は、TGWのルートテーブルの詳細を取得するコマンドをご紹介したいと思います。