メインコンテンツへスキップ
メインコンテンツへスキップ

ユーザーインターフェイスからのバックアップ/リストア

AWS

AWSへのバックアップ取得

1. AWSでの手順

注記

以下の手順は"S3データへの安全なアクセス"で説明されている安全なS3セットアップと類似していますが、ロール権限に追加のアクションが必要です

AWSアカウントで以下の手順を実行します:

AWS S3バケットの作成

バックアップをエクスポートするAWS S3バケットをアカウント内に作成します。

IAMロールの作成

AWSはロールベース認証を使用するため、ClickHouse Cloudサービスがこのバケットへの書き込みのために引き受けることができるIAMロールを作成します。

  • a. ClickHouse Cloudサービス設定ページのネットワークセキュリティ情報からARNを取得します。以下のような形式です:
AWS S3 ARN
  • b. このロールに対して、以下のように信頼ポリシーを作成します:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "backup service",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::463754717262:role/CH-S3-bordeaux-ar-90-ue2-29-Role"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
ロール権限の更新

ClickHouse CloudサービスがS3バケットに書き込めるように、このロールの権限を設定する必要があります。 以下のようなJSONでロールの権限ポリシーを作成します。両方の箇所でリソースに自分のバケットARNを代入してください。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": ["s3:GetBucketLocation", "s3:ListBucket"],
      "Resource": ["arn:aws:s3:::byob-ui"],
      "Effect": "Allow"
    },
    {
      "Action": ["s3:Get*", "s3:List*", "s3:PutObject"],
      "Resource": ["arn:aws:s3:::byob-ui/*"],
      "Effect": "Allow"
    },
    {
      "Action": ["s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::byob-ui/*/.lock"],
      "Effect": "Allow"
    }
  ]
}

2. ClickHouse Cloudでの手順

ClickHouse Cloudコンソールで以下の手順を実行して外部バケットを設定します:

外部バックアップの変更

設定ページで「外部バックアップの設定」をクリックします:

Change external backup
AWS IAMロールARNとS3バケット詳細の設定

次の画面で、作成したAWS IAMロールARNとS3バケットURLを以下の形式で入力します:

Configure AWS IAM Role ARN and S3 bucket details
変更の保存

設定を保存するには「外部バケットを保存」をクリックします

デフォルトスケジュールからバックアップスケジュールの変更

外部バックアップは、デフォルトスケジュールでバケット内に実行されるようになります。 または、「設定」ページからバックアップスケジュールを設定することもできます。 異なる設定を行った場合、カスタムスケジュールがバケットへのバックアップ書き込みに使用され、 デフォルトスケジュール(24時間ごとのバックアップ)がClickHouse Cloud所有バケット内のバックアップに使用されます。

バケットに保存されたバックアップの表示

バックアップページには、以下のようにバケット内のこれらのバックアップが別のテーブルに表示されます:

View backups stored in your bucket

AWSからのバックアップ復元

AWSからバックアップを復元するには、以下の手順を実行します:

復元先の新しいサービスの作成

バックアップを復元する新しいサービスを作成します。

サービスARNの追加

新しく作成したサービスのARN(ClickHouse Cloudコンソールのサービス設定ページから取得)をIAMロールの信頼ポリシーに追加します。これは上記のAWS手順セクションの2番目のステップと同じです。新しいサービスがS3バケットにアクセスできるようにするために必要です。

バックアップ復元用SQLコマンドの取得

UIのバックアップリストの上にある「access or restore a backup」リンクをクリックして、バックアップを復元するためのSQLコマンドを取得します。コマンドは次のようになります:

バックアップ復元用SQLコマンドの取得
バックアップを別の場所に移動する場合

バックアップを別の場所に移動する場合は、新しい場所を参照するように復元コマンドをカスタマイズする必要があります。

ASYNCコマンド

大規模な復元の場合、Restoreコマンドの末尾にオプションでASYNCコマンドを追加できます。 これにより復元が非同期で実行されるため、接続が失われても復元は継続されます。 ASYNCコマンドは即座に成功ステータスを返すことに注意してください。 これは復元が成功したことを意味するものではありません。 復元が完了したか、成功または失敗したかを確認するには、system.backupsテーブルを監視する必要があります。

復元コマンドの実行

新しく作成したサービスのSQLコンソールから復元コマンドを実行して、バックアップを復元します。

GCP

GCPへのバックアップ取得

以下の手順に従ってGCPへバックアップを取得します:

GCPでの実行手順

GCPストレージバケットの作成

バックアップをエクスポートするために、GCPアカウントにストレージバケットを作成します。

HMACキーとシークレットの生成

パスワードベース認証に必要なHMACキーとシークレットを生成します。以下の手順に従ってキーを生成してください:

  • a. サービスアカウントの作成

    • I. Google Cloud ConsoleのIAM & Adminセクションに移動し、Service Accountsを選択します。
    • II. Create Service Accountをクリックし、名前とIDを入力します。Create and Continueをクリックします。
    • III. このサービスアカウントにStorage Object Userロールを付与します。
    • IV. Doneをクリックしてサービスアカウントの作成を完了します。
  • b. HMACキーの生成

    • I. Google Cloud ConsoleのCloud Storageに移動し、Settingsを選択します。
    • II. Interoperabilityタブに移動します。
    • III. Service account HMACセクションで、Create a key for a service accountをクリックします。
    • IV. ドロップダウンメニューから前の手順で作成したサービスアカウントを選択します。
    • V. Create keyをクリックします。
  • c. 認証情報の安全な保管:

    • I. システムはAccess ID(HMACキー)とSecret(HMACシークレット)を表示します。これらの値を保存してください。このウィンドウを閉じた後、シークレットは再表示されません。

ClickHouse Cloudでの実行手順

