⇧ 想像を絶しますな...
VPC(Amazon Virtual Private Cloud)とは?
公式のドキュメントによりますと、
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、論理的に隔離されている定義済みの仮想ネットワーク内で AWS リソースを起動できます。仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークによく似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html
次の図表は、VPC の例を示しています。VPC には、リージョンの各アベイラビリティーゾーンに 1 つのサブネット、各サブネットに EC2 インスタンス、VPC 内のリソースとインターネットとの通信を可能にするインターネットゲートウェイがあります。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html
⇧ とのこと。
つまり、AWSで何らかのWebアプリケーションを稼働させる場合に必要なネットワークということなんですかね。
VPC(Amazon Virtual Private Cloud)とサブネット
公式のドキュメントによりますと、
仮想プライベートクラウド (VPC) は、AWS アカウント専用の仮想ネットワークです。VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されています。VPC の IP アドレス範囲を指定して、サブネットを追加し、ゲートウェイを追加して、セキュリティグループを関連付けます。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/how-it-works.html
サブネットは、VPC の IP アドレスの範囲です。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/how-it-works.html
⇧とのこと。
ドキュメントを見た感じでは、AWSにおける「サブネット」は、
サブネットタイプ
サブネットのタイプは、サブネットのルーティングの設定方法により決まります。例:
-
パブリックサブネット – サブネットには、インターネットゲートウェイへの直接ルートがあります。パブリックサブネット内のリソースは、パブリックインターネットにアクセスできます。
-
プライベートサブネット – サブネットには、インターネットゲートウェイへの直接ルートがありません。プライベートサブネット内のリソースには、パブリックインターネットへのアクセス用に NAT デバイスが必要です。
-
VPN のみのサブネット – サブネットには、仮想プライベートゲートウェイを介した Site-to-Site VPN 接続へのルートがあります。サブネットには、インターネットゲートウェイへのルートがありません。
-
隔離されたサブネット — このサブネットには、その VPC の外にある宛先へのルートがありません。隔離されたサブネット内のリソースは、同じ VPC 内にある他のリソースとの間でのみアクセスし、アクセスされることが可能です。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/configure-subnets.html#subnet-basics
⇧ 4種類ある模様。
AWSのサブネットの範囲の制限を確認してみる
公式のドキュメントによりますと、
⇧ 上記に記載があり、
特徴 | IPv4 | IPv6 |
---|---|---|
VPC のサイズ | /16 から /28 までの最大 5 個の CIDR。このクォータは調整可能です。 | /56 に固定された最大 5 個の CIDR。このクォータは調整可能です。 |
サブネットのサイズ | /16 から /28 まで | /64 で固定 |
⇧ とありますと。
で、サブネットとかの計算が面倒だなと思っていたところ、
⇧ 上記サイト様が算出ツールを公開してくれていたので、試してみた。
例えば、「VPC(Amazon Virtual Private Cloud)」が「10.0.0.0/16」の場合、以下のような結果になった。
■VPC(Amazon Virtual Private Cloud)
⇧「サブネットマスク」の範囲を指定できれば完璧だと思いますが、ザックリとした「サブネット」の分割で良いのであれば活用できそう。
「Classless Inter-Domain Routing (CIDR) 表記」は、
⇧ という表し方らしいですと。
IPアドレスの数は、2のn乗になるようなので、
⇧ 上記サイト様を参考に、IPv4のIPアドレスが「10.0.0.0」におけるAWSの「サブネット」が取り得る情報をまとめると、
サブネット表記 | IPアドレス範囲 | サブネットマスク (CIDR表記) |
ホスト部 | IPアドレスの数 |
---|---|---|---|---|
10.0.0.0/255.255.0.0 | 10.0.0.0 - 10.0.255.255 | /16 | 16 | 65536 |
10.0.0.0/255.255.128.0 | 10.0.0.0 - 10.0.127.255 | /17 | 15 | 32768 |
10.0.0.0/255.255.192.0 | 10.0.0.0 - 10.0.63.255 | /18 | 14 | 16384 |
10.0.0.0/255.255.224.0 | 10.0.0.0 - 10.0.31.255 | /19 | 13 | 8192 |
10.0.0.0/255.255.240.0 | 10.0.0.0 - 10.0.15.255 | /20 | 12 | 4096 |
10.0.0.0/255.255.248.0 | 10.0.0.0 - 10.0.7.255 | /21 | 11 | 2048 |
10.0.0.0/255.255.252.0 | 10.0.0.0 - 10.0.3.255 | /22 | 10 | 1024 |
10.0.0.0/255.255.254.0 | 10.0.0.0 - 10.0.1.255 | /23 | 9 | 512 |
10.0.0.0/255.255.255.0 | 10.0.0.0 - 10.0.0.255 | /24 | 8 | 256 |
10.0.0.0/255.255.255.128 | 10.0.0.0 - 10.0.0.127 | /25 | 7 | 128 |
10.0.0.0/255.255.255.192 | 10.0.0.0 - 10.0.0.63 | /26 | 6 | 64 |
10.0.0.0/255.255.255.224 | 10.0.0.0 - 10.0.0.31 | /27 | 5 | 32 |
10.0.0.0/255.255.255.240 | 10.0.0.0 - 10.0.0.15 | /28 | 4 | 16 |
⇧ となりますと。
「サブネット 可視化」でググったら、
Create a VPC plus other VPC resources
Use the following procedure to create a VPC plus the additional VPC resources that you need to run your application, such as subnets, route tables, internet gateways, and NAT gateways. For example VPC configurations, see VPC examples.
-
In the Preview pane, you can visualize the relationships between the VPC resources that you've configured. Solid lines represent relationships between resources. Dotted lines represent network traffic to NAT gateways, internet gateways, and gateway endpoints. After you create the VPC, you can visualize the resources in your VPC in this format at any time using the Resource map tab. For more information, see Visualize the resources in your VPC.
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/how-it-works.html
⇧ 上記サイト様によりますと、「Resource map」で「Amazon Virtual Private Cloud (Amazon VPC) 」に関係するリソースの関係を把握できるらしい。
個人的には、AWSで構築してるシステム全体のアーキテクト図を出力できるようなツールが欲しいかな。
AWS上のシステム全体を把握できるように、AWS上のシステムからアーキテクト図をリバースエンジニアリングできるツールの需要はありそうな気がするんだけど、AWSさんで頑張ってくれないかしら...
毎度モヤモヤ感が半端ない...
今回はこのへんで。