パブリックサブネット と プライベートサブネットの違い
パブリックサブネットとは「インターネットと通信できるサブネット」のことで、
プライベートサブネットとは「インターネットと通信できないサブネット」のことです。
パブリックサブネット
ルートテーブルで、0.0.0.0/0 (デフォルトゲートウェイへの通信) が IGW (インターネットゲートウェイ) に流れるように設定されたサブネットのことです。
※IGWを使うことで、AWS内のリソースからインターネットにアクセスできるようになります。
パブリックサブネットには、WEBサーバーのようにインターネットとの通信するためのサーバーを設置します。
プライベートサブネット
IGWを設定していないサブネットのことです。
プライベートサブネットには、DBサーバーのように直接インターネットと通信する必要のないサーバーを設置します。
このようにパブリックとプライベートでサブネットを区分することで、ネットワークを安全に管理することができます。
NAT
NAT (Network Address Translation) は、ユーザーのPCに設定されたプライベートアドレスと、インターネットに出るためのグローバルアドレスを相互変換する仕組みのことです。
NATゲートウェイ
プライベートサブネットからインターネットにアクセスするためのゲートウェイです。
※NATゲートウェイは、パブリックサブネットに配置します。
例えば、プライベートサブネット内からCloudWatch Logsにアクセスする場合、アプリのアップデートなどで内部からのみインターネットに接続したい場合などに用いられます。
またAZ内で冗長化されるマネージドサービスでもあるので、高い可溶性が期待できます。
※ただし、AZ間の冗長化はサポートされてないません。
NATインスタンス
NAT機能をもつEC2インスタンスです。
NATゲートウェイの代わりにNATインスタンスを用いてインターネットにアクセスすることもできます。
一方、「送信元/送信先チェック」を無効化し自身へのトラフィックを破棄する設定し、(単一障害点にならないための)冗長化の仕組みをユーザーが検討する必要があることに注意が必要です。