次の方法で共有


Azure Database for PostgreSQL での移行サービスに関するネットワーク シナリオ

この記事では、Azure Database for PostgreSQL の移行サービスを使用して、ソース データベースを Azure Database for PostgreSQL フレキシブル サーバーに接続するためのさまざまなシナリオについて説明します。 移行のための接続を正しく確立するには、シナリオごとに異なるネットワーク要件と構成があります。 具体的な詳細は、ソース環境とターゲット環境の実際のネットワーク設定と要件によって異なります。

次の表は移行シナリオをまとめたものです。 この表では、ソースとターゲットの環境の構成に基づいて、各シナリオがサポートされているかどうかを示します。

PostgreSQL ソース 移行先 サポートされています
パブリック IP アドレスを使用するオンプレミス パブリック アクセスを使用する Azure Database for PostgreSQL フレキシブル サーバー はい
仮想プライベート ネットワーク (VPN) または Azure ExpressRoute 経由でプライベート IP アドレスを使用するオンプレミス Azure Database for PostgreSQL フレキシブル サーバー (仮想ネットワーク (VNet) 統合) はい
パブリック IP アドレスを使用する Amazon Relational Database Service (Amazon RDS) for PostgreSQL または Amazon Aurora PostgreSQL パブリック アクセスを使用する Azure Database for PostgreSQL フレキシブル サーバー はい
VPN または ExpressRoute 経由でプライベート アクセスを使用する Amazon RDS for PostgreSQL または Amazon Aurora PostgreSQL Azure Database for PostgreSQL フレキシブル サーバー (VNet 統合) はい
Google Cloud SQL for PostgreSQL パブリック アクセスを使用する Azure Database for PostgreSQL フレキシブル サーバー はい
VPN または ExpressRoute 経由でプライベート アクセスを使用する Google Cloud SQL for PostgreSQL VNet 統合の Azure Database for PostgreSQL フレキシブル サーバー はい
同じ仮想ネットワーク内または別の仮想ネットワーク内の Azure 仮想マシン (VM) にインストールされている PostgreSQL 同じ仮想ネットワーク内または別の仮想ネットワーク内の VNet 統合 Azure Database for PostgreSQL フレキシブル サーバー はい
パブリック アクセスを持つ Azure Database for PostgreSQL - シングル サーバー VNet 統合 Azure Database for PostgreSQL フレキシブル サーバー はい
プライベート エンドポイントを使用する Azure Database for PostgreSQL - 単一サーバー Azure Database for PostgreSQL の VNet 統合フレキシブルサーバー はい
プライベート エンドポイントを使用する Azure Database for PostgreSQL - 単一サーバー プライベート エンドポイントを備えた Azure Database for PostgreSQL フレキシブル サーバー はい
プライベート アクセスを持つ PostgreSQL ソース プライベート エンドポイントを備えた Azure Database for PostgreSQL フレキシブル サーバー はい
プライベート アクセスを持つ PostgreSQL ソース パブリック アクセスを使用する Azure Database for PostgreSQL フレキシブル サーバー いいえ

オンプレミス (パブリック IP) からフレキシブル サーバー (パブリック アクセス)

ネットワーク確立の手順:

  1. ソース データベース サーバーにパブリック IP アドレスがあることを確認します。
  2. PostgreSQL ポート (既定のポートは 5432) での発信接続を許可するようにファイアウォールを構成します。
  3. ソース データベース サーバーにインターネット経由でアクセスできることを確認します。
  4. Azure Database for PostgreSQL のターゲット インスタンスからソース データベースへの接続を検証して、セットアップをテストします。 移行サービスがソース データにアクセスできることを確認します。

オンプレミス (プライベート IP) から VNet 統合型フレキシブル サーバー (ExpressRoute または VPN)

ExpressRoute または Azure VPN Gateway 経由で Azure に接続されているオンプレミス データセンターのスクリーンショット。オンプレミスの PostgreSQL サーバーは、セキュリティ保護されたリンクを介して Azure Database for PostgreSQL に接続します。

