メインコンテンツまでスキップ

Floating IP で database に接続する

MongoDB cluster への接続には、ネットワークアクセスと credential の 2 つが必要です。アクセスは Security Group で開き、client が VPC の外にある場合は Floating IP を追加します。

アプリケーションが同じ VPC 内で動作しているなら、Floating IP の手順はすべて省略できます。本番環境ではそちらが推奨される構成です。

備考

Security Group の作成、Floating IP の allocate と associate、console での接続情報の確認は、Connect to database with Floating IP に一箇所でまとめてあります。手順は MongoDB でも同じです。

前提条件​

  • Running 状態の cluster。最初の database を作成する を参照してください。
  • VPC 内で Security Group と Floating IP を管理する権限。
  • MongoDB client、mongosh、または使用言語の driver。

cluster への接続経路​

各 cluster には、標準の MongoDB 接続 endpoint が MongoDB URI の形式で用意されます。node のアドレスではなくこの endpoint 経由で接続すると、アプリケーションは cluster 内部の topology から切り離されます。failover や topology の変更の影響を受けず、管理する connection string も 1 つで済みます。

アクセスモデルは 2 種類あります。

モデル許可される接続用途
Private AccessVPC などの内部ネットワークからの接続のみ本番、およびセキュリティ要件が厳しい環境
Public Access追加の制御付きで、インターネットから到達できる公開 endpoint外部連携、一時的な管理アクセス、開発・テスト環境
警告

パブリックアクセスを有効にする前に、セキュリティ、パフォーマンス、アーキテクチャへの影響を検討してください。公開 endpoint は使用中だけでなく、恒久的に攻撃対象を広げます。

MongoDB 固有の点​

  • Security Group の受信ルールでは、cluster が待ち受ける MongoDB の port を開く必要があります。
  • Floating IP は cluster endpoint ではなく、個々の node に割り当てます。allocate のダイアログでは Resources を Instance にして node を選択します。
  • 割り当てる主な理由は、オンプレミスや外部システムからのアクセス、一時的な管理作業、テストや連携です。

client から接続する​

cluster 詳細ページ の Overview タブで endpoint、port、database name、username、password を確認します。

あとは運用に合った方法で接続します。

  • MongoDB Compass などの管理ツール。endpoint、port、credential、database name を入力します。
  • mongosh。terminal から connection URI を指定します。
  • アプリケーション。使用言語の公式 MongoDB driver を使います。

接続後は collection の参照や query の実行ができます。

注記

接続がタイムアウトする場合、原因はほぼ常に credential ではなく network policy です。まず Security Group の受信ルールを確認してください。MongoDB の port に対するルール漏れが最も多い原因です。

次のステップ​