次の方法で共有


高可用性の構成

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

この記事では、同じゾーンまたはゾーン冗長デプロイ モデルの Azure Database for PostgreSQL フレキシブル サーバーで高可用性構成を有効または無効にする方法について説明します。

高可用性機能は、物理的に分離されたプライマリ レプリカとスタンバイ レプリカをデプロイします。 選択したデプロイ モデルに応じて、両方のレプリカを同じ可用性ゾーン内にプロビジョニングすることも、それぞれ異なるゾーンにプロビジョニングすることもできます。 詳細については、高可用性の概念に関するページを参照してください。 Azure Database for PostgreSQL フレキシブル サーバーの作成時に高可用性を有効にすることも、サーバーの作成後に有効にすることもできます。

重要

Azure Database for PostgreSQL フレキシブル サーバー (v5 HA) の課金モデル更新プログラム: 高可用性 (HA) が有効なサーバーを使用する v5 SKU 向け課金モデル更新プログラムが 4 月に実装されました。 この変更の目的は、プライマリ サーバーとスタンバイ サーバーの両方を考慮して、料金が正しく反映されるようにすることです。 この変更の前は、プライマリ サーバーのみが考慮され、お客様に対する課金が誤って行われていました。 HA が有効なサーバーで v5 SKU を使用しているお客様には現在、課金数量に 2 を掛けたものが表示されます。 この更新プログラムは、v4 および v3 SKU には影響しません。

既存のサーバーの高可用性を有効にする

Azure portal を使用して以下を実行します。

  1. お使いの Azure Database for PostgreSQL フレキシブル サーバーを選択します。

  2. リソース メニューの [設定] セクションで、[高可用性] を選択します。

    [高可用性] ページを示すスクリーンショット。

  3. 高可用性が有効になっていない場合は、[高可用性を有効にする] チェックボックスがオフに表示され、[高可用性の状態][無効] として表示されます。

    高可用性が有効になっていない場合の [高可用性] ページの外観を示すスクリーンショット。

  4. [高可用性を有効にする] チェックボックスをオンにして、オプションを有効にします。 [同じゾーン] および [ゾーン冗長] オプションが表示されます。 [同じゾーン] を選択した場合、スタンバイ サーバーはプライマリ サーバーと同じ可用性ゾーンに作成されます。

    同じゾーンで高可用性が有効になっている場合の [高可用性] ページの外観を示すスクリーンショット。

Note

サーバーが作成されたリージョンでゾーン冗長を使用した高可用性がサポートされていない場合、[ゾーン冗長] オプションは淡色表示され、無効になります。

  1. リージョンがゾーン冗長をサポートしていて、[ゾーン冗長] を選択した場合は、スタンバイ サーバーをデプロイする他の使用可能なゾーンを選択できます。

    プライマリとは異なるゾーンにデプロイされたスタンバイ サーバーで機能が有効になっている場合の [高可用性] ページを示すスクリーンショット。

  2. 必要に応じてすべてが構成されたら、[保存] を選択して変更を適用します。 スタンバイ サーバーのデプロイに関連するコストの増加がダイアログで通知されます。 続行する場合は、[HA を有効にする] を選択します。

    高可用性の有効化を確認するダイアログを示すスクリーンショット。

  3. デプロイが開始され、完了すると、高可用性が正常に有効になったことを示す通知が表示されます。

    高可用性が正常に有効になっていることを知らせる通知を示すスクリーンショット。

高可用性を無効にする

Azure portal を使用して以下を実行します。

  1. お使いの Azure Database for PostgreSQL フレキシブル サーバーを選択します。

  2. リソース メニューの [設定] セクションで、[高可用性] を選択します。

    同じゾーンの高可用性が有効になっている [高可用性] ページを示すスクリーンショット。

  3. 高可用性が有効になっている場合は、[高可用性を有効にする] チェックボックスがオンになり、[高可用性モード] が構成されているモードに設定され、[高可用性の状態] は通常、[正常] として表示されます。

    同じゾーンの高可用性が有効になっている場合の [高可用性] ページの外観を示すスクリーンショット。

  4. [高可用性を有効にする] チェックボックスをクリアにして、オプションを無効にします。

    高可用性を無効にした場合の [高可用性] ページの外観を示すスクリーンショット。

  5. [保存] をクリックして変更を適用します。 スタンバイ サーバーの削除に関連するコスト削減がダイアログに表示されます。 続行する場合は、[HA を無効にする] を選択します。

    高可用性の無効化を確認するダイアログを示すスクリーンショット。

  6. デプロイが開始され、完了すると、高可用性が正常に無効にされたことを示す通知が表示されます。

    高可用性が正常に無効になっていることを知らせる通知を示すスクリーンショット。

