本記事では、クロスクラウドの1プライマリ・複数スタンバイアーキテクチャを用いた高可用性データベースデプロイメントのベストプラクティスを紹介します。1プライマリ・複数スタンバイアーキテクチャは、1プライマリ・1スタンバイアーキテクチャと比較して、より高い災害復旧の冗長性を提供します。特定のスタンバイインスタンスに障害が発生しても、他のスタンバイインスタンスが利用可能なため、事業継続性に対する要求が高い重要な業務システムに適しています。クロスクラウドのプライマリ/スタンバイデータベースの概念と原理の詳細については、クロスクラウドのプライマリ/スタンバイデータベースによる高可用性の実現をご参照ください。
説明
現在、この機能はホワイトリスト制で提供されています。利用を希望する場合は、テクニカルサポートにお問い合わせください。
1プライマリ・複数スタンバイアーキテクチャの概要図:

典型的なユースケース
ある大手eコマースプラットフォームのコア取引システムは、7×24時間の稼働が求められ、データの一貫性と事業継続性に対する要求が極めて高いです。同プラットフォームはAlibaba Cloudにプライマリデータベースインスタンスをデプロイし、日常的な注文処理、決済取引、在庫管理などのコア業務を担っています。
ビジネス上の課題:
単一のクラウドサービスプロバイダーの障害により、業務システム全体が中断し、巨額の経済的損失を被る可能性があります。
複数地域のコンプライアンス要件を満たす必要があり、データを異なる地域に配置する必要があります。
災害復旧の切り替え時間に対する要求が極めて高く、RTO(復旧目標時間)を秒単位で制御する必要があります。
より高い災害復旧の冗長性が必要であり、いずれかのスタンバイインスタンスに問題が発生しても、他のスタンバイインスタンスが利用可能であることが求められます。
実践的なソリューション 同企業はクロスクラウドの1プライマリ・複数スタンバイアーキテクチャを採用し、Tencent Cloudに3つのスタンバイインスタンスをデプロイし、それぞれ異なるアベイラビリティゾーンに配置しています。プライマリインスタンスはネットワーク直接接続方式で3つのスタンバイインスタンスにリアルタイムでデータを同期し、データの強整合性を確保します。
プライマリインスタンスに障害が発生した場合、データ同期が最も完全で、遅延が最も少なく、可用性が最も高いスタンバイインスタンスを新しいプライマリインスタンスとして選択し、秒単位での切り替えを実現し、業務の中断を防ぎます。
前提条件
現在のところ、クロスクラウドのプライマリ/スタンバイデータベースは、フラッグシップ版インスタンスとトランザクション型インスタンスのみをサポートしています。
プライマリ/スタンバイインスタンスのストレージアーキテクチャは、ストレージとコンピュートが統合されたものである必要があります。
スタンバイインスタンスは、プライマリインスタンスとインスタンスタイプ、支払い方法、データベースバージョン、デプロイメントプランが一致している必要があります。
データベースバージョンはV4.2.5.4以降である必要があります(複数のスタンバイインスタンスの作成をサポートしており、現在最大で3つのスタンバイインスタンスを作成できます)。
現在ログインしているOB Cloudアカウントのロールがプロジェクト所有者またはプロジェクト管理者であること。
操作手順
プライマリインスタンスの作成
OB CloudデータベースコンソールでAlibaba Cloudプライマリインスタンスを作成し、データベースバージョンがV4.2.5.4以上であることを確認します。
OB Cloudデータベースコンソールにログインします。初めてインスタンスを作成する場合は、ページの指示に従って**インスタンスを作成**をクリックします。
左側のナビゲーションペインで、**インスタンス**をクリックします。
ページの右上隅で、**インスタンスの作成**をクリックして、インスタンス作成ページに移動します。
インスタンスタイプを**トランザクション型**に選択します。
支払い方法(月額固定制または従量課金)を選択します。
クラウドサービスプロバイダーを**Alibaba Cloud**に選択し、リージョンを選択します。
クラウドサービスプロバイダー対応リージョンAlibaba Cloud 北京、杭州 インスタンス設定を選択します:
パラメータ説明インスタンス名 インスタンス名を設定します。長さは2~64文字で、漢字、数字、英字、アンダースコア、ハイフンのみ含めることができます。 ストレージアーキテクチャ **コンピュート・ストレージ一体型**を選択します(現在、クロスクラウドのプライマリ/スタンバイデータベースでは存算一体アーキテクチャのみサポートされています)。 データベースバージョン V4.2.5.4以上を選択します(複数のスタンバイインスタンスを作成する場合は)。 デプロイメントプラン デプロイメントプラン(単一データセンターデプロイ、二重データセンターデプロイ、またはマルチデータセンターデプロイ)を選択します。 ザラットゾーン 対象のゾーンを選択します。**ネットワークレイテンシを確認する**をクリックして、ネットワーク遅延が低いゾーンを選択できます。ネットワーク遅延を低減するため、業務アプリケーションに近いリージョンを選択することを推奨します。 コンピューティング仕様 コンピューティング仕様を選択します。クラウドプロバイダーによってサポートされるコンピューティング仕様は異なります。 ストレージディスクタイプ ESSD PL0とESSD PL1の2種類がサポートされています。 ストレージ仕様 コンピューティング仕様に応じてストレージ仕様を選択します。 購入期間、数量、および自動更新の有無を選択します(月額固定制のみ表示)。
**要約で、パラメータ設定と購入数量が正しいか確認し、確認後、サービス利用規約に同意し、注文の確認**をクリックします。
支払いページで注文情報を確認し、利用可能なクーポンと支払い方法を選択した後、**支払い**をクリックして支払いを行います。
支払いが完了したら、インスタンスリストで作成したばかりのインスタンスを確認します。
詳細については、インスタンスの作成をご参照ください。
スタンバイインスタンスの作成
(既にログインしている場合はスキップ)OB Cloudデータベースコンソールにログインします。
左側のナビゲーションペインで、**インスタンス**をクリックします。
インスタンスリストで対象のプライマリインスタンス(Alibaba Cloudプライマリインスタンス)を見つけ、クラスタ名の後ろのアイコンをクリックし、**スタンバイインスタンスを作成する**を選択します。
ポップアップウィンドウで、スタンバイインスタンスが属するプロジェクトを選択し、**スタンバイインスタンスを作成する**をクリックします。
注文ページに移動し、インスタンス情報を選択します:
パラメータ説明インスタンスタイプ トランザクション型 支払い方法 定額制 クラウドサービスプロバイダー Tencent Cloudを選択 リージョン ネットワーク遅延を低減し、アクセス速度を向上させるため、業務に近いリージョンを選択することを推奨します。 インスタンス名 スタンバイインスタンス名は2~64文字でカスタマイズ可能です。中国語、数字、英字、アンダースコア、ハイフンのみ含めることができます。 バージョン データベースバージョンはV4.2.5.4以上が必要です(複数のスタンバイインスタンスを作成する場合)。 デプロイメントプラン プライマリインスタンスと一致させる ゾーン **ネットワークレイテンシを確認する**をクリックして、各地域のネットワーク遅延状況を確認し、適切なゾーンを選択します。より高い災害復旧の冗長性を提供するため、複数のスタンバイインスタンスを異なるゾーンにデプロイすることを推奨します。 コンピューティングスペック プライマリインスタンスと一致させるか、ビジネスニーズに応じて調整します。スタンバイインスタンスの最小ノード構成は、プライマリインスタンスのノード構成 × 0.33以上である必要があります。 ストレージ構成 プライマリインスタンスと一致させるか、プライマリインスタンスのストレージ構成より大きく設定します。 プライマリ/スタンバイデータベース間のネットワーク同期方式 ネットワーク直接接続とログアーカイブの2種類の同期方式をサポートします。詳細は下記をご参照ください。 プライマリ/スタンバイデータベース間のネットワーク同期方式を設定します:
ネットワークへの直接接続:リアルタイム性が強く、遅延が低い(秒単位)ため、データ同期のリアルタイム性に対する要求が高いシナリオに適しています。
ログのアーカイブ:遅延がやや高い(分単位)ため、ネットワーク転送コストを削減する必要があるシナリオに適しています。
説明
一主多備アーキテクチャでは、すべてのスタンバイインスタンスは同じネットワーク同期方式を使用する必要があります。既にスタンバイインスタンスが存在する場合は、既存のスタンバイインスタンスと同じネットワーク同期方式を選択してください。一度選択すると、後から変更できません。
**概要で、パラメータ設定と購入数量が正しいか確認します。確認後、サービス利用規約に同意し、注文の確認**をクリックします。
支払いページで注文情報を確認し、利用可能なクーポンと支払い方法を選択した後、**支払い**をクリックしてお支払いを行います。
インスタンスリストに戻り、スタンバイインスタンスが正常に作成されたことを確認します。インスタンスリストでは、プライマリインスタンスとスタンバイインスタンスの関連関係を確認できます。
(オプション)複数のスタンバイインスタンスを作成する場合は、手順3~9を繰り返し、同一のプライマリインスタンスに対して2番目および3番目のスタンバイインスタンスを作成し、一主多備アーキテクチャを実現します。
説明
- すべてのスタンバイインスタンスは同じネットワーク同期方式を使用する必要があります。
- 単一障害点の回避のため、複数のスタンバイインスタンスを異なるゾーンにデプロイすることを推奨します。
- 今後の管理と運用を容易にするため、統一された命名ルールを使用することを推奨します。
- 現在、一つのプライマリインスタンスに対して最大3つのスタンバイインスタンスを作成できます。
テナントの作成とデータのインポート
プライマリインスタンスでテナントを作成し、業務データをインポートします。すべてのスタンバイインスタンスは、プライマリインスタンスのデータを自動的に同期します。
データ同期の説明:
スタンバイインスタンスの作成後、プライマリインスタンスからのデータ同期が自動的に開始されます。
すべてのスタンバイインスタンスはプライマリインスタンスから直接データを同期します。スタンバイインスタンス間ではカスケード同期は発生しません。
データ同期はリアルタイムです。ネットワーク直連方式では遅延は通常秒単位ですが、ログアーカイブ方式では分単位の遅延が発生する可能性があります。
プライマリインスタンスでテナントを作成します。詳細については、テナントの作成をご参照ください。
テナントに業務データをインポートします。詳細については、データ移行をご参照ください。
すべてのテナントでプライベートネットワークアドレスが作成されていることを確認します。詳細については、リンク文字列の取得をご参照ください。
データ同期状態を確認します:
スタンバイインスタンスのテナントダッシュボードに移動し、デプロイメント関係図でデータ同期状態と遅延を確認できます。
データ同期が完了してからグローバルアドレスの設定を行うことを推奨します。
ネットワーク直連方式では、同期遅延を10秒以内に抑えることを推奨します。ログアーカイブ方式では、同期遅延を5分以内に抑えることを推奨します。
グローバルアドレスの設定
グローバルアドレスは、ビジネスを中断することなく切り替えを実現するための重要な設定です。グローバルアドレスにより、業務アプリケーションは接続先のアドレスを変更する必要がなく、リクエストは常に現在のプライマリインスタンスにルーティングされます。
前提条件:プライマリ・スタンバイデータベースのすべてのテナントでプライベートネットワークアドレスが作成済みであること。詳細については、リンク文字列の取得をご参照ください。
実践上の推奨事項:
プライマリ1台・スタンバイ複数台構成では、各スタンバイインスタンスごとにグローバルアドレスを設定する必要があります。
認識しやすく管理しやすいため、意味のあるグローバルアドレスのプレフィックスを使用することを推奨します。
設定を行う前に、プライマリテナントとスタンバイテナントのプライベートネットワークアドレスを準備しておくことを推奨します。
OB Cloudデータベースコンソールにログインします。
左側のナビゲーションペインで、インスタンス をクリックします。
インスタンスリストで対象のクラスタ(プライマリインスタンス)を見つけ、インスタンスの左側にある矢印をクリックしてインスタンスのテナント情報を展開します。次に、対象のテナント名をクリックして テナントダッシュボード に入ります。
トポロジー の プライマリ・スタンバイデータベースのグローバルアドレス の隣にある エンドポイントを取得 をクリックします。
ポップアップウィンドウに、プライマリ・スタンバイデータベースのグローバルアドレスプレフィックス、プライマリテナントのプライベートネットワークアドレスIP、スタンバイテナントのプライベートネットワークアドレスIPを入力します。
エンドポイントプレフィックス:小文字、数字、ハイフン(-)で構成されるカスタムプレフィックス。先頭は文字、末尾は数字または文字。文字数は10~40文字。プレフィックスは一意である必要があります。
プライマリテナントのプライベートIP:プライマリインスタンスのテナントダッシュボードに移動し、トポロジー の プライベートエンドポイント の隣にある 接続文字列を取得 をクリックしてプライベートネットワークアドレスをコピーします。
スタンバイテナントのプライベートIP:最初のスタンバイインスタンスのテナントダッシュボードに移動し、トポロジー の プライベートエンドポイント: の隣にある 接続文字列を取得 をクリックしてプライベートネットワークアドレスをコピーします。
OK をクリックして、最初のスタンバイインスタンスのグローバルアドレス設定を完了します。
グローバルアドレスの設定が成功したかどうかを確認します。テナントダッシュボードの トポロジー で、設定済みのグローバルアドレス情報を確認できます。
(オプション)他のスタンバイインスタンスにグローバルアドレスを設定する場合は、手順3~7を繰り返し、各スタンバイインスタンスごとにグローバルアドレスを設定します。
説明
- 各グローバルアドレスの設定には異なるプレフィックスが必要です。プレフィックスは一意であることを確認してください。
- 各スタンバイインスタンスにグローバルアドレスを設定することを推奨します。これにより、任意のスタンバイインスタンスが新しいプライマリインスタンスとしてサービスを提供できるようになります。
- 設定後は、グローバルアドレスへの接続をテストし、設定が正しいことを確認することを推奨します。
ディザスタリカバリ切り替え
プライマリインスタンスに障害が発生した場合、または計画的な切り替えが必要な場合、スタンバイインスタンスをプライマリインスタンスに切り替えることができます。一主多備アーキテクチャでは、複数のスタンバイインスタンスから手動で最適なスタンバイインスタンスを選択し、新しいプライマリインスタンスとして設定する必要があります。
前提条件:
少なくとも1つのスタンバイインスタンスの状態が実行中であること。
プライマリ・スタンバイデータベースのすべてのテナントで専用ネットワークアドレスが作成されていること。
プライマリ・スタンバイデータベースのテナントでグローバルアドレスの設定が完了していること。
プロジェクト管理者およびインスタンス管理者権限を持っていること。
スタンバイインスタンスの選択に関する推奨事項:
以下の要因に基づいて優先順位を考慮し、最適なスタンバイインスタンスを選択することを推奨します:
地理的位置:ネットワーク遅延とビジネスの近接性の原則を考慮し、ビジネスアプリケーションに最も近いスタンバイインスタンスを優先的に選択します。
リソース状態:スタンバイインスタンスのCPU、メモリ、ストレージなどのリソース使用状況を評価し、ビジネス負荷を支えるために十分なリソースがあることを確認します。
切り替え時間:
ネットワーク直接接続方式:通常、3~5分以内に切り替えが完了します。
ログアーカイブ方式:データ同期の完了を待つ必要がある場合があり、切り替え時間は1~5分かかる場合があります。
操作手順:
OB Cloudクラウドデータベースコンソールにログインします。
左側のナビゲーションペインで、**インスタンス**をクリックします。
インスタンスリストで対象のスタンバイインスタンスを見つけ、操作列のアイコンをクリックします。
スタンバイインスタンスの選択方法:
スタンバイインスタンスのテナントダッシュボードで、データ同期の状態、遅延、リソース使用状況を確認できます。
スタンバイインスタンスの選択に関する推奨事項に基づき、データ同期が最も完全で、遅延が最も少なく、リソースが十分なスタンバイインスタンスを選択することを推奨します。
ポップアップウィンドウで、**ディザスタリカバリ切り替え**を選択します。
切り替え情報を確認し、**確定**をクリックしてディザスタリカバリ切り替えを完了します。
説明
- 切り替え後、選択されたスタンバイインスタンスが新しいプライマリインスタンスとなり、元のプライマリインスタンスとすべてのスタンバイインスタンスとのプライマリ/スタンバイ関係は解除されます。
- 切り替え後、他のスタンバイインスタンスは新しいプライマリインスタンスと同期関係を確立し、新しいプライマリインスタンスのスタンバイインスタンスとして引き続き機能します。
- 業務アプリケーションでは、接続先のアドレスを更新し、新しいプライマリインスタンスに接続する必要があります。
切り替え後の処理:
切り替え後、他のスタンバイインスタンスは新しいプライマリインスタンスと同期関係を確立し、プライマリ1台・スタンバイ複数台の構成が維持されます。
新しいプライマリインスタンスと他のスタンバイインスタンスとのデータ同期状態を定期的に確認し、正常に同期されていることを保証することを推奨します。
詳細については、災害復旧による切り替えをご参照ください。