web-dev-qa-db-ja.com

VPCのAWSパブリックIPCIDR範囲を取得する方法

AWS上でkopsを使用して作成されたVPCを実行していますが、データベースはGCPをクラウドプロバイダーとして使用してmongo-atlasで実行されています。

Mongoデータベースサーバーは世界中に公開されています。私がやろうとしているのは、VPCを使用して1つのIPをセットアップし、データベースと通信したり、さまざまなIPを取得したりできる方法を見つけることです。

これが私がすでに試したことです:

  1. VPCピアリング:-データベースがGCPで実行されているため不可能
  2. 現在実行中のノードのすべてのパブリックIPをmongoatlsに追加します。自動スケーリングを使用しているため、追加できません。
  3. 自動スケーリングを使用しているため、エラスティックIPを使用しています
2
gagan trivedi

AWSクラスターには本当にパブリックIPが必要ですか? kopsを使用している場合、おそらくKubernetesを使用しているので、ワーカーノードをプライベートサブネットインターネット向けロードバランサーのみがパブリックIPを持つパブリックサブネットにあります。

いくつかのオプションがあります。

  • [〜#〜] vpn [〜#〜] AWSとGCPの間-これにより、AWSリソースがプライベートIPを介してGCPリソースと通信できるようになります。これは、ノードにパブリックIPがある場合でも機能するはずです。

  • [〜#〜] nat [〜#〜] NATゲート​​ウェイを使用するアウトバウンドAWSトラフィック、AWSアベイラビリティーゾーンごとに1つ。

    NATゲートウェイには固定のElastic IPがあり、これをホワイトリストに追加できます。 GCP側。


ところで、ワーカーノードにパブリックIPがある場合、NATは少し注意が必要です。基本的に、NATゲート​​ウェイを介してルーティングされる特定のアドレスのみが必要になります。例えば。 MongoノードのIPが192.0.2.1および192.0.2.100の場合、AWSルートテーブルは次のようになります。

  • 192.0.2.1/32および192.0.2.100/32->NATゲート​​ウェイ
  • 0.0.0.0/0-> IGW(AWSインターネットゲートウェイ)

ワーカーノードをプライベートサブネットに移動し、すべてのアウトバウンドトラフィックにNATを使用することをお勧めします。これにより、ルーティングとホワイトリストが簡単になります。

それが役に立てば幸い:)

1
MLu