この記事では、Azure Database for PostgreSQL フレキシブル サーバーで高可用性 (HA) を有効または無効にする方法について説明します。 この情報は、同じゾーン内のサーバーを使用しているか、ゾーン冗長デプロイ モデルを使用しているかに関係なく適用されます。 この記事では、Azure Database for PostgreSQL フレキシブル サーバーで高可用性 (HA) を有効または無効にする方法について説明します。 この情報は、同じゾーン内のサーバーを使用しているか、ゾーン冗長デプロイ モデルを使用しているかに関係なく適用されます。
高可用性機能は、物理的に分離されたプライマリ レプリカとスタンバイ レプリカをデプロイします。 選択したデプロイ モデルに応じて、同じ可用性ゾーン内または異なるゾーンにレプリカをプロビジョニングできます。 詳細については、 高可用性の概念に関する記事を参照してください。 Azure Database for PostgreSQL フレキシブル サーバーの作成中または作成後に高可用性を有効にすることができます。 高可用性機能は、物理的に分離されたプライマリ レプリカとスタンバイ レプリカをデプロイします。 選択したデプロイ モデルに応じて、同じ可用性ゾーン内または異なるゾーンにレプリカをプロビジョニングできます。 詳細については、 高可用性の概念に関する記事を参照してください。 Azure Database for PostgreSQL フレキシブル サーバーの作成中または作成後に高可用性を有効にすることができます。
既存のサーバーの高可用性を有効にする
既存のAzure Database for PostgreSQLフレキシブル サーバーでいつでも高可用性を有効にすることができます。 高可用性を有効にすると、プライマリ サーバーをミラーリングするスタンバイ レプリカがサービスによって作成されます。 リージョンの容量と構成の選択に応じて、スタンバイを別の可用性ゾーンにデプロイして保護を最大にするか、プライマリと同じゾーンにデプロイできます。 既存のAzure Database for PostgreSQLフレキシブル サーバーでいつでも高可用性を有効にすることができます。 高可用性を有効にすると、プライマリ サーバーをミラーリングするスタンバイ レプリカがサービスによって作成されます。 リージョンの容量と構成の選択に応じて、スタンバイを別の可用性ゾーンにデプロイして保護を最大にするか、プライマリと同じゾーンにデプロイできます。
Azure portal を使用します。
お使いの Azure Database for PostgreSQL フレキシブル サーバーを選択します。 Azure portal を使用して以下を実行します。
お使いの Azure Database for PostgreSQL フレキシブル サーバーを選択します。
リソース メニューの [設定] セクションで、[ 高可用性] を選択します。
ゾーンの回復性オプションは、サーバーが可用性ゾーン間で保護されているかどうかを制御します。 次の 2 つの選択肢があります。
- 無効 (99.9% SLA):高可用性が構成されていません。
- 有効 (99.99% SLA): このオプションを選択すると、Azureはプライマリとは異なる可用性ゾーンにスタンバイ サーバーの作成を試みます。 このオプションを使用すると、ゾーン レベルの障害に対する最適な保護が提供されます。
ゾーンの回復性を有効にしても、リージョンにゾーン冗長セットアップの容量がない場合は、 有効 (99.99% SLA) オプションの下に追加のチェック ボックスが表示されます。 スタンバイ サーバーをプライマリ サーバーと同じゾーンに作成できるようにするには、このチェック ボックスをオンにします。 ゾーン容量が使用可能になると、Azureはワークロードを同じゾーンからゾーン冗長に自動的に移行します。
ゾーンの回復性を有効にしていない場合は、[ 有効] オプションを選択します。
[有効] オプションを選択すると、可用性ゾーンをサポートするリージョンに対してゾーン冗長オプションが既定で適用されます。 この構成は、ゾーン障害から保護します。
リージョンにゾーン容量がない場合は、優先リージョンで高可用性 (HA) が有効になっていることを確認するために、有効なオプションの下にあるチェックボックスをオンにして、リージョンの Same-Zone モードで HA を作成できるようにします。
設定の構成が完了したら、[ 保存] を選択して変更を適用します。
ダイアログには、スタンバイ サーバーの展開に関連するコストの増加が表示されます。 続行する場合は、[高可用性を有効にする] を選択します。
Azure Database for PostgreSQL フレキシブル サーバーで高可用性を実現するために、新しいデプロイが開始されます。
デプロイが完了したら、[リソースに移動] を選択して、Azure Database for PostgreSQLフレキシブル サーバーに戻ることができます。
高可用性を無効にする
スタンバイ レプリカの保護が不要になったら、Azure Database for PostgreSQL フレキシブル サーバーで高可用性を無効にすることができます。 高可用性を無効にすると、スタンバイ サーバーが削除され、コストが削減されますが、サーバーはゾーンまたはサーバーの障害から保護されなくなります。
Azure portal を使用します。
お使いの Azure Database for PostgreSQL フレキシブル サーバーを選択します。
リソース メニューの [設定] セクションで、[ 高可用性] を選択します。
高可用性が有効になっている場合は、ゾーン回復性の [有効] ラジオ ボタンが既に選択されています。 また、 高可用性モード は構成済みモードに設定され、 高可用性状態 の値は通常 は正常です。
高可用性を無効にするには、[ 無効] ラジオ ボタンを選択します。
[保存] をクリックして変更を適用します。
ダイアログには、スタンバイ サーバーの削除に関連するコスト削減が表示されます。 続行する場合は、[高可用性を無効にする] を選択します。
デプロイが開始されます。 完了すると、高可用性が正常に無効にされたことを示す通知が表示されます。
サーバーのプロビジョニング中に Business Critical (高可用性) を有効にする
Azure Database for PostgreSQL フレキシブル サーバーを初めて作成するときに、高可用性を構成できます。 プロビジョニング中に高可用性を有効にすると、プライマリ サーバーと共にスタンバイ レプリカがデプロイされるため、ゾーンまたはサーバーの障害からすぐに保護できます。
Azure portal を使用します。
新しいAzure Database for PostgreSQLフレキシブル サーバーのプロビジョニング中に、Business Critical (高可用性) セクションに移動します。 [ゾーンの回復性] セクションで [有効] オプションを選択します。
- 既定では、サーバーはゾーンの回復性を最大限に高めるために、 ゾーン冗長 HA モードの別の可用性ゾーンにスタンバイ サーバーを作成しようとします。
プライマリ サーバーの特定のゾーンを選択するには、可用性ゾーンを [優先設定なし] 以外の値に設定します。
強制フェールオーバーを開始する
Azure Database for PostgreSQL のスタンバイ サーバーへのプライマリ サーバーのフェールオーバーを強制するには、次の手順に従います。
強制フェールオーバーを開始すると、プライマリ サーバーはすぐにダウンし、スタンバイ サーバーへのフェールオーバーをトリガーします。 強制フェールオーバーの開始は、計画外の停止によって発生したフェールオーバーがワークロードに与える影響をテストする場合に便利です。
Important
フェールオーバーをすぐに連続して実行することはしないでください。 フェールオーバーの間に少なくとも 15 ~ 20 分待ちます。 この待機時間により、新しいスタンバイ サーバーを完全に確立できます。
ポータルで報告された全体的なエンドツーエンドの操作時間は、アプリケーションで発生する実際のダウンタイムよりも長くなる可能性があります。 アプリケーションの観点からダウンタイムを測定する必要があります。
Azure portal を使用します。
高可用性が有効になっているAzure Database for PostgreSQLフレキシブル サーバーを選択します。
リソース メニューの [設定] セクションで、[ 高可用性] を選択します。
プライマリ サーバーとスタンバイ サーバーが異なるゾーンにデプロイされている場合は、 プライマリ可用性ゾーン と スタンバイ可用性ゾーンに割り当てられている値に注意してください。 これらの値は、フェールオーバー操作の完了後に逆になります。
[ 強制フェールオーバー ] を選択して、手動フェールオーバー手順を開始します。 フェールオーバーが完了するまで、予想されるダウンタイムがダイアログで通知されます。 続行する場合は、[強制フェールオーバーの開始] を選択します。
フェールオーバーが進行中であることを示す通知が表示されます。
スタンバイ サーバーへのフェールオーバーが完了すると、完了が通知されます。
プライマリ サーバーとスタンバイ サーバーが異なるゾーンにデプロイされている場合は、フェールオーバーが開始される前と比較して、 プライマリ可用性ゾーン と スタンバイ可用性ゾーン の値が逆であることを確認します。
計画されたフェールオーバーを開始する
プライマリ サーバーから Azure Database for PostgreSQL のスタンバイ サーバーへの計画されたフェールオーバーを実行するには、次の手順に従います。 この操作を開始すると、スタンバイ サーバーが準備され、フェールオーバーが実行されます。
このフェールオーバー操作では、スタンバイ サーバーへのグレースフル フェールオーバーが実行されるため、ダウンタイムが最小限になります。 これは、予期しないフェールオーバー後にプライマリ サーバーを優先可用性ゾーンに戻すなどの状況に役立ちます。
Important
フェールオーバーをすぐに連続して実行することはしないでください。 フェールオーバーの間に少なくとも 15 ~ 20 分待ちます。 この待機時間により、新しいスタンバイ サーバーを完全に確立できます。
アクティビティの少ない期間中に計画されたフェールオーバーを実行します。
ポータルで報告された全体的なエンドツーエンドの操作時間は、アプリケーションで発生する実際のダウンタイムよりも長くなる可能性があります。 アプリケーションの観点からダウンタイムを測定する必要があります。
Azure portal を使用します。
高可用性が有効になっているAzure Database for PostgreSQLフレキシブル サーバーを選択します。
リソース メニューの [設定] セクションで、[ 高可用性] を選択します。
プライマリ サーバーとスタンバイ サーバーが異なるゾーンにデプロイされている場合は、 プライマリ可用性ゾーン と スタンバイ可用性ゾーンに割り当てられている値に注意してください。 これらの値は、フェールオーバー操作の完了後に逆になります。
[ 計画されたフェールオーバー ] を選択して、手動フェールオーバー手順を開始します。 フェールオーバーが完了するまで、予想されるダウンタイムがダイアログで通知されます。 続行する場合は、[計画フェールオーバーの開始] を選択します。
フェールオーバーが進行中であることを示す通知が表示されます。
スタンバイ サーバーへのフェールオーバーが完了すると、完了が通知されます。
高可用性モードが ゾーン冗長として構成されている場合は、 プライマリ可用性ゾーン と スタンバイ可用性ゾーン の値が逆になっていることを確認します。
制限事項と考慮事項
Azure Database for PostgreSQLフレキシブル サーバーで高可用性を有効または無効にしても、サービスは他の設定を変更しません。 これらの設定には、ネットワーク構成、ファイアウォール設定、パラメーター、バックアップの保持期間が含まれます。 高可用性の有効化または無効化はオンライン操作です。 この操作は、アプリケーションの接続と操作には影響しません。
Azure Database for PostgreSQL では、両方のレプリカが同じゾーンにデプロイされた高可用性がサポートされています。 この構成は、サポートされているすべてのリージョンで使用できます。 ただし、 ゾーン冗長を使用した高可用性 は、特定のリージョンでのみ使用できます。
バースタブルティアでは、高可用性はサポートされていません。 高可用性をサポートするのは、 汎用 レベルと メモリ最適化 レベルのみです。
単一の可用性ゾーンで構成されるリージョンにサーバーをデプロイする場合は、同じゾーン モードでのみ高可用性を有効にすることができます。 Microsoft、複数の可用性ゾーンで将来的にリージョンを拡張する場合は、同じゾーンまたはゾーン冗長として構成された高可用性を備えた新しいAzure Database for PostgreSQLフレキシブル サーバーをデプロイできます。
ただし、リージョンが単一の可用性ゾーンで構成されている場合、リージョンにデプロイしたサーバーに対してゾーン冗長モードで高可用性を直接有効にすることはできません。 回避策として、復元オプションまたは読み取りレプリカ オプションを使用できます。
復元オプション
- 最新の復元ポイントの復元。
- 新しいサーバーを作成したら、 ゾーン冗長性を使用して高可用性を有効にします。
- データ検証の後、必要に応じて古いサーバーを削除することもできます。
- 新しく復元されたサーバーを指すクライアントの接続文字列を必ず変更してください。
レプリカの読み取りオプション
読み取りレプリカを新しいプライマリ サーバーに昇格させます。
元の名前を保つには、仮想エンドポイントを使うか、古いプライマリを削除してから、新しい読み取りレプリカを作成してレベル上げします。
ポータル ユーザーの場合は、ゾーンの回復性を有効にします。 開発者ツールの場合は、Zone-Redundant オプションを使用して高可用性を設定します。
読み取りレプリカを新しいプライマリ サーバーに昇格させます。
元の名前を保つには、仮想エンドポイントを使うか、古いプライマリを削除してから、新しい読み取りレプリカを作成してレベル上げします。
ポータル ユーザーの場合は、ゾーンの回復性を有効にします。 開発者ツールの場合は、Zone-Redundant オプションを使用して高可用性を設定します。