サーバーのプロビジョニング時に高可用性を有効にする

Azure portal を使用して以下を実行します。

  1. Azure Database for PostgreSQL フレキシブル サーバーの新しいインスタンスのプロビジョニング中に、[高可用性] セクションで、[同じゾーン] または [ゾーン冗長] を選択します。

    新しいインスタンスのプロビジョニング中に高可用性オプションを構成する方法を示すスクリーンショット。

Note

サーバーが作成されたリージョンでゾーン冗長を使用した高可用性がサポートされていない場合、[ゾーン冗長] オプションは淡色表示され、無効になります。

  1. [可用性ゾーン][優先設定なし] 以外の値に設定してプライマリ サーバーに特定のゾーンを選択する場合、[ゾーン冗長] を選択すると、スタンバイ サーバー用に明示的に選択した値を [スタンバイ可用性ゾーン] で選択することもできます。 ゾーンを特定のゾーンに設定すると、アプリケーションをデータベースと同じゾーンに併置して待機時間を短縮する場合に便利です。 スタンバイ サーバーを自動的に選択された可用性ゾーンにデプロイする場合は、[優先設定なし] を選択します。

    プライマリ サーバーとスタンバイ サーバーの特定の可用性ゾーンを選択する方法を示すスクリーンショット。

強制フェールオーバー

Azure Database for PostgreSQL フレキシブル サーバーでプライマリ サーバーのフェールオーバーをスタンバイ サーバーに強制するには、次の手順に従います。 強制フェールオーバーを開始すると、すぐにプライマリ サーバーが停止し、スタンバイ サーバーへのフェールオーバーがトリガーされます。 強制フェールオーバーの開始は、計画外の停止によって発生したフェールオーバーがワークロードに与える影響をテストする場合に役立ちます。

重要

  • フェールオーバーをすぐに連続して実行することはしないでください。 フェールオーバーの間隔は、少なくとも 15 から 20 分開けてください。 このような待機により、新しいスタンバイ サーバーを完全に確立できます。

  • ポータルで報告されるエンドツーエンドの全体的な操作時間は、アプリケーションで発生する実際のダウンタイムよりも長くなる場合があります。 アプリケーションの観点からダウンタイムを測定してください。

Azure portal を使用して以下を実行します。

  1. 高可用性が有効になっている Azure Database for PostgreSQL フレキシブル サーバーを選択します。

  2. リソース メニューの [設定] セクションで、[高可用性] を選択します。

    [高可用性] ページを示すスクリーンショット。

  3. 高可用性モードが [ゾーン冗長] モードに設定されている場合は、フェールオーバー操作の完了後に元に戻す必要があるため、[プライマリ可用性ゾーン][スタンバイ可用性ゾーン] に割り当てられた値を書き留めておきます。

    プライマリ サーバーとスタンバイ サーバーがデプロイされているゾーンを示すスクリーンショット。

  4. [強制フェールオーバー] を選択して、手動フェールオーバーの手順を開始します。 フェールオーバーが完了するまで、予想されるダウンタイムがダイアログで通知されます。 続行する場合は、[OK] を選択します。

    強制フェールオーバーを開始する前に表示される情報メッセージを示すスクリーンショット。

  5. フェールオーバーが進行中であることを示す通知が表示されます。

    強制フェールオーバーを開始するときに表示される情報メッセージを示すスクリーンショット。

  6. スタンバイ サーバーへのフェールオーバーが完了すると、操作の完了が通知されます。

    強制フェールオーバーが完了したときに表示される情報メッセージを示すスクリーンショット。

  7. 高可用性モードがゾーン冗長として構成されている場合は、[プライマリ可用性ゾーン][スタンバイ可用性ゾーン] の値が逆になっていることを確認します。

    プライマリ サーバーとスタンバイ サーバーがデプロイされているゾーンを示すスクリーンショット。

計画されたフェールオーバー

次の手順に従って、Azure Database for PostgreSQL フレキシブル サーバーでプライマリ サーバーからスタンバイ サーバーへの計画フェールオーバーを実行します。 この操作を開始すると、まずスタンバイ サーバーが準備され、次にフェールオーバーが実行されます。 このフェールオーバー操作では、スタンバイ サーバーへのグレースフル フェールオーバーが実行されるため、ダウンタイムが最小限になります。 これは、予期しないフェールオーバーが発生した後、プライマリ サーバーを優先可用性ゾーンに戻したい場合などに役立ちます。

