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

Floating IP で database に接続する

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

以下の 3 つのセクションを順に進めてください。client がすでに VPC 内で動作している場合は、Floating IP のセクションを飛ばせます。

前提条件

  • Running ステータスの database。最初の database を作成する を参照してください。
  • VPC 内で Security Group と Floating IP を管理する権限。
  • 使用する engine に対応した database client、CLI、またはドライバ。

Security Group を作成する

Security Group は database の受信と送信のトラフィックを制御するファイアウォールルールの集合です。各ルールで許可するポート、プロトコル、IP アドレスまたは CIDR 範囲を指定します。

設定ミスの影響範囲を抑えるため、次の方針に従ってください。

  • database ごとに専用の Security Group を使います。
  • 必要なポートだけを開きます。
  • 1 つの Security Group を複数の database で共有せず、全ポートの開放も避けます。ルールが緩いと攻撃対象が広がり、後のルール変更が意図しない database にまで影響します。

作成手順は次のとおりです。

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

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

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

    名前、instance、タグ、ルールの項目がある Create New Security Group フォーム

  4. 各項目を入力します。

    • Name: 50 文字以内で、英数字とハイフンが使えます。システムに生成させることもできます。
    • Applied Instances (任意): この group を適用する database instance。
    • Add tag (任意): 分類、コスト管理、監査のための key-value タグ。
    • Configure security rule (任意): inbound ルールは database への接続を制御し、許可する送信元を Source に指定します。outbound ルールは database からの接続を制御し、宛先を Destination に指定します。内部通信だけであれば通常 outbound ルールは不要です。
  5. Create security group をクリックします。

新しい group が名前、適用 node、作成日時とともに一覧に表示されます。

Security Group の名前変更と削除

Security Group Management ページで、group の横の Rename を選ぶと名前を変更でき、Delete を選ぶと削除できます。ダイアログで確認してください。

警告

Security Group を削除するとそのルールがすべて即座に失われ、まだその group を使っている database のネットワーク接続が切れる可能性があります。削除前に依存するリソースがないことを確認してください。

Floating IP を割り当てる

Floating IP は外部からのアクセス用に database へ付与する静的な public IPv4 アドレスです。Security Group のルールでそのトラフィックがすでに許可されている場合にのみ機能します。

ヒント

Floating IP は public アクセスが必要なときだけ割り当ててください。VPC 内で完結するトラフィックにはプライベートアドレスを使い、database をインターネットに出さないようにします。

  1. メインメニューから NetworkFloating IPs を選択します。

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

    アドレス、resource、ポートの項目がある Allocate IP address ダイアログ

  3. 各項目を入力します。

    • IP address: 新しいアドレスを取得するには Allocate new from pool、保有済みのアドレスを再利用するには Existing IP を選びます。
    • Resources: resource type を Instance にして、対象の database instance を選びます。
    • IP Port (任意): public 側のポートです。ポートフォワーディングやカスタム NAT ルールに使います。既定のままでよければ空欄にします。
    • Instance port (任意): 受信トラフィックのマッピング先となる instance 側のプライベートポートです。既定のままでよければ空欄にします。
    • Add tag (任意): 運用と監査のための key-value タグ。
  4. Allocate floating IP をクリックします。

選択した instance に紐付いた状態で、アドレスが Active ステータスで一覧に表示されます。

不要になったアドレスを解放するには、そのアドレスの Release IP を選んで確認します。

Floating IP が期待どおりに動作しない場合は、まず Security Group の inbound ルールを確認してください。database のポートの開け忘れが最も多い原因です。

client から接続する

ネットワークアクセスが開いたら、pgAdmin (PostgreSQL) や MySQL Workbench (MySQL) など、engine に対応した標準の client で接続します。

接続情報を確認する

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

endpoint、ポート、認証情報を表示している database の Overview タブ

必要な情報は次のとおりです。

  • Domain endpoint: 接続先のアドレス。
  • Port: engine が待ち受けるポート。
  • Database name: プロビジョニング時に作成された既定の database。
  • Username: 管理者アカウント。
  • Password: そのアカウントのパスワード。

接続を確立する

作業に合った方法で接続します。

  • 管理ツール (pgAdmin、MySQL Workbench、SSMS など)。endpoint、ポート、username、password、database 名を入力します。
  • コマンドライン。ターミナルまたはアプリケーションサーバーから engine の CLI を使います。
  • アプリケーション。engine の公式ドライバと接続文字列を使います。

接続後は database の構造を参照し、クエリを実行できます。

注記

接続がタイムアウトする場合、原因はほぼ認証情報ではなくネットワークポリシーです。Security Group、ファイアウォールルール、ネットワークポリシーのいずれもが、その endpoint とポートへのトラフィックを許可しているか確認してください。

次のステップ