「パブリック」(インターネット)アクセス可能なVPCのRDSインスタンスの場合、接続するサブネットはすべて、「プライベート」ではなく「パブリック」である必要があります-VPCのサブネット。
パブリックサブネットは、本質的に、インターネットへのルートとして、または少なくともアクセスする必要があるインターネットの宛先へのルートとして、インターネットゲートウェイオブジェクト(igw-xxxxxxxx)を持つサブネットとして定義されます。通常、これはの宛先アドレスです0.0.0.0/0
。パブリックサブネットは、パブリックIPアドレスが関連付けられているインスタンス(RDSを含む)で使用する必要があります。パブリックIPアドレスを持たないインスタンスには使用しないでください。プライベートアドレスは変換なしではインターネット上で機能しません。
一方、プライベートサブネットには、別のEC2インスタンス(通常はNATインスタンス)を介してインターネットの宛先に到達するようにルーティングテーブルが構成されています。これは、そのサブネットに関連付けられたVPCルートテーブルに、「igw」ではなくi-xxxxxxxxとして表示されます。そのマシン(それ自体は、実際にルートの宛先として機能するサブネットとは異なるサブネット上にあります)はトランスレーターとして機能し、プライベートIPのみのインスタンスがNATマシンのパブリックを使用して透過的にアウトバウンドインターネットリクエストを行うことができますインターネットのニーズに応えるIP。パブリックIPアドレスを持つインスタンスは、プライベートサブネットに接続されている場合、インターネットと適切に対話できません。
特定の場合、ここでは、RDSインスタンスに関連付けられたサブネットは、プライベートルートまたはパブリックサブネットとして単純に分類できるものとして実際に構成されていません。これは、サブネットにデフォルトルートがまったくないためです。「igw」オブジェクトを介してデフォルトルートを追加するか、OPのように、接続が必要なインターネットIPアドレスへの静的ルートをサブネットのVPCルートテーブルに追加すると、接続の問題が修正されます。
ただし...同様の問題が発生した場合、サブネット上で既に正常に動作しているものが他にない場合を除き、ルートテーブルを単に変更したり、新しいルートテーブルを構築してサブネットを関連付けたりすることはできません。既存の接続が切断されることが予想されます。その場合の正しいコースは、適切なルートテーブルエントリを使用して、異なるサブネット上のインスタンスをプロビジョニングすることです。
VPCをセットアップするときは、サブネットの役割を明確に定義し、VPCが最初にコミッションされたときに必要なルートを完全にプロビジョニングすることが理想的です。また、VPC「LAN」全体がソフトウェア定義のネットワークであることを覚えておくことも重要です。ルーターがボトルネックになる可能性があり、同じサブネット上にトラフィックの多いマシンを配置するのが賢明な物理ネットワークとは異なり、サブネットを越えるトラフィックはVPCでパフォーマンス上のデメリットはありません。マシンは、マシンのIPアドレス指定のニーズに適したサブネット(パブリックアドレス、パブリックサブネット)に配置する必要があります。パブリックアドレスなし、プライベートサブネット。
VPCでのプライベート/パブリックサブネットのロジスティクスの詳細については、「VPCでプライベートサブネットが必要な理由(スタックオーバーフロー時)」を参照してください。
(110)
エラーメッセージの意味で「接続がタイムアウトし、」これは間違いなく、これは、IP接続の問題です。RDSインスタンスが2つのサブネットに関連付けられていることが表示されます。VPCコンソールでは、これら2つのサブネットのデフォルトルートは何ですか?「igw-xxxxxxxx」ですか、それとも「i-xxxxxxxx」ですか?