VPCとピアネットワークを使用する場合、Google CloudRunからMongoDBAtlasにどのように接続しますか?
VPCとピアネットワークを使用してGoogleCloud RunからMongoDBに接続しようとしていますが、接続を確立できないようです。目標は、特定のIP範囲のみを許可しながら、CloudRunからAtlasに接続できるようにすることです。
私の設定は次のとおりです。
- GoogleCloudで実行されているMongoDBAtlas。
- MongoDBアトラスと同じリージョンでNodeJSサーバーを実行しているGoogleCloud Runコンテナー(ただし、私が知る限り、それは重要ではありません)。
私は次の手順を実行しました。
からの指示に従って、GoogleCloud側でVPCを作成します https://cloud.google.com/vpc/docs/using-vpc。
VPCとMongoDBAtlasVPC間のネットワークピアリングをセットアップします。 https://docs.atlas.mongodb.com/security-vpc-peering/
コネクタを使用してサーバーレスVPCアクセスを設定します。 https://cloud.google.com/vpc/docs/configure-serverless-vpc-access
上記のコネクタを使用して、クラウド実行コンテナを再デプロイしました。 https://cloud.google.com/run/docs/configuring/connecting-vpc
手順3のCIDR範囲をMongoDBアトラスのホワイトリストに追加し、以前のオープン範囲0.0.0.0/0を削除しました。
すべての手順(緑色の点など)は成功しますが、手順5の後で接続しようとすると、接続が失敗します。何が足りないのですか?
回答
これを解決したので、私自身の質問に答えました。質問で概説されているアプローチが機能することがわかります。私は2つのことを逃していました:
MongoDB接続文字列をプライベート接続文字列に変更する必要があります。これを取得するには、MongoDBダッシュボードの[クラスター]の下にある[接続]をクリックします。これは、MongoDBピアネットワーキングガイドのどこにも文書化されていないことがわかる限りです。
MongoDB Atlasネットワーク設定で、VPC自体からのCIDR範囲(ステップ1)とサーバーレスコネクタからのCIDR範囲(ステップ3)をホワイトリストに登録します。