ClickHouse Cloudコンソールで以下の手順に従って外部バケットを設定します:

外部バックアップの変更

Settingsページで、Change external backupをクリックします。

Change external backup
GCP HMACキーとシークレットの設定

ポップアップダイアログで、前のセクションで作成したGCPバケットパス、HMACキー、およびシークレットを入力します。

Configure GCP HMAC Key and Secret
外部バケットの保存

Save External Bucketをクリックして設定を保存します。

デフォルトスケジュールからのバックアップスケジュール変更

外部バックアップは、デフォルトスケジュールでバケットに実行されるようになります。 または、Settingsページからバックアップスケジュールを設定することもできます。 異なる設定を行った場合、カスタムスケジュールはバケットへのバックアップ書き込みに使用され、デフォルトスケジュール(24時間ごとのバックアップ)はClickHouse Cloud所有バケットへのバックアップに使用されます。

バケットに保存されたバックアップの表示

Backupsページには、以下のようにバケット内のこれらのバックアップが別のテーブルに表示されます:

View backups stored in your bucket

GCPからのバックアップ復元

以下の手順に従ってGCPからバックアップを復元します:

復元先の新しいサービスの作成

バックアップを復元するための新しいサービスを作成します。

バックアップ復元に使用するSQLコマンドの取得

UI内のバックアップリストの上にあるaccess or restore a backupリンクをクリックして、バックアップを復元するためのSQLコマンドを取得します。コマンドは以下のようになります。ドロップダウンから適切なバックアップを選択して、その特定のバックアップの復元コマンドを取得できます。コマンドにシークレットアクセスキーを追加する必要があります:

Get SQL command used to restore backup
バックアップの別の場所への移動

バックアップを別の場所に移動する場合、新しい場所を参照するように復元コマンドをカスタマイズする必要があります。

ASYNCコマンド

大規模なリストアを行う場合、Restoreコマンドの末尾にオプションでASYNCコマンドを追加できます。 これにより、リストアが非同期で実行されるため、接続が切断されてもリストア処理は継続されます。 ASYNCコマンドは即座に成功ステータスを返すことに注意が必要です。 これはリストアが成功したことを意味するものではありません。 リストアが完了したか、成功または失敗したかを確認するには、system.backupsテーブルを監視する必要があります。

SQLコマンドを実行してバックアップをリストアする

新しく作成されたサービスのSQLコンソールからrestoreコマンドを実行し、 バックアップをリストアします。

Azure

Azure へのバックアップ取得

Azure へバックアップを取得するには、以下の手順に従ってください。

Azure での手順

ストレージアカウントを作成する

バックアップを保存したい Azure ポータル上で、新しいストレージアカウントを作成するか、既存のストレージアカウントを選択します。

接続文字列を取得する
  • a. ストレージアカウントの概要で、Security + networking セクションを探し、Access keys をクリックします。
  • b. ここで key1key2 が表示されます。各キーの下に Connection string フィールドがあります。
  • c. Show をクリックして接続文字列を表示します。ClickHouse Cloud でのセットアップに使用するため、この接続文字列をコピーします。

ClickHouse Cloud での手順

ClickHouse Cloud コンソールで外部バケットを構成するには、以下の手順に従ってください。

外部バックアップを変更する

Settings ページで、Change external backup をクリックします。

外部バックアップを変更
Azure ストレージアカウントの接続文字列とコンテナー名を指定する

次の画面で、前のセクションで作成した Azure ストレージアカウントの Connection String と Container Name を指定します。

Azure ストレージアカウントの接続文字列とコンテナー名を指定
外部バケットを保存する

設定を保存するには、Save External Bucket をクリックします。

デフォルトのスケジュールからバックアップスケジュールを変更する

外部バックアップは、デフォルトスケジュールに従ってバケットに対して実行されるようになります。あるいは、 Settings ページからバックアップスケジュールを設定することもできます。別の設定を行った場合、 カスタムスケジュールがバケットへのバックアップ書き込みに使用され、デフォルトスケジュール (24 時間ごとのバックアップ)は ClickHouse Cloud が所有するバケットへのバックアップに使用されます。

バケットに保存されているバックアップを表示する

Backups ページには、次のように、バケット内のこれらのバックアップが別のテーブルとして表示されます。

バケットに保存されているバックアップを表示

Azure からバックアップをリストアする

Azure からバックアップをリストアするには、以下の手順に従ってください。

リストア先となる新しいサービスを作成する

バックアップをリストアするための新しいサービスを作成します。現在は、 新しいサービスへのバックアップのリストアのみをサポートしています。

バックアップのリストアに使用する SQL コマンドを取得する

UI のバックアップ一覧の上にある access or restore a backup リンクをクリックして、 バックアップをリストアするための SQL コマンドを取得します。コマンドは次のような形式になり、 ドロップダウンから対象のバックアップを選択して、そのバックアップ専用の リストアコマンドを取得できます。このコマンドに Azure ストレージアカウントの 接続文字列を追加する必要があります。

Azure でバックアップをリストア
バックアップを別の場所に移動する場合

バックアップを別の場所に移動した場合は、新しい場所を参照するようにリストアコマンドをカスタマイズする必要があります。

ASYNC コマンド

リストアコマンドに対しては、大規模なリストアのためにオプションで末尾に ASYNC コマンドを追加できます。 これにより、非同期的にリストアが実行されるため、接続が失われてもリストア処理は継続されます。 ASYNC コマンドは直ちに成功ステータスを返す点に注意が必要です。 これはリストアが成功したことを意味しません。 リストアが完了し、成功したか失敗したかを確認するには、system.backups テーブルを監視する必要があります。

バックアップをリストアするための SQL コマンドを実行する

新しく作成したサービスの SQL コンソールからリストアコマンドを実行し、 バックアップをリストアします。