PrivateSubnetとPublicSubnetの違い
はじめに
AWSから身を置いており、PrivateSubnetとPublicSubnetの明確な定義の違いを失念してしまった。
この機会にそれら周辺の知識を改めて整理する。
PrivateSubnetとPrivateSubnetの違い
PrivateSubnetとは
インターネットとの通信が直接できないSubnet
Subnetのルートのデフォルトルートにて[0.0.0.0/0](IGW)を設定していないSubnet
PublicSubnetとは
インターネットとの通信が直接できるSubnet
Subnetのルートのデフォルトルート[0.0.0.0/0](IGW)を設定しているまたは、EIPを設定しているインスタンスが配置されているSubnet
PrivateSubnetから、インターネットへの通信を行うためには、NATゲートウェイ等を利用する必要がある
IGWとは
Internet Gateway。 AWSのマネージドなインターネットと通信する際に利用するゲートウェイ。
VPCに一つだけアタッチすることが可能で、冗長化をとっているため、SPOFとならない。
ルートテーブルで、IGWをターゲットに設定すると、その宛先アドレスとの通信には、IGWを通してインターネットに向けられる。
NATゲートウェイとは
ネットワークアドレス変換(Network Address Translation)機能を有し、プライベートIPをNATゲートウェイが持つグローバルIPに変換し、外部と通信する。
NATゲートウェイは、AZサービスであり、冗長化が必要となる場合がある。
NATゲートウェイは、インターネットと通信するため、デフォルトルートにIGWを設定する(つまり、PublicSubnetとなる)
NATとは
NetworkAddressTranslationの略で、ローカルなネットワークでプライベートIPアドレスを利用し、インターネットへ接続するときにグローバルIPアドレスへ変換する技術として開発された。
デフォルトルートとは
ネットワークのルートテーブルにおいて、ルートテーブルに登録されているどのアドレスにもマッチしない場合の経路のこと。
0.0.0.0/0 or default と記述する。
ProtectedSubnetなるものもあるとのこと
NATを設定するサブネットをプロテクトサブネットと呼ぶことがあり、本エントリでも呼んでいます