VPC にパブリックとプライベートの 2 つのサブネットを持つことと、パブリックサブネットにパブリック IP を持たないことの利点は何ですか?

VPC にパブリックとプライベートの 2 つのサブネットを持つことと、パブリックサブネットにパブリック IP を持たないことの利点は何ですか?

AWSのVPCガイドのシナリオ2(ここ) では、パブリック サブネットとプライベート サブネットを設定する方法を示しています。引用すると、次のようになります。

パブリックにアクセスできないバックエンド サーバーを維持しながら、パブリック向けの Web アプリケーションを実行する場合は、このシナリオをお勧めします。一般的な例としては、Web サーバーがパブリック サブネットにあり、データベース サーバーがプライベート サブネットにある多層 Web サイトがあります。Web サーバーがデータベース サーバーと通信できるように、セキュリティとルーティングを設定できます。

私の理解では、ルーティング テーブルの設定方法により、VPC 内のすべてのサブネットが相互に通信できるということです。したがって、セキュリティが目的であれば、データベースなどのバックエンド サーバーに外部トラフィックを許可しないようにするには、サーバーをパブリック サブネットに配置し、パブリック IP を割り当てないのはなぜでしょうか。そのようにすれば、同じ機能が保証されます。つまり、外部からはアクセスできませんが、他のすべてのサーバーと通信できます。違いは何ですか。

答え1

パブリック サブネットにサーバーを配置してもパブリック IP がない場合、そのノードは外部と通信できなくなります。パブリック IP がなく、NAT ゲートウェイへのルートもありません。これには、VPC エンドポイントのない AWS サービスや API が含まれます。通常、すべてのノードに何らかの外部アクセスが必要になるため、ノードをプライベート サブネットに配置すると、そのことが実現します。

また、誰かが誤って(または意図的に)ノードに EIP またはセキュリティ グループを追加して、プライベート ノードをパブリック ノードにしてしまうことも防ぎます。

関連情報