SnowConvert: データ移行¶
警告
テーブルのデータを移行するには、Redshiftクラスタと同じリージョンにS3バケットを用意する必要があります。提供されるRedshiftクラスタ以外のリージョンでのS3バケットによるデータ移行は今後追加される予定です。
説明¶
SnowConvert は、Redshiftテーブルのデータを、あなたが提供しなければならないS3バケット内の PARQUET ファイルにアンロードすることによって移行します。ファイルが作成されると、アプリケーションはそれらのファイルからSnowflakeにデプロイされたテーブルに直接データをコピーします。
前提条件¶
データの移行を実行する前に、以下の前提条件が必要です。
Redshiftクラスタと同じリージョンの AWS にS3バケットを用意します。
S3バケットにRedshiftテーブルのデータをアンロードできる、Redshiftクラスタに関連付けられた IAM ロールを作成する必要があります。IAM ロールは以下のポリシー構成を持たなければなりません(以下の構成はどのデータベースユーザーでも使用できます。このロールへのアクセスを制限するには、 このガイド)をお読みください。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<your_bucket_name>/*",
"arn:aws:s3:::<your_bucket_name>"
]
}
]
}
S3バケットのオブジェクトの読み取りと削除ができる IAM ユーザーを用意します。これは、S3に作成されたファイルからSnowflakeのテーブルにデータを読み込むために必要です。以下は、S3ファイルからSnowflakeターゲットテーブルにデータを読み込むために使用できる IAM ポリシーの例です。
警告
IAM ユーザーにs3:DeleteObject とs3:DeleteObectVersion の許可を提供しない場合、データ移行プロセスは失敗しませんが、ツールによって作成されたデータファイルはS3バケットから削除されません。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:DeleteObject", // DeleteObject and DeleteObjectVersion permissions are necessary to purge the data files once they are loaded.
"s3:DeleteObjectVersion",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::<your_bucket_name>/*",
"arn:aws:s3:::<your_bucket_name>"
]
}
]
}
DDL コードがデプロイされたRedshiftクラスタとSnowflakeアカウントに接続してください。
実行¶
注釈
入力したS3バケットのパスにファイルがないことを確認してください。指定したパスにファイルがある場合、処理は失敗します。
S3バケット設定をセット をクリックして、以下の情報を追加します。
S3バケット URL (入力した URL の末尾が「/」であることを確認してください)。
IAM ロール ARN は、テーブルから、指定したS3バケット URL 内の PARQUET ファイルにデータをアンロードします。
S3バケットオブジェクトのオブジェクトの読み取りと削除の許可を持つ IAM ユーザーのアクセスキー。
S3バケットオブジェクトのオブジェクトの読み取りと削除の許可を持つ IAM ユーザーのシークレットアクセスキー。
Snowflakeにデータを移行したいテーブルを選択します。
データを移行 をクリックすると、S3バケットにデータをアンロードしてから、そのファイルからSnowflakeのターゲットテーブルにデータをコピーするデータ移行プロセスが開始されます。
データ移行の列が更新され、各テーブルのデータが正常に移行されたかどうかが表示されます。
結果¶
このページでは、ソーステーブルからターゲットテーブルへ移動した行数を検証します。
各行には移行されたテーブルに関する以下の情報が含まれています: ソーススキーマとテーブル名、ターゲットスキーマとテーブル名、ロードされた行数。
より多くのテーブルに対して別のデータ移行処理を実行したい場合は、 データ移行に戻る をクリックします。