重要

  • フェールオーバーをすぐに連続して実行することはしないでください。 フェールオーバーの間隔は、少なくとも 15 から 20 分開けてください。 このような待機により、新しいスタンバイ サーバーを完全に確立できます。

  • 計画フェールオーバーは、アクティビティの少ない時間に実行することをお勧めします。

  • ポータルで報告されるエンドツーエンドの全体的な操作時間は、アプリケーションで発生する実際のダウンタイムよりも長くなる場合があります。 アプリケーションの観点からダウンタイムを測定してください。

Azure portal を使用して以下を実行します。

  1. 高可用性が有効になっている Azure Database for PostgreSQL フレキシブル サーバーを選択します。

  2. リソース メニューの [設定] セクションで、[高可用性] を選択します。

    [高可用性] ページを示すスクリーンショット。

  3. 高可用性モードが [ゾーン冗長] モードに設定されている場合は、フェールオーバー操作の完了後に元に戻す必要があるため、[プライマリ可用性ゾーン][スタンバイ可用性ゾーン] に割り当てられた値を書き留めておきます。

    プライマリ サーバーとスタンバイ サーバーがデプロイされているゾーンを示すスクリーンショット。

  4. [計画フェールオーバー] を選択して、手動フェールオーバーの手順を開始します。 フェールオーバーが完了するまで、予想されるダウンタイムがダイアログで通知されます。 続行する場合は、[OK] を選択します。

    計画フェールオーバーを開始する前に表示される情報メッセージを示すスクリーンショット。

  5. フェールオーバーが進行中であることを示す通知が表示されます。

    計画フェールオーバーを開始するときに表示される情報メッセージを示すスクリーンショット。

  6. スタンバイ サーバーへのフェールオーバーが完了すると、操作の完了が通知されます。

    計画フェールオーバーが完了したときに表示される情報メッセージを示すスクリーンショット。

  7. 高可用性モードがゾーン冗長として構成されている場合は、[プライマリ可用性ゾーン][スタンバイ可用性ゾーン] の値が逆になっていることを確認します。

    プライマリ サーバーとスタンバイ サーバーがデプロイされているゾーンを示すスクリーンショット。

特別な注意事項

  • Azure Database for PostgreSQL フレキシブル サーバーで高可用性を有効または無効にしても、ネットワーク構成、ファイアウォール設定、サーバー パラメーター、バックアップ保持期間など、他の設定は変更されません。 高可用性の有効化または無効化はオンライン操作であり、アプリケーションの接続と操作には影響しません。

  • 両方のレプリカを同じゾーンにデプロイした高可用性がサポートされ、Azure Database for PostgreSQL - フレキシブル サーバーがサポートされているすべてのリージョンで利用できます。 ただし、ゾーン冗長による高可用性は特定のリージョンでのみ利用できます

  • 高可用性は、バースト可能なレベルではサポートされません。 General Purpose または Memory Optimized (メモリ最適化) のレベルでのみサポートされます。

  • 単一の可用性ゾーンで構成されるリージョンにサーバーをデプロイする場合は、同じゾーン モードでのみ高可用性を有効にすることができます。 リージョンが複数の可用性ゾーンで将来的に拡張される場合は、同じゾーンまたはゾーン冗長として構成された高可用性を備えた新しい Azure Database for PostgreSQL フレキシブル サーバーをデプロイできます。 ただし、リージョンが単一の可用性ゾーンで構成されていたときにリージョンにデプロイされたインスタンスについては、ゾーン冗長モードで高可用性を直接有効にすることはできません。 回避策として、これらのインスタンスを新しいインスタンスに復元し、復元されたサーバーでゾーン冗長の高可用性を有効にすることができます。

    1. Azure Database for PostgreSQL フレキシブル サーバーのポイントインタイム リストアに記載されている手順に従って、最新の復元ポイントを使用して新しいインスタンスに既存のインスタンスを復元します。
    2. 新しいサーバーが作成されたら、ゾーン冗長による高可用性を有効にします
    3. データ検証の後、必要に応じて古いサーバーを削除することもできます。
    4. クライアントの接続文字列が、新しく復元されたインスタンスを指すよう変更されていることを確認します。