なんでも屋になりたいエンジニア

日々のアウトプット

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 GatewayAWSのマネージドなインターネットと通信する際に利用するゲートウェイ

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を設定するサブネットをプロテクトサブネットと呼ぶことがあり、本エントリでも呼んでいます

dev.classmethod.jp