SnowConvert: 데이터 마이그레이션¶
경고
테이블의 데이터를 마이그레이션하려면 Redshift 클러스터와 동일한 리전 내에 S3 버킷이 있어야 합니다. 제공된 Redshift 클러스터 이외의 리전에서의 S3 버킷을 사용한 데이터 마이그레이션은 향후 추가될 예정입니다.
설명¶
SnowConvert 는 사용자가 제공해야 하는 S3 버킷의 PARQUET 파일에 Redshift 테이블의 데이터를 언로딩하여 마이그레이션합니다. 파일이 생성되면 애플리케이션은 해당 파일에서 Snowflake에 배포된 테이블로 데이터를 직접 복사본으로 복사합니다.
전제 조건¶
데이터 마이그레이션을 실행하기 전에 다음과 같은 전제 조건이 필요합니다.
Redshift 클러스터와 같은 리전(AWS)에 S3 버킷이 있습니다.
Redshift 클러스터와 연결된 IAM 역할을 생성하여 Redshift 테이블의 데이터를 S3 버킷으로 언로딩할 수 있어야 합니다. 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>"
]
}
]
}
Redshift 클러스터와 DDL 코드가 배포된 Snowflake 계정에 연결됩니다.
실행¶
참고
입력한 S3 버킷 경로에 파일이 없는지 확인하십시오. 지정된 경로에 파일이 있으면 프로세스가 실패합니다.
Set S3 Bucket Settings 을 클릭하여 다음 정보를 추가합니다.
S3 버킷 URL (입력한 URL 이 “/”로 끝나는지 확인).
IAM ARN 역할은 테이블의 데이터를 제공한 S3 버킷 URL 의 PARQUET 파일로 언로딩합니다.
S3 버킷 오브젝트에서 오브젝트를 읽고 삭제할 수 있는 권한이 있는 IAM 사용자의 액세스 허가 키입니다.
S3 버킷 오브젝트에서 오브젝트를 읽고 삭제할 수 있는 권한이 있는 IAM 사용자의 시크릿 액세스 키입니다.
데이터를 Snowflake로 마이그레이션할 테이블을 선택합니다.
Migrate Data 를 클릭하면 데이터 파일을 S3 버킷으로 언로딩한 다음 해당 파일에서 Snowflake의 대상 테이블로 데이터를 복사하는 방식으로 데이터 마이그레이션 프로세스가 시작됩니다.
데이터 마이그레이션 열이 업데이트되어 각 테이블의 데이터가 성공적으로 마이그레이션되었는지 여부를 나타냅니다.
결과¶
이 페이지에서는 소스 테이블에서 대상 테이블로 이동한 행 수를 확인합니다.
각 행에는 마이그레이션된 테이블에 대한 정보(소스 스키마 및 테이블 이름, 대상 스키마 및 테이블 이름, 로딩된 행 수)가 포함됩니다.
더 많은 테이블에 대해 다른 데이터 마이그레이션 프로세스를 실행하려면 Go Back to Data Migration 을 클릭하면 됩니다.