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

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 にまで影響します。

作成手順と各項目の説明は ガイド: Security Group の作成 を参照してください。

続いて、database に必要なルールを追加します。

  • inbound ルール は database への接続を制御します。許可する client のアドレスまたは CIDR 範囲を Source に指定し、engine が待ち受けるポートを開けます。
  • outbound ルール は database からの接続を制御し、宛先を Destination に指定します。内部通信だけを担う database では通常 outbound ルールは不要です。

Floating IP を割り当てる​

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

ヒント

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

手順は次の 2 段階です。

  1. 割り当て (Allocate): VPC にアドレスを確保します。ガイド:Floating IP の割り当て を参照してください。割り当て直後のアドレスは、リソースに紐付けるまで Down ステータスのままです。
  2. 関連付け (Associate): そのアドレスを database instance のポート (NIC) に紐付けます。ガイド:Floating IP の関連付けと解除 を参照してください。ステータスが Active に変わり、Private IP 列に対応する内部アドレスが表示されます。

アドレスを返却するときは、関連付けを解除してから解放します。どちらの操作も ガイド:Floating 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 とポートへのトラフィックを許可しているか確認してください。

次のステップ​