話題の記事

VPC内のサブネットやルートテーブルなどのリソースを可視化するリソースマップが追加されました

VPC内のリソースの関連性を把握するのに大活躍しそう
2023.02.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

何だこのカッコいいマップは

こんにちは、のんピ(@non____97)です。

皆さんはVPC内のリソースを簡単に可視化したいなと思ったことはありますか? 私はあります。

以下記事で紹介している通り、去年VPCの作成ウィザードが大変イケている感じになりました。

このウィザードにより、以下のような情報が分かりやすくなりました。

  • VPC内にどのAZがサブネットが作成されるのか
  • サブネットにどのルートテーブルと紐づいているのか
  • Internet GatewayやNAT Gateway、VPC、S3のGateway型VPCエンドポイントへのルートを持つルートテーブルはどれか

ただし、作成後のVPCでは、こちらのウィザードのようにVPC内のリソースを一目で確認することはできませんでした。

それがなんと、既存のVPCでも確認できるようになっていました。VPCを選択して、Resource mapタブをクリックすると、以下のようなカッコいいマップが表示されます。

Resource map

一目惚れしました。

どんな情報が確認できるか紹介します。

2023/2/15 追記 : GAされたようです。

いきなりまとめ

  • VPC内の以下リソースの関係性を図で確認できる
    • サブネット
    • ルートテーブル
    • Internet Gateway
    • NAT Gateway
    • Gateway型のVPCエンドポイント
  • リソースマップは2023/2/5時点では開発中の機能

表示できる情報を確認

注意書きを見てみる

表示できる情報を確認します。

左下の注意書きを確認すると、以下のような記載がありました。

Introducing the VPC resource map

The new resource map helps you visualize the resources in your VPC. It shows your VPC, subnets, route tables, internet gateways, NAT gateways, and gateway endpoints. Solid lines represent relationships between resources. Dotted lines represent network traffic to route targets.

This feature is under development and may change.

(機械翻訳)

新しいリソースマップは、VPC内のリソースを可視化するのに役立ちます。VPC、サブネット、ルートテーブル、インターネットゲートウェイ、NATゲートウェイ、およびゲートウェイエンドポイントが表示されます。実線はリソース間の関係を表します。点線は、ルートターゲットへのネットワークトラフィックを表します。

この機能は開発中のものであり、変更される可能性があります。

どうやらVPC内の以下情報を確認できるようです。

  • サブネット
  • ルートテーブル
  • Internet Gateway
  • NAT Gateway
  • Gateway型のVPCエンドポイント

ただ、開発中のようなのでGAするときは確認できる情報が増えているかもしれませんね。

リソースを作成して確認

リソースマップを眺めたところ、ネットワーク接続となっている箇所に、Internet GatewayやNAT gateway、Gateway Endpointが表示されそうです。

ネットワーク接続の説明書きには他のネットワークへの接続と記載があります。

他のネットワークへの接続

他のネットワークへの接続といえば、VPCピアリングやVGW、Transit Gatewayなどもあると思います。

ということで、こちらのリソースへのルートも表示されるのか確認してみます。

試しにVPCピアリングやVGW、Transit Gatewayのルートを持つVPCを作成します。

これらリソースはAWS CDKで作成します。コードは以下リポジトリに保存しています。

作成されるリソースは以下のとおりです。

  • VPC A
    • Public Subnet
    • Egress Subnet
    • Isolated Subnet
    • Firewall Subnet
    • Tgw Subnet
    • Internet Gateway
    • NAT Gateway
    • VGW
    • VPC Peering
    • Network Firewall
    • Transit Gateway attachment
  • VPC B
    • Public Subnet
    • Isolated Subnet
    • Internet Gateway
    • VPC Peering
    • Transit Gateway attachment
  • Transit Gateway

npx cdk deployでデプロイ後、リソースマップを確認してみます。

  • VPC Aのリソースマップ VPC Aのリソースマップ

  • VPC Bのリソースマップ VPC Bのリソースマップ

ネットワーク接続にVPCピアリングやVGW、Transit GatewayのIDがないことから、やはり説明書きの通り表示できる情報は限られているようです。

VpcStack/Vpc A/Vpc/PublicSubnet1というルートテーブルのルートを確認すると、VPCピアリングやVGW、Transit Gatewayへのルートがあることが分かります。

ルートテーブル

リソースマップ上のリソースをクリックしてみる

VPC

リソースマップに表示されるリソースをクリックして、どんな情報が表示されるのか確認してみます。

まずはVPCです。

VPCのVPCをクリックすると、VPCのIPv4及び、IPv6のCIDRブロックが表示されました。

VPCをクリック

サブネット

サブネットのサブネットをクリックすると、サブネットのIPv4及び、IPv6のCIDRブロックが表示されました。また、サブネットがどのルートテーブルと紐づいているのか、そのルートテーブルはネットワーク接続のどのリソースへのルートを持っているのかも確認できます。

サブネットをクリック

ルートテーブル

ルートテーブルのルートテーブルをクリックすると、紐づいているサブネットの数とルートの数が表示されました。また、ルートテーブルがサブネットと紐づいているのか、ルートテーブルはネットワーク接続のどのリソースへのルートを持っているのかも確認できます。

ルートテーブルをクリック

ネットワーク接続

ネットワーク接続のリソースをクリックすると、そのリソースへのルートがあるルートテーブルと、そのルートテーブルに紐づいているサブネットを確認できます。

また、Internet Gatewayの場合はInternet Gatewayへルーティングされるサブネットの数を表示してくれます。

ネットワーク接続_Internet Gateway

NAT Gatewayの場合は、NAT GatewayのENIとElastic IPの数を表示してくれます。

ネットワーク接続_NAT Gateway

Gateway型のVPCエンドポイントの場合は、どのサービスのエンドポイントなのかを表示してくれます。

ネットワーク接続

と思いきや、Network FirewallのファイアウォールエンドポイントもS3 へのゲートウェイエンドポイントと表示されちゃっていますね。開発中の機能なので、こんなこともあるでしょう。フィードバックしておきます。

S3 へのゲートウェイエンドポイントとなる

VPC内のリソースの関連性を把握するのに大活躍しそう

VPC内のサブネットやルートテーブルなどのリソースを可視化するリソースマップを紹介しました。

2023/2/5時点では開発中の機能ですが、VPC内のリソースの関連性を把握するのに大活躍しそうですね。早くGAして欲しいです。

特にNetwork Firewall周りはルーティングが複雑になりがちなので、このように図で表現してくれると助かります。また、NAT Gatewayへの思わぬ抜け道がないかチェックする時にも役立ちそうです。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!