Multi Avaliable Zone での災害復旧
multi avaliable zone 災害復旧とは何ですか?
不可抗力(コンピューター室の火災、停電など)や機器障害(ソフトウェアまたはハードウェアの損傷)により、クラウドプラットフォームのavaliable zoneが短時間で復旧できない場合、VeloDB warehousesとクラスターは、ビジネスのmulti avaliable zone災害復旧機能をサポートし、単一のavaliable zone障害に対応するためにアプリケーション全体の災害復旧バックアップを実行し、ビジネスのRTOおよびRPOコア指標を満たします。
アーキテクチャの説明
VeloDB Cloud全体は主に3つの部分で構成されています:メタデータサービス層、コンピューティングクラスター層、オブジェクトストレージ層。

-
メタデータサービス層の高可用性
現在のメタデータサービス層は主にMetaServiceとFEで構成されています。MetaServiceとFEはともにマルチノード高可用性をサポートしています。MetaServiceとFEを3つのavailability zoneに展開することで、任意のavailability zoneで障害が発生した場合でも、サービスの中断なしを実現できます。
-
計算サービスの高可用性
共有オブジェクトストレージに基づくマルチ計算クラスター実装を提供し、各計算クラスターは独立して読み書きできます。したがって、計算層の高可用性を確保するために以下の方法を推奨します。
- 特定のavailability zoneが利用できない場合、1時間以内のサービス復旧を許容する:1つのavailability zoneにコンピューティングクラスターを展開し、このavailability zoneが利用できなくなった場合、別のavailability zoneで1時間以内にコンピューティングクラスターの復旧を迅速に完了できます。これは、クラスターのホットキャッシュデータのサイズに依存します。ホットデータキャッシュが小さい場合、10〜30分で完了できます。
- 特定のavailability zoneが利用できない場合、中断時間なしでクエリサービスが完全に利用可能であることを希望する:2つまたは3つのavailability zoneにコンピューティングクラスターを展開して2つのコンピューティングクラスターを形成し、両方のコンピューティングクラスターが読み書きできます。
-
Object storageの高可用性
Object storageは、クラウドプラットフォームが提供するクロスavailability zone高可用性設定を使用し、クラウドプラットフォームがマルチavailability高可用性を保証します。
操作手順
warehouseの作成
新しいSaaS warehouseを作成する際、マルチavailability zone展開がデフォルトで有効になっています—追加設定は不要です。前提条件はマルチAZ展開をサポートするRegionを選択することです。選択されたregionがマルチAZをサポートしていない場合、warehouseは単一のavailability zoneに展開されます。

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

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

その他のオプションは、単一availability zoneクラスターと同じです。
クラスターが正常に作成された後、クラスター詳細ページでクラスターが配置されているavailability zoneを確認できます。

クラスターの指定
複数のクラスターがある場合、以下の例に示すように、以下の方法でクラスターを指定できます
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;
- JDBC接続文字列
jdbc:mysql://<host>:<port>/<Database>@<Cluster>?user=<Username>&password=<Password>
- クラスター 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
-
SQLエディタ
SQLコマンドを実行する際に、右上角でSwitch Clusterを選択できます

-
クラスタの表示、クラスタ権限設定、ユーザーデフォルトクラスタの設定などについては、Cluster Managementを参照してください。
クラスタ名前変更
クラスタ詳細ページでクラスタの名前を変更できます

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

プライベートネットワーク接続
プライベートネットワーク接続を作成し、エンドポイントを作成する際に、複数のアベイラビリティゾーンに対応する複数のエンドポイントを作成できます。
詳細については、Private network connectionを参照してください。
災害復旧準備と障害処理
ウェアハウス
- 災害復旧準備:ウェアハウス作成時に、マルチ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に名前変更します。ビジネスのスムーズな切り替えを完了します。
パブリックネットワーク接続
- 災害復旧準備:ウェアハウスが提供するドメイン名を使用して信頼性の高いアクセスを行います。
- 障害処理:処理は不要です。
プライベートネットワーク接続
災害復旧準備:複数のアベイラビリティゾーンに対応するプライベートネットワーク接続を作成します。 障害処理:正常なアベイラビリティゾーンのプライベートネットワーク接続に切り替えます。