重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

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

Backup&Restore(BR)ツールは、データをバックアップおよび復元するための外部ストレージとして、AmazonS3または他のAmazonS3互換のファイルストレージの使用をサポートします。

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

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

S3にアクセスするための特権を設定します

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

S3ディレクトリへのアクセスを設定します

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

  • バックアップ中にs3:ListBucket 、およびs3:PutObjectのバックアップディレクトリにアクセスするためのs3:AbortMultipartUploadおよびBRの最小特権
  • 復元中に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}" --s3.region "${region}"
    
  • br CLIでS3にアクセスするためにaccess-keysecret-access-keyを設定し、BRから各TiKVにアクセスキーを渡すように--send-credentials-to-tikv=trueを設定します。

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

コマンドのアクセスキーはリークに対して脆弱であるため、S3にアクセスするにはIAMロールをEC2インスタンスに関連付けることをお勧めします。

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

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

前のコマンドの場合:

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

S3からデータを復元する

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

も参照してください

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