ネットワーク確立の手順:

  1. オンプレミス ネットワークと Azure の間のセキュリティ保護された信頼性の高い接続のために、サイト間 VPN または ExpressRoute インスタンスを設定します。
  2. オンプレミスの IP アドレス範囲からのアクセスを許可するように、Azure 仮想ネットワークを構成します。
  3. PostgreSQL ポート (既定のポートは 5432) でのオンプレミス ネットワークからのトラフィックを許可するように、ネットワーク セキュリティ グループ規則を設定します。
  4. Azure Database for PostgreSQL のターゲット インスタンスからソース データベースへの接続を検証して、セットアップをテストします。 移行サービスがソース データにアクセスできることを確認します。

管理された PostgreSQL サービス (パブリック IP) からフレキシブル サーバー (パブリック/プライベート アクセス)

インターネットまたはプライベートな方法で Azure Database for PostgreSQL に接続している、管理されたサービス (Amazon や Google など) からの PostgreSQL データベースのスクリーンショット。

クラウド プロバイダー (AWS、GCP など) のソース PostgreSQL インスタンスには、パブリック IP アドレスまたは Azure への直接接続が必要です。

ネットワーク確立の手順:

  • パブリック アクセス

    1. アマゾン ウェブ サービス (AWS)、Google Cloud Platform (GCP)、またはそれ以外の管理された PostgreSQL サービス内の PostgreSQL インスタンスにパブリックにアクセスできない場合は、Azure からの接続を許可するようにインスタンスを変更します。 クラウド プロバイダーのコンソール (AWS 管理コンソールや Google Cloud コンソールなど) で、パブリック アクセスを許可するように設定を変更します。
    2. クラウド プロバイダーのセキュリティ設定 (AWS のセキュリティ グループや GCP のファイアウォール規則など) で、Azure Database for PostgreSQL のパブリック IP アドレスまたはドメインからのトラフィックを許可する着信規則を追加します。
  • プライベート アクセス

    1. ExpressRoute、IPsec VPN、またはクラウド プロバイダーの同等のプライベート接続サービス (Azure ExpressRoute、AWS Direct Connect、GCP Interconnect) を使って、Azure へのセキュリティ保護された接続を確立します。
    2. ソース クラウド プロバイダーのセキュリティ設定 (AWS のセキュリティ グループ、GCP のファイアウォール規則など) で、Azure Database for PostgreSQL のパブリック IP アドレスやドメインから、または Azure 仮想ネットワーク内の IP アドレス範囲からのトラフィックを PostgreSQL ポート (既定のポートは 5432) で許可する着信規則を追加します。
    3. Azure で Azure Database for PostgreSQL のインスタンスと同じリージョンに仮想ネットワークを作成します。 既定のポート 5432 で、ソース クラウド プロバイダーの PostgreSQL インスタンスの IP アドレスへの送信接続を許可するようにネットワーク セキュリティ グループを設定します。
    4. クラウド プロバイダー (AWS や GCP など) から Azure Database for PostgreSQL の IP アドレス範囲への着信接続を許可するように、Azure でネットワーク セキュリティ グループ規則を設定します。
    5. 管理された PostgreSQL サービス (AWS、GCP、Heroku など) 内の PostgreSQL インスタンスと Azure Database for PostgreSQL の間の接続をテストして、ネットワークの問題が発生しないことを確認します。

Azure VM (プライベート アクセス) から Azure Database for PostgreSQL (異なる仮想ネットワーク)

このシナリオでは、Azure Virtual Machines のインスタンスと、異なる仮想ネットワーク内にある Azure Database for PostgreSQL フレキシブル サーバーの間の接続について説明します。 VNet 間のトラフィックを円滑にするには、仮想ネットワーク ピアリングと適切なネットワーク セキュリティ グループ規則が必要です。

ある仮想ネットワーク内の Azure VM が別の仮想ネットワーク内の Azure Database for PostgreSQL に接続しているスクリーンショット。

ネットワーク確立の手順:

  1. 2 つの VNet 間に仮想ネットワーク ピアリングを設定して、ネットワークを直接接続できるようにします。
  2. PostgreSQL ポートで VNet 間のトラフィックを許可するように、ネットワーク セキュリティ グループ規則を構成します。

