AWS S3 でデータをバック アップおよびリストアする
バックアップ戦略の作成、その戦略のテスト、およびバックアップの実行は、各顧客の責任です。
AWS S3 を使用したデータのバックアップとリストアがサポートされています。データを S3 にバックアップし、その後新しい CelerData クラスターにデータをリストアすることで、データを移行することもできます。
始める前に
IAM ポリシーを設定する
AWS IAM ロール(または IAM ユーザー)に以下のようなポリシーがアタッチされていることを確認し、AWS S3 との統合を成功させます。データスナップ ショットを保存する S3 バケットの名前に <bucket_name>
を置き換えることを忘れないでください。このロールを仮定ロールにアタッチするか、データクレデンシャルで参照されるロールにアタッチできます。詳細については、AWS リソースへの認証を参照してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "s3",
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::<bucket_name>/*"
]
},
{
"Sid": "s3list",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<bucket_name>"
]
}
]
}
適切なクレデンシャル方法を選択する
AWS リソースへの認証に従って、適切なクレデンシャル方法を選択してください。その後、StorageCredentialParams
のパラメーターセットを以下のように準備します。
-
AWS S3 にアクセスするためのクレデンシャル方法としてインスタンスプロファイルを選択した場合、S3 バケットが存在するリージョンとして
aws_s3_region
を設定します。aws_s3_region
は、リポジトリを作成する際に以下のようにStorageCredentialParams
で使用されます。"aws.s3.use_instance_profile" = "true",
"aws.s3.region" = "us-west-2" -
AWS S3 にアクセスするためのクレデンシャル方法として仮定ロールを選択した場合、仮定ロールの ARN として
iam_role_arn
を、S3 バケットが存在するリージョンとしてaws_s3_region
を設定します。iam_role_arn
とaws_s3_region
は、リポジトリを作成する際に以下のようにStorageCredentialParams
で使用されます。"aws.s3.use_instance_profile" = "true",
"aws.s3.iam_role_arn" = "arn:aws:iam::xxxxxxxxxx:role/yyyyyyyy",
"aws.s3.region" = "us-west-2"
以下の表は、StorageCredentialParams
で設定する必要があるパラメーターを説明しています。
パラメーター名 | 必須 | 説明 |
---|---|---|
aws.s3.use_instance_profile | はい | AWS S3 にアクセスするためのクレデンシャル方法としてインスタンスプロファイルと仮定ロールを許可します。このパラメーターを true に設定します。 |
aws.s3.iam_role_arn | いいえ | データファイルが保存されている AWS S3 バケットに対する権限を持つ IAM ロールの ARN。AWS S3 にアクセスするためのクレデンシャル方法として仮定ロールを使用する場合、このパラメーターを指定する必要があります。その後、CelerData は Hive catalog を使用して Hive データを分析する際にこのロールを仮定します。 |
aws.s3.region | はい | AWS S3 バケットが存在するリージョン。例: us-west-1 。 |
詳細については、AWS S3 へのアクセスのための認証パラメーターを参照してください。
データをバックアップする
データベース、テーブル、またはパーティションの粒度レベルでの完全バックアップがサポートされています。
テーブルに大量のデータを保存している場合、パーティションごとにデータをバックアップおよびリストアすることをお勧めします。これにより、ジョブの失敗時の再試行コストを削減できます。定期的に増分データをバックアップする必要がある場合、テーブルに対して動的パーティション化プラン(たとえば、特定の時間間隔で)を策定し、毎回新しいパーティションのみをバックアップすることができます。
リポジトリを作成する
データをバックアップする前に、AWS S3 にデータスナップショットを保存するためのリポジトリを作成する必要があります。CelerData クラスター内で複数のリポジトリを作成できます。詳細な手順については、CREATE REPOSITORYを参照してください。
以下の例では、Amazon S3 バケット bucket_s3
に test_repo
という名前のリポジトリを作成します。StorageCredentialParams
を準備したパラメーターセットに置き換えることを忘れないでください。
CREATE REPOSITORY test_repo
WITH BROKER
ON LOCATION "s3a://bucket_s3/backup"
PROPERTIES(
StorageCredentialParams
);