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

Floating IP で database に接続する

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

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

前提条件

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

接続が cluster に届く仕組み

各 cluster には MongoDB URI 形式の標準的な接続 endpoint が割り当てられます。node のアドレスではなく endpoint 経由で接続することで、アプリケーションは次の利点を得ます。

  • cluster の内部構成から切り離される
  • failover や構成変更の影響を受けにくい
  • 管理する接続文字列が 1 つで済む

プライベートアクセスとパブリックアクセス

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

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

Security Group を作成する

Security Group はステートフルなファイアウォールルールの集合で、IP アドレスまたは CIDR 範囲、port、protocol に基づいて database instance への受信・送信トラフィックを制御します。

Security Group は最小権限を実現する手段です。同じ VPC 内のアプリケーション、bastion host、許可された管理システムなど、信頼できる送信元のみを許可します。

  1. FPT Cloud Portal にサインインします。

  2. メインメニューから NetworkSecurity Groups を選択します。

  3. Create security group をクリックします。

    Security Group 作成フォーム

  4. 項目を入力します。

    • Name — 英数字とハイフンで最大 50 文字。
    • Applied Instances(任意) — この group を適用する database instance。
    • Add tag(任意) — 分類と監査のための key-value タグ。
    • Configure security rule(任意) — 受信ルールは Source に許可元を、送信ルールは Destination に宛先を指定します。内部通信のみなら送信ルールは通常不要です。
  5. Create security group をクリックします。

Security Group の変更は即座に反映され、cluster の再起動は不要です。

警告

Security Group を削除するとそのルールがすべて一度に失われ、まだ使用している cluster の接続が切れる可能性があります。依存するものがないことを先に確認してください。

Floating IP を割り当てる

Floating IP は、インターネットからのアクセスのために node へ紐づける公開アドレスです。これ単体では機能せず、トラフィックは Security Group のルールを通過する必要があります。

主な用途は次のとおりです。

  • オンプレミス環境や外部システムからのアクセス
  • 一時的な管理・運用アクセス
  • テストと連携作業
  1. メインメニューから NetworkFloating IPs を選択します。

  2. Allocate IP address をクリックします。

    Floating IP 割り当てダイアログ

  3. 項目を入力します。

    • IP addressAllocate new from pool、または既存のものを使う Existing IP
    • Resources — 種別を Instance にし、対象 node を選択します。
    • IP Port / Instance port(任意) — ポートフォワーディングやカスタム NAT 用。既定でよければ空欄にします。
    • Add tag(任意)。
  4. Allocate floating IP をクリックします。

不要になったアドレスは Release IP で解放します。

ヒント

Floating IP には必ず、送信元 IP 範囲を限定し MongoDB の port だけを開く Security Group ルールを併用してください。ルールが緩い Floating IP は、cluster をインターネット全体に晒すことになります。

client で接続する

接続情報を確認する

cluster 詳細ページ を開き、Overview タブで確認します。

endpoint、port、credential を表示する Overview タブ

必要なのは endpoint(ドメインまたは IP)、portdatabase 名usernamepassword です。

接続する

作業スタイルに合った方法で接続します。

  • 管理ツール — MongoDB Compass など。endpoint、port、credential、database 名を指定します。
  • コマンドライン — 接続 URI を指定した mongosh
  • アプリケーション — 使用言語の公式 MongoDB driver。

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

注記

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

セキュリティのベストプラクティス

  • Floating IP は本当に必要なときだけ有効にする。
  • 本番ワークロードでは Private Access を優先する。
  • Security Group のルールは露出が最小になるように書く。
  • provisioning 時だけでなく、アクセスルールを定期的に見直す。

次のステップ