メインコンテンツまでスキップ

高可用性

マルチAZ高可用性とは何ですか?

不可抗力(データセンターの火災や停電など)や機器障害(ソフトウェアまたはハードウェアの損傷)により可用性ゾーンを迅速に復旧できない場合、複数の可用性ゾーンにデプロイされたVeloDBウェアハウスとクラスターは、単一AZの損失を通じて実行を継続し、ビジネスのRTOとRPOの目標を満たします。

マルチAZは、リージョン内の単一可用性ゾーンの損失から保護します。リージョン全体の損失から保護するには、Disaster Recoveryを参照してください。

アーキテクチャ説明

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

multiaz 1

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

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

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

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

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

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

操作手順

ウェアハウスの作成

新しいSaaSウェアハウスを作成する際、マルチ可用性ゾーンデプロイメントはデフォルトで有効になっており、追加設定は不要です。前提条件はマルチAZデプロイメントをサポートするリージョンを選択することです。選択したリージョンがマルチAZをサポートしていない場合、ウェアハウスは単一可用性ゾーンにデプロイされます。

new saas warehouse

ウェアハウス作成後、ウェアハウス詳細ページでウェアハウスが属する可用性ゾーンを確認できます。

multiaz 3

クラスター

クラスターの作成

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

multiaz 4

その他のオプションは単一可用性ゾーンクラスターと同じです。

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

multiaz 5

クラスターの指定

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

1.MySQL Clientを通じてVeloDBに接続し、クラスター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 Editor

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

    multiaz 6

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

クラスター名変更

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

multiaz 7

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

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

multiaz 8

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

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

詳細については、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に名前変更します。ビジネスのスムーズな切り替えを完了します。

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

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

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

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