Azure VM から Azure Database for PostgreSQL (同じ仮想ネットワーク)

Azure VM と Azure Database for PostgreSQL フレキシブル サーバーが同じ仮想ネットワーク内にある場合、構成は簡単です。 PostgreSQL ポートで内部トラフィックを許可するように、ネットワーク セキュリティ グループ規則を設定します。 トラフィックは仮想ネットワーク内に留まっているので、他のファイアウォール規則は必要ありません。

同じ仮想ネットワーク内の Azure VM が Azure Database for PostgreSQL のインスタンスに直接接続しているスクリーンショット。

ネットワーク確立の手順:

  1. VM と PostgreSQL サーバーが同じ仮想ネットワーク内にあることを確認します。
  2. PostgreSQL ポートで仮想ネットワーク内のトラフィックを許可するように、ネットワーク セキュリティ グループ規則を構成します。

単一サーバー (パブリック アクセス) から VNet 統合型フレキシブル サーバー

パブリック アクセス権を持つ Azure Database for PostgreSQL フレキシブル サーバー (単一サーバー) と VNet 統合フレキシブル サーバーの間の接続を容易にするには、フレキシブル サーバーがデプロイされているサブネットからの接続を許可するように単一サーバーを構成します。

この接続を設定する手順の簡単な概要を次に示します。

単一サーバーに VNet 規則を追加します。

  1. Azure portal で、Azure Database for PostgreSQL - 単一サーバーのインスタンスに移動します。

  2. [接続のセキュリティ] の設定に移動します。

  3. [仮想ネットワーク規則] セクションで [既存の仮想ネットワークの追加] を選びます。

    単一サーバーに接続できる仮想ネットワークを指定します。

    単一サーバーの仮想ネットワーク規則を追加するスクリーンショット。

規則の設定を構成します。

  1. 構成ペインで、新しい仮想ネットワーク規則の名前を入力します。

  2. フレキシブル サーバーが配置されているサブスクリプションを選びます。

  3. 仮想ネットワークと、フレキシブル サーバーに関連付けられている特定のサブネットを選びます。

  4. [OK] を選んで設定を確認します。

    フレキシブル サーバー サブネットを許可する場合のスクリーンショット。

以上の手順を完了すると、2 つのサーバー間のセキュリティ保護された通信のため、単一サーバーはフレキシブル サーバーのサブネットからの接続を受け入れるように設定されます。

単一サーバー (プライベート エンドポイント) から VNet 統合型フレキシブル サーバー

Azure Database for PostgreSQL フレキシブル サーバー - VNet 統合フレキシブル サーバーへのプライベート エンドポイントを持つ単一サーバーからの接続を容易にするには、次の手順を実行します。

プライベート エンドポイントの詳細を取得する:

  1. Azure portal で、Azure Database for PostgreSQL - 単一サーバーのインスタンスに移動します。 プライベート エンドポイントを選んで、仮想ネットワークとサブネットの詳細を表示します。

  2. フレキシブル サーバーの [ネットワーク] ペインに移動します。 サーバーの仮想ネットワークとサブネットの情報を記録しておきます。

    単一サーバーのプライベート エンドポイント接続のスクリーンショット。

    単一サーバーのプライベート エンドポイントの仮想ネットワークとサブネットの詳細を示すスクリーンショット。

VNET ピアリングの要件を評価します。

両方のサーバーが異なる VNet 内にある場合は、仮想ネットワーク ピアリングを有効にして、仮想ネットワーク間を接続する必要があります。 サーバーが同じ仮想ネットワーク内の異なるサブネットにある場合は、ピアリングは省略可能です。 フレキシブル サーバーから単一サーバーへのトラフィックをブロックするネットワーク セキュリティ グループがないことを確認します。

