Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

コマンドを使用したバックアップの作成または復元

BACKUP および RESTORE コマンドを使用すると、UI 経由でのバックアップや復元に加えて、バックアップを各ストレージバケットにエクスポートできます。 このガイドでは、3 つの CSP すべてに対応するコマンドを紹介します。

要件

独自の CSP ストレージバケットにバックアップをエクスポートまたは復元するには、以下の情報が必要です。

  1. AWS S3 エンドポイント (形式: s3://<bucket_name>.s3.amazonaws.com/<optional_directory>) 例: s3://testchbackups.s3.amazonaws.com/ 内訳:
    • testchbackups は、バックアップのエクスポート先となる S3 バケット名です。
    • backups は省略可能なサブディレクトリです。
  2. AWS アクセスキーとシークレット。AWS ロールベース認証もサポートされており、上記セクションで説明したとおり、AWS アクセスキーとシークレットの代わりに使用できます。

特定のDBのバックアップ / 復元

ここでは、1つのデータベースのバックアップと復元について説明します。 フルバックアップおよび復元コマンドについては、バックアップコマンドの概要を参照してください。

AWS S3

BACKUP DATABASE test_backups 
TO S3(
  'https://testchbackups.s3.amazonaws.com/<uuid>',
  '<key id>',
  '<key secret>'
)

ここで uuid は、一連のバックアップを区別するために使用される一意の識別子です。

Google Cloud Storage (GCS)

BACKUP DATABASE test_backups 
TO S3(
  'https://storage.googleapis.com/<bucket>/<uuid>',
  '<hmac-key>',
  '<hmac-secret>'
)

ここで、uuid はバックアップを識別するための一意の識別子です。

Azure Blob Storage

BACKUP DATABASE test_backups 
TO AzureBlobStorage(
  '<AzureBlobStorage endpoint connection string>',
  '<container>',
  '<blob>/<>'
)

ここで、uuid はバックアップを識別するための一意の識別子です。

サービス全体のバックアップ / 復元

サービス全体をバックアップするには、以下のコマンドを使用します。 このバックアップには、作成済みのエンティティ、設定プロファイル、ロールポリシー、クォータ、関数に関するすべてのユーザーデータとシステムデータが含まれます。 ここでは AWS S3 の例を示します。 GCS および Azure Blob Storage のバックアップを取得する場合も、上記で説明した構文でこれらのコマンドを使用できます。

BACKUP 
    TABLE system.users,
    TABLE system.roles,
    TABLE system.settings_profiles,
    TABLE system.row_policies,
    TABLE system.quotas,
    TABLE system.functions,
    ALL EXCEPT DATABASES INFORMATION_SCHEMA, information_schema, system
TO S3(
    'https://testchbackups.s3.amazonaws.com/<uuid>',
    '<key id>',
    '<key secret>'
)

ここで、uuid はバックアップを識別するための一意の識別子です。

よくある質問

自分のクラウドオブジェクトストレージ内のバックアップはどうなりますか? ClickHouse が後でクリーンアップしてくれますか?

バックアップをお使いのバケットにエクスポートすることはできますが、一度書き込まれたバックアップを ClickHouse がクリーンアップまたは削除することはありません。バケット内のバックアップのライフサイクル管理 (必要に応じた削除やアーカイブ、あるいは全体のコストを最適化するためのより低コストなストレージへの移動を含む) は、お客様の責任となります。

既存のバックアップの一部を別の場所に移動した場合、復元プロセスはどうなりますか?

バックアップの一部を別の場所に移動した場合は、バックアップの保存先である新しい場所を参照するように restore コマンドを更新する必要があります。

オブジェクトストレージへのアクセスに必要な認証情報を変更した場合はどうなりますか?

バックアップを再び正常に実行できるようにするには、変更後の認証情報を UI で更新する必要があります。

外部バックアップのエクスポート先を変更した場合はどうなりますか?

新しい保存先を UI で更新する必要があります。以後のバックアップは新しい保存先に作成され、既存のバックアップは元の場所に残ります。

有効にしたサービスで外部バックアップを無効にするにはどうすればよいですか?

サービスの外部バックアップを無効にするには、サービスの設定画面に移動し、[Change external backup] をクリックします。次の画面で [Remove setup] をクリックすると、そのサービスの外部バックアップを無効にできます。

Navigation