BR を使用して Amazon S3 でデータをバックアップおよび復元する

バックアップと復元 (BR) ツールは、Amazon S3 またはその他の Amazon S3 互換ファイル ストレージを、データのバックアップと復元用の外部ストレージとして使用することをサポートしています。

ノート:

オブジェクト ロックが有効になっている S3 バケットにデータをバックアップするには、TiDB クラスターが v6.3.0 以降であることを確認してください。

アプリケーション シナリオ

Amazon S3 を使用すると、Amazon EC2 にデプロイされた TiDB クラスターのデータを Amazon S3 にすばやくバックアップしたり、Amazon S3 のバックアップ データから TiDB クラスターをすばやく復元したりできます。

S3 にアクセスする権限を設定する

S3 を使用してバックアップまたは復元を実行する前に、S3 へのアクセスに必要な権限を構成する必要があります。

S3 ディレクトリへのアクセスを構成する

バックアップの前に、S3 のバックアップ ディレクトリにアクセスするために次の権限を設定します。

  • バックアップ中に TiKV および BR がs3:ListBuckets3:PutObject 、およびs3:AbortMultipartUploadのバックアップ ディレクトリにアクセスするための最小権限
  • TiKV と BR が復元時にs3:ListBuckets3:GetObjectのバックアップ ディレクトリにアクセスするための最小限の権限

バックアップ ディレクトリをまだ作成していない場合は、 AWS 公式ドキュメントを参照して、指定したリージョンに S3 バケットを作成します。必要に応じて、 AWS 公式ドキュメント - フォルダーの作成を参照してバケットにフォルダーを作成することもできます。

S3 にアクセスするようにユーザーを構成する

次のいずれかの方法を使用して、S3 へのアクセスを構成することをお勧めします。

  • S3 にアクセスできるIAMロールを、TiKV および BR ノードが実行される EC2 インスタンスに関連付けます。関連付け後、BR は S3 のバックアップ ディレクトリにアクセスできます。

    br backup full --pd "${PDIP}:2379" --storage "s3://${Bucket}/${Folder}"
  • br CLI で S3 にアクセスするためにaccess-keysecret-access-keyを設定し、 --send-credentials-to-tikv=trueを設定して BR から各 TiKV にアクセス キーを渡します。

    br backup full --pd "${PDIP}:2379" --storage "s3://${Bucket}/${Folder}?access-key=${accessKey}&secret-access-key=${secretAccessKey}" --send-credentials-to-tikv=true

コマンドのアクセス キーは漏洩しやすいため、 IAMロールを EC2 インスタンスに関連付けて S3 にアクセスすることをお勧めします。

データを S3 にバックアップする

br backup full \ --pd "${PDIP}:2379" \ --storage "s3://${Bucket}/${Folder}?access-key=${accessKey}&secret-access-key=${secretAccessKey}" \ --send-credentials-to-tikv=true \ --ratelimit 128 \ --log-file backuptable.log

前述のコマンドでは:

  • --send-credentials-to-tikv : アクセス キーが TiKV ノードに渡されることを指定します。

S3 からデータを復元する

br restore full \ --pd "${PDIP}:2379" \ --storage "s3://${Bucket}/${Folder}?access-key=${accessKey}&secret-access-key=${secretAccessKey}" \ --ratelimit 128 \ --send-credentials-to-tikv=true \ --log-file restorefull.log

こちらもご覧ください

BR がサポートする外部ストレージの詳細については、 外部ストレージを参照してください。