適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
この記事では、Azure portal または Azure CLI を使用して、Azure Database for PostgreSQL フレキシブル サーバーで高可用性 (HA) を有効または無効にする方法について説明します。 この情報は、同じゾーンのフレキシブル サーバーを使用しているか、ゾーン冗長デプロイ モデルを使用しているかに関係なく適用されます。
高可用性機能は、物理的に分離されたプライマリ レプリカとスタンバイ レプリカをデプロイします。 選択したデプロイ モデルに応じて、同じ可用性ゾーン内または異なるゾーンにレプリカをプロビジョニングできます。 詳細については、 高可用性の概念に関する記事を参照してください。 Azure Database for PostgreSQL フレキシブル サーバーの作成中または作成後に高可用性を有効にすることができます。
重要
2024 年 4 月に、HA 対応サーバーを使用する v5 コンピューティング レベルの課金モデルの更新を実装しました。 この変更は、プライマリ サーバーとスタンバイ サーバーの両方を占めることで、料金を正しく反映することを目的としています。 この変更の前は、プライマリ サーバーのみが考慮され、お客様に対する課金が誤って行われていました。 HA 対応サーバーで v5 レベルを使用しているお客様には、課金数量に 2 を掛けたものが表示されるようになりました。 この更新プログラムは、v4 および v3 レベルには影響しません。
既存のサーバーの高可用性を有効にする
Azure portal で、Azure Database for PostgreSQL フレキシブル サーバーを選択します。
左側のメニューの [設定] セクションで、[ 高可用性] を選択します。
高可用性が有効になっていない場合は、[ 高可用性を有効にする ] チェック ボックスがオフになります。 また、[ 高可用性の状態 ] の値は 有効になっていません。
[高可用性を有効にする] チェックボックスをオンにして、オプションを有効にします。 選択すると、推奨される構成であるため、可用性ゾーンがサポートされているリージョンでは、ゾーン冗長オプションが既定で自動的に有効になります。
高可用性モードでは、同じゾーンとゾーン冗長オプションが表示されます。
必要に応じてすべてが構成されたら、[保存] を選択して変更を適用します。
ダイアログには、スタンバイ サーバーの展開に関連するコストの増加が表示されます。 続行する場合は、[高可用性を有効にする] を選択します。
デプロイが開始されます。 完了すると、高可用性が正常に有効にされたことを示す通知が表示されます。
高可用性を無効にする
Azure portal で、Azure Database for PostgreSQL フレキシブル サーバーを選択します。
左側のメニューの [設定] セクションで、[ 高可用性] を選択します。
高可用性が有効になっている場合は、[ 高可用性を有効にする ] チェック ボックスが既にオンになっています。 また、 高可用性モード は構成済みモードに設定され、 高可用性状態 の値は通常 は正常です。
[高可用性を有効にする] チェックボックスをクリアにして、オプションを無効にします。
[保存] をクリックして変更を適用します。
ダイアログには、スタンバイ サーバーの削除に関連するコスト削減が表示されます。 続行する場合は、[高可用性を無効にする] を選択します。
デプロイが開始されます。 完了すると、高可用性が正常に無効にされたことを示す通知が表示されます。
サーバー のプロビジョニング中に高可用性を有効にする
Azure portal で、新しい Azure Database for PostgreSQL フレキシブル サーバーのプロビジョニング中に、[高可用性] セクションに移動します。 [同じゾーン] または [ゾーン冗長] を選択します。
Note
サーバーが作成されたリージョンでゾーン冗長を使用した高可用性がサポートされていない場合、 ゾーン冗長 オプションは使用できません。
プライマリ サーバーの特定のゾーンを選択するには、可用性ゾーンを [優先設定なし] 以外の値に設定します。
スタンバイ可用性ゾーンでは、スタンバイ サーバーの値を選択できます。 特定のゾーンの設定は、データベースと同じゾーンにアプリケーションを併置して待機時間を短縮する場合に便利です。 サービスが自動的に選択する可用性ゾーンにスタンバイ サーバーをデプロイする場合 は、[優先設定なし] を選択します。
強制フェールオーバーを開始する
Azure Database for PostgreSQL のスタンバイ サーバーへのプライマリ サーバーのフェールオーバーを強制するには、次の手順に従います。
強制フェールオーバーを開始すると、すぐにプライマリ サーバーがダウンし、スタンバイ サーバーへのフェールオーバーがトリガーされます。 強制フェールオーバーの開始は、計画外の停止によって発生したフェールオーバーがワークロードに与える影響をテストする場合に便利です。
重要
フェールオーバーをすぐに連続して実行することはしないでください。 フェールオーバーの間に少なくとも 15 ~ 20 分待ちます。 この待機時間により、新しいスタンバイ サーバーを完全に確立できます。
ポータルで報告された全体的なエンドツーエンドの操作時間は、アプリケーションで発生する実際のダウンタイムよりも長くなる可能性があります。 アプリケーションの観点からダウンタイムを測定する必要があります。
Azure portal で、高可用性が有効になっている Azure Database for PostgreSQL フレキシブル サーバーを選択します。
左側のメニューの [設定] セクションで、[ 高可用性] を選択します。
高可用性モードが ゾーン冗長に設定されている場合は、 プライマリ可用性ゾーンとスタンバイ可用性ゾーン に割り当てられている値に注意 してください。 フェールオーバー操作が完了した後は、元に戻す必要があります。
[強制フェールオーバー] を選択して、手動フェールオーバーの手順を開始します。 フェールオーバーが完了するまで、予想されるダウンタイムがダイアログで通知されます。 続行する場合は、[強制フェールオーバーの開始] を選択します。
フェールオーバーが進行中であることを示す通知が表示されます。
スタンバイ サーバーへのフェールオーバーが完了すると、完了が通知されます。
高可用性モードが ゾーン冗長として構成されている場合は、 プライマリ可用性ゾーン と スタンバイ可用性ゾーン の値が逆になっていることを確認します。
計画されたフェールオーバーを開始する
プライマリ サーバーから Azure Database for PostgreSQL のスタンバイ サーバーへの計画されたフェールオーバーを実行するには、次の手順に従います。 この操作を開始すると、スタンバイ サーバーが準備され、フェールオーバーが実行されます。
このフェールオーバー操作では、スタンバイ サーバーへのグレースフル フェールオーバーが実行されるため、ダウンタイムが最小限になります。 これは、予期しないフェールオーバー後にプライマリ サーバーを優先可用性ゾーンに戻すなどの状況に役立ちます。
重要
フェールオーバーをすぐに連続して実行することはしないでください。 フェールオーバーの間に少なくとも 15 ~ 20 分待ちます。 この待機時間により、新しいスタンバイ サーバーを完全に確立できます。
アクティビティの少ない期間中は、計画されたフェールオーバーを実行することをお勧めします。
ポータルで報告された全体的なエンドツーエンドの操作時間は、アプリケーションで発生する実際のダウンタイムよりも長くなる可能性があります。 アプリケーションの観点からダウンタイムを測定する必要があります。
Azure portal で、高可用性が有効になっている Azure Database for PostgreSQL フレキシブル サーバーを選択します。
左側のメニューの [設定] セクションで、[ 高可用性] を選択します。
高可用性モードが ゾーン冗長に設定されている場合は、 プライマリ可用性ゾーンとスタンバイ可用性ゾーン に割り当てられている値に注意 してください。 フェールオーバー操作が完了した後は、元に戻す必要があります。
[計画フェールオーバー] を選択して、手動フェールオーバーの手順を開始します。 フェールオーバーが完了するまで、予想されるダウンタイムがダイアログで通知されます。 続行する場合は、[計画フェールオーバーの開始] を選択します。
フェールオーバーが進行中であることを示す通知が表示されます。
スタンバイ サーバーへのフェールオーバーが完了すると、完了が通知されます。
高可用性モードが ゾーン冗長として構成されている場合は、 プライマリ可用性ゾーン と スタンバイ可用性ゾーン の値が逆になっていることを確認します。
特別な考慮事項
Azure Database for PostgreSQL フレキシブル サーバーで高可用性を有効または無効にしても、ネットワーク構成、ファイアウォール設定、サーバー パラメーター、バックアップ保持期間など、他の設定は変更されません。 高可用性の有効化または無効化はオンライン操作です。 アプリケーションの接続と操作には影響しません。
両方のレプリカが同じゾーンにデプロイされた高可用性がサポートされ、Azure Database for PostgreSQL フレキシブル サーバーがサポートされているすべてのリージョンで利用できます。 ただし、ゾーン冗長を使用した高可用性は 、特定のリージョンでのみ使用できます。
高可用性は、バースト可能なレベルではサポートされません。 汎用レベルとメモリ最適化レベルでのみサポートされます。
単一の可用性ゾーンで構成されるリージョンにサーバーをデプロイする場合は、同じゾーン モードでのみ高可用性を有効にすることができます。 リージョンが複数の可用性ゾーンで将来的に拡張される場合は、同じゾーンまたはゾーン冗長として構成された高可用性を備えた新しい Azure Database for PostgreSQL フレキシブル サーバーをデプロイできます。
ただし、リージョンが単一の可用性ゾーンで構成されていたときにリージョンにデプロイされたフレキシブル サーバーの場合、ゾーン冗長モードで高可用性を直接有効にすることはできません。 回避策として、新しいサーバーでこれらのインスタンスを復元し、復元されたサーバーでゾーン冗長高可用性を有効にすることができます。
- 最新の復元ポイントを使用して、新しいサーバー上の既存のインスタンスを復元します。
- 新しいサーバーを作成したら、 ゾーン冗長性を使用して高可用性を有効にします。
- データ検証の後、必要に応じて古いサーバーを削除することもできます。
- クライアントの接続文字列が、新しく復元されたサーバーを指すよう変更されていることを確認します。