プライベート DNS ゾーンを構成します。

  1. フレキシブル サーバーの [ネットワーク] ペインに移動し、プライベート DNS ゾーンが構成されているかどうかを調べます。 プライベート DNS ゾーンが使われている場合は、ポータルでそのプライベート DNS ゾーンに移動します。 左側のペインで [仮想ネットワーク リンク] を選び、単一サーバーとフレキシブル サーバーの仮想ネットワークがこの一覧に表示されるかどうかを確認します。

    プライベート DNS ゾーンにリンクされている仮想ネットワークのスクリーンショット。

    プライベート DNS ゾーンが使われていない場合は、[追加] ボタンを選んで、単一サーバーとフレキシブル サーバーの VNet にこのプライベート DNS ゾーンへのリンクを作成します。

  2. 単一サーバーのプライベート エンドポイントに移動して、[DNS の構成] ペインを選びます。 プライベート DNS ゾーンがこのエンドポイントにアタッチされているかどうかを調べます。 そうでない場合は、[構成の追加] ボタンを選んでプライベート DNS ゾーンをアタッチします。

    プライベート エンドポイントで使用されるプライベート DNS ゾーンを示すスクリーンショット。

  3. 単一サーバーのプライベート エンドポイントでプライベート DNS ゾーンを選びます。 単一サーバーとフレキシブル サーバーの VNet が仮想ネットワーク リンクに表示されるかどうかを調べます。 そうでない場合は、前に示した手順のようにして、単一サーバーとフレキシブル サーバーの仮想ネットワークへのリンクをこのプライベート DNS ゾーンに追加します。

  4. 最後のチェックとして、単一サーバーのプライベート エンドポイントのプライベート DNS ゾーンに移動し、プライベート IP アドレスを指す "A レコード" が単一サーバーに設定されているかどうかを調べます。

    プライベート エンドポイントに割り当てられたプライベート IP アドレスを示すスクリーンショット。

これらの手順を完了すると、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスが Azure Database for PostgreSQL - Single Server のインスタンスに接続できるようになります。

単一サーバー (プライベート エンドポイント) からフレキシブル サーバー (プライベート エンドポイント)

このセクションでは、プライベート エンドポイントを持つ単一サーバーから、Azure Database for PostgreSQL 内のプライベート エンドポイントを持つフレキシブル サーバーに移行するための、基本的なネットワーク構成手順について説明します。 これには、ランタイム サーバー仮想ネットワークとプライベート エンドポイントの統合が含まれます。 詳しくは、移行ランタイム サーバーに関する記事をご覧ください。

  • 単一サーバーのプライベート エンドポイントに関する詳細を収集します。

    1. Azure portal で、Azure Database for PostgreSQL - 単一サーバーのインスタンスに移動します。
    2. 単一サーバーのプライベート エンドポイント接続の下に一覧表示されている、仮想ネットワークとサブネットに関する詳細を記録しておきます。

    PE を持つシングル サーバーのスクリーンショット。

  • フレキシブル サーバーのプライベート エンドポイントに関する詳細を収集します。

    1. Azure portal で、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスに移動します。
    2. フレキシブル サーバーのプライベート エンドポイント接続の下に一覧表示されている、仮想ネットワークとサブネットに関する詳細を記録しておきます。

    プライベート エンドポイントを使用するフレキシブル サーバーのスクリーンショット。

  • 移行ランタイム サーバーの VNet に関する詳細を収集します。

    1. Azure portal で、移行ランタイム サーバーに移動します。 つまり、VNet 統合 Azure Database for PostgreSQL フレキシブル サーバーのインスタンスに移動します。
    2. 仮想ネットワークの下に一覧表示されている、仮想ネットワークとサブネットに関する詳細を記録しておきます。

    仮想ネットワークがある移行ランタイム サーバーのスクリーンショット。

  • VNET ピアリングの要件を評価します。

    1. サーバーが異なる VNet 内にある場合は、仮想ネットワーク ピアリングを有効にします。 サーバーが同じ仮想ネットワーク内の異なるサブネットにある場合は、ピアリングは必要ありません。
    2. ソース サーバー、移行ランタイム サーバー、ターゲット サーバーの間のトラフィックをブロックするネットワーク セキュリティ グループがないことを確認します。
  • プライベート DNS ゾーンの構成:

    1. フレキシブル サーバーの [ネットワーク] ペインに移動し、プライベート DNS ゾーンが構成されているかどうかを調べます。

    2. プライベート DNS ゾーンが使われている場合は、ポータルでそのプライベート DNS ゾーンに移動します。 左側のペインで [仮想ネットワーク リンク] を選び、単一サーバーとフレキシブル サーバーの仮想ネットワークがこの一覧に表示されるかどうかを確認します。

      ランタイム サーバーのプライベート DNS ゾーンのスクリーンショット。

    3. まだ構成されていない場合は、プライベート DNS ゾーンを単一サーバーのプライベート エンドポイントにアタッチします。

      1. 単一サーバーと移行ランタイム サーバーに対する仮想ネットワーク リンクをプライベート DNS ゾーンに追加します。
      2. フレキシブル サーバーのプライベート エンドポイントに対して、DNS ゾーンのアタッチと仮想ネットワーク リンクのプロセスを繰り返します。

      ソース サーバーとターゲット サーバーを含むプライベート DNS ゾーンのスクリーンショット。

