メインコンテンツまでスキップ
バージョン: 26.x

マルチアベイラブルゾーンでの災害復旧

マルチアベイラブルゾーン災害復旧とは?

不可抗力(データセンターの火災、停電など)や機器障害(ソフトウェアまたはハードウェアの損傷)により、クラウドプラットフォームのアベイラブルゾーンが短時間で復旧できない場合、VeloDBウェアハウスとクラスターは、ビジネスのマルチアベイラブルゾーン災害復旧機能をサポートし、アプリケーション全体の災害復旧バックアップを実行して単一アベイラブルゾーンの障害に対処し、ビジネスのRTOおよびRPOコア指標を満たします。

アーキテクチャ説明

VeloDB Cloudは全体的に主に3つの部分で構成されています:メタデータサービス層、コンピューティングクラスター層、オブジェクトストレージ層。

multiaz 1

  1. メタデータサービス層の高可用性

    現在のメタデータサービス層は主にMetaServiceとFEで構成されています。MetaServiceとFEの両方がマルチノード高可用性をサポートしています。MetaServiceとFEを3つのavailability zoneに展開することで、任意のavailability zoneで障害が発生した場合でも無停止サービスを実現できます。

  2. コンピューティングサービスの高可用性

    共有オブジェクトストレージに基づくマルチコンピューティングクラスター実装を提供しており、各コンピューティングクラスターは独立して読み書きできます。そのため、コンピューティング層の高可用性を確保するために以下の方法を推奨します。

  • 特定のavailability zoneが利用できない場合、1時間以内のサービス復旧を許容する:1つのavailability zoneにコンピューティングクラスターを展開し、そのavailability zoneが利用できなくなった場合、別のavailability zone内で1時間以内にコンピューティングクラスターの復旧を迅速に完了できます。これはクラスターのホットキャッシュデータのサイズに依存します。ホットデータキャッシュが小さい場合、10-30分で完了できます。
  • 特定のavailability zoneが利用できない場合、クエリサービスが中断時間なしで完全に利用可能であることを希望する:2つまたは3つのavailability zoneにコンピューティングクラスターを展開して2つのコンピューティングクラスターを形成し、両方のコンピューティングクラスターが読み書き可能です。
  1. オブジェクトストレージの高可用性

    オブジェクトストレージはクラウドプラットフォームが提供するクロスavailability zone高可用性設定を使用し、クラウドプラットフォームがマルチavailability高可用性を保証します。

操作手順

ウェアハウスの作成

新しいSaaSウェアハウスを作成する際、マルチavailability zone展開はデフォルトで有効になっています — 追加の設定は必要ありません。前提条件はマルチAZ展開をサポートするRegionを選択することです。選択したregionがマルチAZをサポートしていない場合、ウェアハウスは単一availability zoneに展開されます。

new saas warehouse

ウェアハウスが作成された後、ウェアハウス詳細ページでウェアハウスが属するavailability zoneを確認できます。

multiaz 3

クラスター

クラスターの作成

単一クラスターを作成する際、availability zoneを選択し、ウェアハウスの3つのavailability zoneのうち1つのみを選択できます。複数のクラスターを作成する際、各クラスターは異なるavailability zoneを選択できます。

multiaz 4

その他のオプションは単一availability zoneクラスターと同じです。

クラスターが正常に作成された後、クラスター詳細ページでクラスターが配置されているavailability zoneを確認できます。

multiaz 5

クラスターの指定

複数のクラスターがある場合、以下の例に示すように、以下の方法でクラスターを指定できます

1.MySQL Client経由でVeloDBに接続し、cluster cluster_1を使用してデータベースとテーブルを作成します。

//Switch to use computing cluster cluster_1
USE @cluster_1;

//Create database, table
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE test_table
(
k1 TINYINT,
k2 DECIMAL(10, 2) DEFAULT "10.05",
k3 CHAR(10) COMMENT "string column",
k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
)
COMMENT "my first table"
DISTRIBUTED BY HASH(k1) BUCKETS 16;
  1. JDBC接続文字列
jdbc:mysql://<host>:<port>/<Database>@<Cluster>?user=<Username>&password=<Password>
  1. クラスターcluster_2を使用してStream Loadによりサンプルデータを書き込みます。
 curl --location-trusted -u admin:admin_123 -H "cloud_cluster:cluster_2" -H "label:123" -H "column_separator:," -T data.csv http://host:port/api/test_db/test_table/_stream_load
The sample data in data.csv is as follows:
1,0.14,a1,20
2,1.04,b2,21
3,3.14,c3,22
4,4.35,d4,23
  1. SQLエディタ

    SQLコマンドを実行する際、右上角でSwitch Clusterを選択できます

    multiaz 6

  2. クラスタの表示、クラスタ権限設定、ユーザーデフォルトクラスタの設定などについては、Cluster Managementを参照してください。

クラスタの名前変更

クラスタ詳細ページで、クラスタの名前を変更できます

multiaz 7

パブリックネットワーク接続

パブリックネットワーク接続を使用してVeloDB Cloudにアクセスします。ウェアハウス作成時に、提供されたドメイン名を直接使用してアクセスでき、システムが自動的に3つのアベイラビリティゾーンのFEノードにルーティングします。

multiaz 8

プライベートネットワーク接続

プライベートネットワーク接続を作成してエンドポイントを作成する際、複数のアベイラビリティゾーンに対応する複数のエンドポイントを作成できます。

詳細については、Private network connectionを参照してください。

障害復旧準備と障害処理

Warehouse

  • 障害復旧準備: ウェアハウス作成時に、マルチAZ展開をサポートするリージョンを選択してください。マルチAZはデフォルトで有効になっており、追加の設定は必要ありません。
  • 障害処理: 処理は不要です。

クラスタ

障害復旧準備

  • 特定のアベイラビリティゾーンが利用できない場合、1時間以内のサービス復旧を許容する場合: 1つのアベイラビリティゾーンにコンピューティングクラスタを展開し、このアベイラビリティゾーンが利用できなくなった際に、別のアベイラビリティゾーンで1時間以内にコンピューティングクラスタの復旧を迅速に完了できます。これはクラスタのホットキャッシュデータのサイズに依存します。ホットデータキャッシュが小さい場合、10-30分で完了できます。
  • 特定のアベイラビリティゾーンが利用できない場合、クエリサービスを中断時間なしで完全に利用可能にしたい場合: 2つまたは3つのアベイラビリティゾーンにそれぞれコンピューティングクラスタを展開して2つ以上のコンピューティングクラスタを形成し、2つ以上のコンピューティングクラスタで読み書きが可能です。

障害処理

  • クラスタの名前変更: ユーザー設定がCluster-Aに送信されます。Cluster-Aが障害後、Cluster-AをCluster-Xに名前変更します。そして新しいCluster-Aを作成するか、他のバックアップクラスタCluster-BをCluster-Aに名前変更します。ビジネスのスムーズな切り替えを完了します。

パブリックネットワーク接続

  • 障害復旧準備: ウェアハウスが提供するドメイン名を使用して信頼性の高いアクセスを行います。
  • 障害処理: 処理は不要です。

プライベートネットワーク接続

障害復旧準備: 複数のアベイラビリティゾーンに対応するプライベートネットワーク接続を作成します。 障害処理: 正常なアベイラビリティゾーンのプライベートネットワーク接続に切り替えます。