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 Access | VPC などの内部ネットワークからの接続のみ | 本番、およびセキュリティ要件が厳しい環境 |
| 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 に対するルール漏れが最も多い原因です。
次のステップ
- database の停止・起動・再起動
- メトリクスとログを見る Monitor & alert
- Backup & Restore の概要