または、カスタム DNS サーバーかカスタム DNS 名前空間が使用されている場合は、プライベート DNS ゾーンをリンクする代わりに、カスタム FQDN/IP フィールドを使用できます。 このセットアップにより、プライベート DNS ゾーンの統合を必要とせずに、FQDN または IP を直接解決できます。

PostgreSQL ソース (プライベート IP) からフレキシブル サーバー (プライベート エンドポイント)

このセクションでは、PostgreSQL データベースをクラウドベースの PostgreSQL サービス、オンプレミスのセットアップ、またはプライベート IP アドレスを持つ VM から、プライベート エンドポイントで保護された Azure Database for PostgreSQL フレキシブル サーバーに移行するネットワーク手順について説明します。 この移行により、オンプレミス接続の場合は Azure VPN または ExpressRoute を使い、クラウド間の移行の場合は仮想ネットワーク ピアリングまたは VPN を使って、プライベート ネットワーク空間内での安全なデータ転送が保証されます。 詳しくは、移行ランタイム サーバーに関する記事をご覧ください。

  • ネットワーク接続を確立します。

    1. オンプレミスのソースの場合は、サイト間 VPN を設定するか、ローカル ネットワークを Azure の仮想ネットワークに接続する ExpressRoute を設定します。
    2. Azure VM、Amazon インスタンス、または Google Compute Engine の場合は、Azure の仮想ネットワークに安全に接続するための、仮想ネットワーク ピアリング、VPN ゲートウェイ、または ExpressRoute があることを確認します。
  • 移行ランタイム サーバーの VNet に関する詳細を収集します。

    1. Azure portal で、移行ランタイム サーバーに移動します。 つまり、VNet 統合 Azure Database for PostgreSQL フレキシブル サーバーのインスタンスに移動します。
    2. 仮想ネットワークの下に一覧表示されている、仮想ネットワークとサブネットに関する詳細を記録しておきます。
  • VNET ピアリングの要件を評価します。

    1. サーバーが異なる VNet 内にある場合は、仮想ネットワーク ピアリングを有効にします。 サーバーが同じ仮想ネットワーク内の異なるサブネットにある場合は、ピアリングは必要ありません。
    2. ソース サーバー、移行ランタイム サーバー、ターゲット サーバーの間のトラフィックをブロックするネットワーク セキュリティ グループがないことを確認します。
  • プライベート DNS ゾーンの構成:

    1. 移行ランタイム サーバーの [ネットワーク] ペインで、プライベート DNS ゾーンが使われていることを確認します。
    2. ソースとターゲットのフレキシブル サーバーの両方の VNet が、移行ランタイム サーバーのプライベート DNS ゾーンにリンクされていることを確認します。
    3. まだ構成されていない場合は、プライベート DNS ゾーンをフレキシブル サーバーのプライベート エンドポイントにアタッチします。
    4. フレキシブル サーバーと移行ランタイム サーバーに対する仮想ネットワーク リンクを、プライベート DNS ゾーンに追加します。

または、カスタム DNS サーバーかカスタム DNS 名前空間が使用されている場合は、プライベート DNS ゾーンをリンクする代わりに、カスタム FQDN/IP フィールドを使用できます。 このセットアップにより、プライベート DNS ゾーンの統合を必要とせずに、FQDN または IP を直接解決できます。