ユーザーインターフェイスからのバックアップ/リストア
AWS
AWSへのバックアップ取得
1. AWSでの手順
以下の手順は"S3データへの安全なアクセス"で説明されている安全なS3セットアップと類似していますが、ロール権限に追加のアクションが必要です
AWSアカウントで以下の手順を実行します:
AWS S3バケットの作成
バックアップをエクスポートするAWS S3バケットをアカウント内に作成します。
IAMロールの作成
AWSはロールベース認証を使用するため、ClickHouse Cloudサービスがこのバケットへの書き込みのために引き受けることができるIAMロールを作成します。
- a. ClickHouse Cloudサービス設定ページのネットワークセキュリティ情報からARNを取得します。以下のような形式です:

- b. このロールに対して、以下のように信頼ポリシーを作成します:
ロール権限の更新
ClickHouse CloudサービスがS3バケットに書き込めるように、このロールの権限を設定する必要があります。 以下のようなJSONでロールの権限ポリシーを作成します。両方の箇所でリソースに自分のバケットARNを代入してください。
2. ClickHouse Cloudでの手順
ClickHouse Cloudコンソールで以下の手順を実行して外部バケットを設定します:
変更の保存
設定を保存するには「外部バケットを保存」をクリックします
デフォルトスケジュールからバックアップスケジュールの変更
外部バックアップは、デフォルトスケジュールでバケット内に実行されるようになります。 または、「設定」ページからバックアップスケジュールを設定することもできます。 異なる設定を行った場合、カスタムスケジュールがバケットへのバックアップ書き込みに使用され、 デフォルトスケジュール(24時間ごとのバックアップ)がClickHouse Cloud所有バケット内のバックアップに使用されます。
AWSからのバックアップ復元
AWSからバックアップを復元するには、以下の手順を実行します:
復元先の新しいサービスの作成
バックアップを復元する新しいサービスを作成します。
バックアップ復元用SQLコマンドの取得
UIのバックアップリストの上にある「access or restore a backup」リンクをクリックして、バックアップを復元するためのSQLコマンドを取得します。コマンドは次のようになります:

バックアップを別の場所に移動する場合は、新しい場所を参照するように復元コマンドをカスタマイズする必要があります。
大規模な復元の場合、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をクリックしてサービスアカウントの作成を完了します。
- I. Google Cloud ConsoleのIAM & Adminセクションに移動し、
-
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をクリックします。
- I. Google Cloud ConsoleのCloud Storageに移動し、
-
c. 認証情報の安全な保管:
- I. システムはAccess ID(HMACキー)とSecret(HMACシークレット)を表示します。これらの値を保存してください。このウィンドウを閉じた後、シークレットは再表示されません。
ClickHouse Cloudでの実行手順
ClickHouse Cloudコンソールで以下の手順に従って外部バケットを設定します:
外部バケットの保存
Save External Bucketをクリックして設定を保存します。
デフォルトスケジュールからのバックアップスケジュール変更
外部バックアップは、デフォルトスケジュールでバケットに実行されるようになります。
または、Settingsページからバックアップスケジュールを設定することもできます。
異なる設定を行った場合、カスタムスケジュールはバケットへのバックアップ書き込みに使用され、デフォルトスケジュール(24時間ごとのバックアップ)はClickHouse Cloud所有バケットへのバックアップに使用されます。
GCPからのバックアップ復元
以下の手順に従ってGCPからバックアップを復元します:
復元先の新しいサービスの作成
バックアップを復元するための新しいサービスを作成します。
バックアップ復元に使用するSQLコマンドの取得
UI内のバックアップリストの上にあるaccess or restore a backupリンクをクリックして、バックアップを復元するためのSQLコマンドを取得します。コマンドは以下のようになります。ドロップダウンから適切なバックアップを選択して、その特定のバックアップの復元コマンドを取得できます。コマンドにシークレットアクセスキーを追加する必要があります:

バックアップを別の場所に移動する場合、新しい場所を参照するように復元コマンドをカスタマイズする必要があります。
大規模なリストアを行う場合、Restoreコマンドの末尾にオプションでASYNCコマンドを追加できます。
これにより、リストアが非同期で実行されるため、接続が切断されてもリストア処理は継続されます。
ASYNCコマンドは即座に成功ステータスを返すことに注意が必要です。
これはリストアが成功したことを意味するものではありません。
リストアが完了したか、成功または失敗したかを確認するには、system.backupsテーブルを監視する必要があります。
SQLコマンドを実行してバックアップをリストアする
新しく作成されたサービスのSQLコンソールからrestoreコマンドを実行し、 バックアップをリストアします。
Azure
Azure へのバックアップ取得
Azure へバックアップを取得するには、以下の手順に従ってください。
Azure での手順
ストレージアカウントを作成する
バックアップを保存したい Azure ポータル上で、新しいストレージアカウントを作成するか、既存のストレージアカウントを選択します。
接続文字列を取得する
- a. ストレージアカウントの概要で、
Security + networkingセクションを探し、Access keysをクリックします。 - b. ここで
key1とkey2が表示されます。各キーの下にConnection stringフィールドがあります。 - c.
Showをクリックして接続文字列を表示します。ClickHouse Cloud でのセットアップに使用するため、この接続文字列をコピーします。
ClickHouse Cloud での手順
ClickHouse Cloud コンソールで外部バケットを構成するには、以下の手順に従ってください。
Azure ストレージアカウントの接続文字列とコンテナー名を指定する
次の画面で、前のセクションで作成した Azure ストレージアカウントの Connection String と Container Name を指定します。

外部バケットを保存する
設定を保存するには、Save External Bucket をクリックします。
デフォルトのスケジュールからバックアップスケジュールを変更する
外部バックアップは、デフォルトスケジュールに従ってバケットに対して実行されるようになります。あるいは、
Settings ページからバックアップスケジュールを設定することもできます。別の設定を行った場合、
カスタムスケジュールがバケットへのバックアップ書き込みに使用され、デフォルトスケジュール
(24 時間ごとのバックアップ)は ClickHouse Cloud が所有するバケットへのバックアップに使用されます。
Azure からバックアップをリストアする
Azure からバックアップをリストアするには、以下の手順に従ってください。
リストア先となる新しいサービスを作成する
バックアップをリストアするための新しいサービスを作成します。現在は、 新しいサービスへのバックアップのリストアのみをサポートしています。
バックアップのリストアに使用する SQL コマンドを取得する
UI のバックアップ一覧の上にある access or restore a backup リンクをクリックして、
バックアップをリストアするための SQL コマンドを取得します。コマンドは次のような形式になり、
ドロップダウンから対象のバックアップを選択して、そのバックアップ専用の
リストアコマンドを取得できます。このコマンドに Azure ストレージアカウントの
接続文字列を追加する必要があります。

バックアップを別の場所に移動した場合は、新しい場所を参照するようにリストアコマンドをカスタマイズする必要があります。
リストアコマンドに対しては、大規模なリストアのためにオプションで末尾に ASYNC コマンドを追加できます。
これにより、非同期的にリストアが実行されるため、接続が失われてもリストア処理は継続されます。
ASYNC コマンドは直ちに成功ステータスを返す点に注意が必要です。
これはリストアが成功したことを意味しません。
リストアが完了し、成功したか失敗したかを確認するには、system.backups テーブルを監視する必要があります。
バックアップをリストアするための SQL コマンドを実行する
新しく作成したサービスの SQL コンソールからリストアコマンドを実行し、 バックアップをリストアします。





