Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ユーザーインターフェイス経由でのバックアップ / 復元

AWS

AWS へのバックアップの作成

1. AWS で実施する手順

以下の手順を AWS アカウントで実施してください。

AWS S3 バケットを作成する

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

IAM ロールを作成する

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

  • a. ClickHouse Cloud サービスの設定ページにある Network security information から 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 の権限ポリシーをロール用に作成します。両方の Resource には、自身のバケット 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 コンソールで以下の手順に従ってください。

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

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

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

AWS IAM Role ARN と S3 バケットの詳細を設定する

次の画面で、先ほど作成した AWS IAM Role ARN と、以下の形式の S3 バケット URL を入力します。

AWS IAM Role ARN と S3 バケットの詳細を設定する

変更を保存する

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

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

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

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

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

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

AWS からバックアップを復元する

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

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

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

サービス ARN を追加する

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

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

UI のバックアップ一覧の上にある「バックアップにアクセスまたは復元」リンクをクリックすると、バックアップの復元に使用する SQL コマンドを取得できます。コマンドは次のようになります。

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

復元コマンドを実行する

新しく作成したサービスの 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 key を生成する

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

    • I. システムに Access ID (HMAC key) と Secret (HMAC secret) が表示されます。これらの値を保存してください。 このウィンドウを閉じると、secret は再表示されません。

ClickHouse Cloud での手順

外部バケットを設定するには、ClickHouse Cloudコンソールで以下の手順を実行してください。

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

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

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

GCP HMACキーとシークレットを設定する

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

GCP HMACキーとシークレットを設定する

外部バケットを保存する

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

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

以降、外部バックアップはデフォルトのスケジュールに従ってお使いのバケットに保存されます。 また、Settings ページからバックアップスケジュールを設定することもできます。 別のスケジュールを設定した場合、バケットにバックアップを書き込む際にはカスタムスケジュールが使用され、 デフォルトのスケジュール (24時間ごとのバックアップ) は ClickHouse Cloud が管理するバケット内のバックアップに使用されます。

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

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

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

GCP からバックアップを復元する

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

復元先となる新しいサービスを作成する

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

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

UI のバックアップ一覧の上にある バックアップにアクセスまたは復元 リンクをクリックして、バックアップを復元するための SQL コマンドを取得します。コマンドは次のように表示され、ドロップダウンから適切なバックアップを選択すると、そのバックアップ用の復元コマンドを取得できます。コマンドにはシークレットアクセスキーを追加する必要があります。

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

バックアップを復元する SQL コマンドを実行する

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

Azure

Azure へのバックアップの作成

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

Azure での手順

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

Azure portal でストレージ アカウントを作成するか、バックアップの保存先として既存のストレージ アカウントを選択します。

接続文字列を取得する

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

ClickHouse Cloud で実施する手順

外部バケットを設定するには、ClickHouse Cloudコンソールで以下の手順を実行してください。

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

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

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

Azure ストレージアカウント の接続文字列とコンテナー名を指定する

次の画面で、前のセクションで作成した Azure ストレージアカウント の接続文字列とコンテナー名を入力します。

Azure ストレージアカウント の接続文字列とコンテナー名を指定する

外部バケットを保存する

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

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

これで、外部バックアップはデフォルトのスケジュールでお使いのバケットに保存されます。必要に応じて、 Settings ページからバックアップスケジュールを設定することもできます。別のスケジュールを設定すると、 バケットへのバックアップの書き込みにはそのカスタムスケジュールが使用され、デフォルトのスケジュール (24 時間ごとのバックアップ) は ClickHouse Cloud が管理するバケット内のバックアップに使用されます。

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

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

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

Azure からバックアップを復元する

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

復元先となる新しいサービスを作成する

バックアップの復元先となる新しいサービスを作成します。現在、バックアップの復元先としてサポートされているのは新しいサービスのみです。

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

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

Azure でバックアップを復元

バックアップを復元する SQL コマンドを実行する

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

Navigation