기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
주제
AWS DMS 는 데이터가 소스에서 대상으로 정확하게 마이그레이션되었는지 확인하기 위해 데이터 검증을 지원합니다. 활성화된 경우 테이블에 대해 전체 로드가 수행된 직후 검증이 시작됩니다. 검증은 CDC활성화된 작업이 발생할 때의 증분 변경 사항을 비교합니다.
데이터 검증 중에는 소스의 각 행을 대상의 해당 행과 AWS DMS 비교하고, 행에 동일한 데이터가 포함되어 있는지 확인하고, 불일치를 보고합니다. 이 AWS DMS 문제를 해결하려면 적절한 쿼리를 사용하여 데이터를 검색합니다. 이러한 쿼리는 소스 및 대상의 추가 리소스와 추가 네트워크 리소스를 사용합니다.
검증이 활성화된 CDC 유일한 작업의 경우 테이블의 모든 기존 데이터는 새 데이터의 검증을 시작하기 전에 검증됩니다.
데이터 검증은가 소스 엔드포인트로 AWS DMS 지원하는 곳이라면 어디에서든 다음 소스 데이터베이스와 함께 작동합니다.
-
Oracle
-
Postgre SQL호환 데이터베이스(PostgreSQL, Aurora Postgre SQL또는 Aurora Serverless for PostgreSQL)
-
내 SQL호환 데이터베이스(MySQL, MariaDBSQL, Aurora My 또는 Aurora Serverless for MySQL)
-
Microsoft SQL 서버
-
IBM Db2 LUW
데이터 검증은가 대상 엔드포인트로 AWS DMS 지원하는 곳이라면 어디든 다음 대상 데이터베이스에서 작동합니다.
-
Oracle
-
Postgre SQL호환 데이터베이스(PostgreSQL, Aurora Postgre SQL또는 Aurora Serverless for PostgreSQL)
-
내 SQL호환 데이터베이스(MySQL, MariaDBSQL, Aurora My 또는 Aurora Serverless for MySQL)
-
Microsoft SQL 서버
-
IBM Db2 LUW
-
Amazon Redshift
-
Amazon S3. Amazon S3 대상 데이터 유효성 검사에 대한 자세한 내용은 Amazon S3 대상 데이터 검증 단원을 참조하세요.
지원되는 엔드포인트에 대한 자세한 내용은 AWS DMS 엔드포인트 작업 단원을 참조하십시오.
데이터 검증에는 마이그레이션 자체에 소요되는 시간 외에도 추가 시간이 요구됩니다. 필요한 추가 시간은 마이그레이션되는 데이터의 양에 따라 달라집니다.
이러한 설정에 대한 자세한 내용은 데이터 검증 작업 설정 섹션을 참조하세요.
JSON 파일의 ValidationSettings
작업 설정 예제는 섹션을 참조하세요작업 설정 예제.
복제 작업 통계
데이터 검증이 활성화되면는 테이블 수준에서 다음 통계를 AWS DMS 제공합니다.
-
ValidationState- 테이블의 검증 상태입니다. 이 파라미터의 값은 다음과 같습니다.
활성화되지 않음 - 마이그레이션 작업의 테이블에 대해 검증이 활성화되지 않습니다.
보류 중인 레코드 - 테이블의 일부 레코드가 검증 대기 중입니다.
일치하지 않는 레코드 - 테이블의 일부 레코드가 원본과 대상 간에 일치하지 않습니다. 불일치가 발생하는 이유에는 여러 가지가 있으므로 자세한 내용은 대상 엔드포인트의
awsdms_control.awsdms_validation_failures_v1
테이블을 참조하십시오.일시 중지된 레코드 - 테이블의 일부 레코드를 검증할 수 없습니다.
프라이머리 키 없음 - 프라이머리 키가 없어 테이블을 검증할 수 없습니다.
테이블 오류 - 테이블이 오류 상태이고 일부 데이터가 마이그레이션되지 않아 테이블이 검증되지 않았습니다.
검증됨 - 테이블의 모든 행이 검증되었습니다. 테이블이 업데이트된 경우 상태가 Validated에서 변경할 수 있습니다.
오류 - 예상치 못한 오류로 인해 테이블을 검증할 수 없습니다.
검증 보류 중 - 테이블이 검증 대기 중입니다.
테이블 준비 중 - 마이그레이션 태스크에서 활성화된 테이블을 검증하기 위해 준비 중입니다.
재검증 보류 중 - 테이블이 업데이트된 후 테이블의 모든 행이 검증 보류 중입니다.
-
ValidationPending- 대상으로 마이그레이션되었지만 아직 검증되지 않은 레코드 수입니다.
-
ValidationSuspended- 비교할 AWS DMS 수 없는 레코드 수입니다. 예를 들어 소스의 레코드가 지속적으로 업데이트되는 경우는 소스와 대상을 비교할 AWS DMS 수 없습니다.
-
ValidationFailed- 데이터 검증 단계를 통과하지 못한 레코드 수입니다.
JSON 파일의 ValidationSettings
작업 설정 예제는 섹션을 참조하세요작업 설정 예제.
콘솔, AWS CLI또는를 사용하여 데이터 검증 정보를 볼 수 있습니다 AWS DMS API.
콘솔에서 작업을 생성하거나 수정할 때 작업을 검증하도록 선택할 수 있습니다. 콘솔을 사용하여 데이터 검증 보고서를 보려면 [Tasks] 페이지에서 작업을 선택하고 세부 정보 섹션에서 [Table statistics] 탭을 선택합니다.
를 사용하여 데이터 검증을 시작하기 위해 작업을 생성하거나 수정할
true
때EnableValidation
파라미터를 로 CLI설정합니다. 다음 예제에서는 작업을 생성하고 데이터 검증을 활성화합니다.create-replication-task --replication-task-settings '{"ValidationSettings":{"EnableValidation":true}}' --replication-instance-arn arn:aws:dms:us-east-1:5731014: rep:36KWVMB7Q --source-endpoint-arn arn:aws:dms:us-east-1:5731014: endpoint:CSZAEFQURFYMM --target-endpoint-arn arn:aws:dms:us-east-1:5731014: endpoint:CGPP7MF6WT4JQ --migration-type full-load-and-cdc --table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": {"schema-name": "data_types", "table-name": "%"}, "rule-action": "include"}]}'
describe-table-statistics
명령을 사용하여 JSON 형식의 데이터 검증 보고서를 수신합니다. 다음 명령은 데이터 검증 보고서를 표시합니다.aws dms describe-table-statistics --replication-task-arn arn:aws:dms:us-east-1:5731014: rep:36KWVMB7Q
이 보고서는 다음과 비슷합니다.
{ "ReplicationTaskArn": "arn:aws:dms:us-west-2:5731014:task:VFPFTYKK2RYSI", "TableStatistics": [ { "ValidationPendingRecords": 2, "Inserts": 25, "ValidationState": "Pending records", "ValidationSuspendedRecords": 0, "LastUpdateTime": 1510181065.349, "FullLoadErrorRows": 0, "FullLoadCondtnlChkFailedRows": 0, "Ddls": 0, "TableName": "t_binary", "ValidationFailedRecords": 0, "Updates": 0, "FullLoadRows": 10, "TableState": "Table completed", "SchemaName": "d_types_s_sqlserver", "Deletes": 0 } }
를 사용하여 CreateReplicationTask 작업을 사용하여 작업을 AWS DMS API생성하고
EnableValidation
파라미터를 true로 설정하여 작업에서 마이그레이션된 데이터를 검증합니다. DescribeTableStatistics 작업을 사용하여 JSON 형식의 데이터 검증 보고서를 수신합니다.
Amazon을 사용한 복제 작업 통계 CloudWatch
Amazon CloudWatch 이 활성화되면는 다음과 같은 복제 작업 통계를 AWS DMS 제공합니다.
ValidationSucceededRecordCount- 분당 AWS DMS 검증한 행 수입니다.
ValidationAttemptedRecordCount- 분당 검증을 시도한 행 수입니다.
ValidationFailedOverallCount- 검증에 실패한 행 수입니다.
ValidationSuspendedOverallCount- 검증이 일시 중지된 행 수입니다.
ValidationPendingOverallCount- 검증이 아직 보류 중인 행 수입니다.
ValidationBulkQuerySourceLatency- AWS DMS 는 대량으로 데이터 검증을 수행할 수 있으며, 특히 전체 로드 또는 지속적 복제 중에 많은 변경 사항이 있는 특정 시나리오에서 그러합니다. 이 지표는 소스 엔드포인트 대량의 데이터 세트를 읽는 데 필요한 지연 시간을 나타냅니다.
ValidationBulkQueryTargetLatency- AWS DMS 는 대량으로 데이터 검증을 수행할 수 있으며, 특히 전체 로드 또는 지속적 복제 중에 많은 변경 사항이 있는 특정 시나리오에서 그러합니다. 이 지표는 대상 엔드포인트의 대량의 데이터 세트를 읽는 데 필요한 지연 시간을 나타냅니다.
ValidationItemQuerySourceLatency- 지속적인 복제 중에 데이터 검증은 지속적인 변경 사항을 식별하고 이러한 변경 사항을 검증할 수 있습니다. 이 지표는 소스에서 이런 변경을 읽는 데 필요한 지연 시간을 나타냅니다. 검증은 변경의 수를 근거로, 검증 동안 오류가 있을 시 필요한 것보다 더 많은 쿼리를 실행할 수 있습니다.
ValidationItemQueryTargetLatency- 지속적인 복제 중에 데이터 검증은 지속적인 변경 사항을 식별하고 행별로 변경 사항을 검증할 수 있습니다. 이 지표는 대상에서 이런 변경을 읽는 데 필요한 지연 시간을 제공합니다. 검증은 변경의 수를 근거로, 검증 동안 오류가 있을 시 필요한 것보다 더 많은 쿼리를 실행할 수도 있습니다.
CloudWatch 활성화된 통계에서 데이터 검증 정보를 수집하려면 콘솔을 사용하여 작업을 생성하거나 수정할 때 CloudWatch 로그 활성화를 선택합니다. 그런 다음, 데이터가 소스에서 대상으로 정확히 마이그레이션되었는지 확인하기 위한 데이터 검증 정보를 확인하려면 다음 작업을 수행합니다.
데이터베이스 마이그레이션 태스크 페이지에서 태스크를 선택합니다.
CloudWatch 지표 탭을 선택합니다.
드롭다운 메뉴에서 검증을 선택합니다.
작업 중 테이블 다시 검증
작업이 실행되는 동안 AWS DMS 에 데이터 검증 수행을 요청할 수 있습니다.
AWS Management Console
-
에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/dms/v2/
에서 AWS DMS 콘솔을 엽니다. AWS Identity and Access Management (IAM) 사용자로 로그인한 경우 액세스할 수 있는 적절한 권한이 있는지 확인합니다 AWS DMS. 필요한 권한은 섹션을 참조하세요IAM를 사용하는 데 필요한 권한 AWS DMS.
-
탐색 창에서 [작업]을 선택합니다.
-
다시 검증할 테이블이 있는 실행 중인 작업을 선택합니다.
테이블 통계 탭을 선택합니다.
-
다시 검증할 테이블을 선택합니다(한 번에 최대 10개의 테이블을 선택할 수 있음). 작업이 더 이상 실행되고 있지 않으면 테이블을 다시 검증할 수 없습니다.
-
Revalidate(다시 검증)를 선택합니다.
JSON 편집기를 사용하여 검증 규칙 수정
AWS DMS 콘솔의 JSON 편집기를 사용하여 작업에 검증 규칙을 추가하려면 다음을 수행합니다.
-
데이터베이스 마이그레이션 태스크를 선택합니다.
-
마이그레이션 태스크 목록에서 태스크를 선택합니다.
-
태스크가 실행 중인 경우 작업 드롭다운 메뉴에서 중지를 선택합니다.
-
태스크가 중지된 후 태스크를 수정하려면 작업 드롭다운 메뉴에서 수정을 선택합니다.
-
테이블 매핑 섹션에서 JSON 편집기를 선택하고 테이블 매핑에 검증 규칙을 추가합니다.
예를 들어, 다음과 같은 검증 규칙을 추가하여 소스에서 replace 함수를 실행할 수 있습니다. 이 경우 검증 규칙에서 null 바이트가 발견되면 해당 바이트는 공백으로 확인됩니다.
{
"rule-type": "validation",
"rule-id": "1",
"rule-name": "1",
"rule-target": "column",
"object-locator": {
"schema-name": "Test-Schema",
"table-name": "Test-Table",
"column-name": "Test-Column"
},
"rule-action": "override-validation-function",
"source-function": "REPLACE(${column-name}, chr(0), chr(32))",
"target-function": "${column-name}"
}
검증 전용 태스크
마이그레이션이나 데이터 복제를 수행하지 않고도 데이터를 미리 보고 검증하는 검증 전용 태스크를 생성할 수 있습니다. 검증 전용 태스크를 생성하려면 EnableValidation
및 ValidationOnly
설정을 true
로 설정합니다. ValidationOnly
를 활성화하면 추가 요구 사항이 적용됩니다. 자세한 내용은 데이터 검증 작업 설정 단원을 참조하십시오.
전체 로드 전용 마이그레이션 유형의 경우 많은 실패가 보고될 때 검증 전용 작업이 CDC 동등한 작업보다 훨씬 빠르게 완료됩니다. 그러나 소스 또는 대상 엔드포인트에 대한 변경 사항은 전체 로드 모드에서 실패로 보고되며, 이는 단점이 될 수 있습니다.
CDC 검증 전용 태스크는 평균 지연 시간을 기준으로 검증을 지연시키고 실패를 보고하기 전에 여러 번 재시도합니다. 대부분의 데이터 비교로 인해 오류가 발생하는 경우 CDC 모드에 대한 검증 전용 작업이 매우 느리며 잠재적 단점이 됩니다.
검증 전용 작업은 특히의 경우 복제 작업과 동일한 방향으로 설정해야 합니다CDC. 이는 CDC 검증 전용 태스크가 소스의 변경 로그를 기반으로 변경되어 다시 검증해야 하는 행을 감지하기 때문입니다. 대상이 소스로 지정된 경우에서 대상에 전송된 변경 사항만 알고 복제 오류를 포착할 수 DMS 없습니다.
전체 로드 검증 전용
AWS DMS 버전 3.4.6 이상부터 전체 로드 검증 전용 작업은 소스 테이블과 대상 테이블의 모든 행을 단일 패스로 빠르게 비교하고 즉시 오류를 보고한 다음 종료합니다. 이 모드에서는 실패로 인해 검증이 일시 중지되지 않으며, 속도에 최적화되어 있습니다. 그러나 소스 또는 대상 엔드포인트에 대한 변경 사항은 실패로 보고됩니다.
참고
AWS DMS 버전 3.4.6 이상부터이 검증 동작은 검증이 활성화된 전체 로드 마이그레이션 작업에도 적용됩니다.
CDC 검증만
CDC 검증 전용 작업은 새로 시작할 때 소스 테이블과 대상 테이블 사이의 모든 기존 행을 검증합니다. 또한 CDC 검증 전용 작업은 지속적으로 실행되고, 지속적인 복제 변경을 다시 검증하고, 각 패스에 보고된 실패 수를 제한하고, 일치하지 않는 행을 실패하기 전에 재시도합니다. 이는 거짓 긍정을 방지하도록 최적화되었습니다.
FailureMaxCount
또는 TableFailureMaxCount
임계값을 위반하면 테이블(또는 전체 태스크)에 대한 검증이 일시 중지됩니다. 이는 검증이 활성화된 CDC 또는 Full Load+CDC 마이그레이션 작업에도 적용됩니다. 또한 검증이 활성화된 CDC 태스크는 평균 소스 및 대상 지연 시간을 기반으로 변경된 각 행에 대한 재검증을 지연시킵니다.
그러나 CDC 검증 전용 작업은 데이터를 마이그레이션하지 않으며 지연 시간이 없습니다. 기본적으로 ValidationQueryCdcDelaySeconds
는 180으로 설정됩니다. 그리고 지연 시간이 긴 환경을 고려하여 용량을 늘리고 거짓 긍정을 방지할 수 있습니다.
검증 전용 사용 사례
마이그레이션 또는 복제 태스크의 데이터 검증 부분을 별도의 검증 전용 태스크로 분할하는 사용 사례에는 다음 경우가 포함되나, 이에 국한되지 않습니다.
-
검증이 수행되는 시기를 정확하게 제어 - 검증 쿼리는 소스 및 대상 엔드포인트 양쪽 모두에 추가적인 부하를 가중시킵니다. 따라서 먼저 한 태스크에서 데이터를 마이그레이션 또는 복제한 다음, 다른 태스크에서 결과를 검증하는 편이 유리할 수 있습니다.
-
복제 인스턴스의 부하 감소 - 데이터 검증을 분할하여 자체 인스턴스에서 실행하는 편이 유리할 수 있습니다.
-
특정 시점에 일치하지 않는 행의 수를 신속하게 파악 - 예를 들어, 유지 관리 기간 직전에 또는 도중에 프로덕션이 대상 엔드포인트로 전환될 경우 전체 로드 검증 전용 태스크를 생성하여 질문에 대한 답을 얻을 수 있습니다.
-
구성 CDC 요소가 있는 마이그레이션 작업에 대해 검증 실패가 예상되는 경우 - 예를 들어 Oracle을 Postgre
varchar2
SQL 로 마이그레이션하는 경우jsonb
CDC 검증은 이러한 실패한 행을 계속 재시도하고 매번 보고된 실패 수를 제한합니다. 하지만 전체 로드 검증 전용 태스크를 생성하면 더 빠른 답을 얻을 수 있습니다. -
검증 실패 테이블을 읽는 데이터 복구 스크립트/유틸리티를 개발한 경우 - (문제 해결도 참조하세요). 전체 로드 검증 태스크는 데이터 복구 스크립트가 조치를 취해야 할 오류를 신속하게 보고합니다.
JSON 파일의 ValidationSettings
작업 설정 예제는 섹션을 참조하세요작업 설정 예제).
문제 해결
검증 중에는 대상 엔드포인트에서 새 테이블을 AWS DMS 생성합니다awsdms_control.awsdms_validation_failures_v1
. 레코드가 ValidationSuspended 또는 ValidationFailed 상태로 전환되면는 진단 정보를에 AWS DMS 기록합니다awsdms_control.awsdms_validation_failures_v1
. 이 테이블을 쿼리하여 검증 오류 문제를 해결할 수 있습니다.
대상에서 테이블이 생성되는 기본 스키마를 변경하는 방법에 대한 내용은 제어 테이블 태스크 설정 섹션을 참조하세요.
다음은 awsdms_control.awsdms_validation_failures_v1
테이블에 대한 설명입니다.
열 명칭 | 데이터 유형 | 설명 |
---|---|---|
|
|
AWS DMS 작업 식별자. |
TABLE_OWNER |
VARCHAR(128) NOT NULL |
테이블의 스키마(소유자). |
|
VARCHAR(128) NOT NULL |
테이블 이름. |
FAILURE_TIME |
DATETIME(3) NOT NULL |
실패가 발생한 시간. |
KEY_TYPE |
VARCHAR(128) NOT NULL |
나중에 사용할 수 있도록 예약됩니다(값은 항상 'Row'). |
KEY |
TEXT NOT NULL |
이 키는 행 레코드 유형의 기본 키입니다. |
FAILURE_TYPE |
VARCHAR(128) NOT NULL |
검증 오류의 심각도. |
DETAILS |
VARCHAR(8000) NOT NULL |
JSON 지정된 키와 일치하지 않는 모든 소스/대상 열 값의 형식이 지정된 문자열입니다. |
다음은 awsdms_control.awsdms_validation_failures_v1
테이블을 쿼리하여 작업의 모든 실패를 보여주는 내SQL 대상에 대한 샘플 쿼리입니다. 스키마 이름과 쿼리 구문은 대상 엔진 버전마다 다릅니다. 작업 이름은 작업의 외부 리소스 ID여야 합니다. 작업의 외부 리소스 ID는 작업의 마지막 값입니다ARN. 예를 들어 arn:aws:dms:us-west-2:5599:task:의 ARN 값을 가진 태스크의 경우 태스크의 VFPFKH4FJR3FTYKK2RYSI외부 리소스 ID는 입니다VFPFKH4FJR3FTYKK2RYSI.
select * from awsdms_validation_failures_v1 where TASK_NAME = 'VFPFKH4FJR3FTYKK2RYSI'
TASK_NAME VFPFKH4FJR3FTYKK2RYSI
TABLE_OWNER DB2PERF
TABLE_NAME PERFTEST
FAILURE_TIME 2020-06-11 21:58:44
KEY_TYPE Row
KEY {"key": ["3451491"]}
FAILURE_TYPE RECORD_DIFF
DETAILS [[{'MYREAL': '+1.10106036e-01'}, {'MYREAL': '+1.10106044e-01'}],]
DETAILS
필드를 보고 일치하지 않는 열을 확인할 수 있습니다. 실패한 레코드의 프라이머리 키가 있으므로, 소스 및 대상 엔드포인트를 쿼리하여 레코드에서 일치하지 않는 부분을 찾아낼 수 있습니다.
Redshift 검증 성능
Amazon Redshift는 열 기반 스토리지, , MPP데이터 압축 및 기타 요인을 비롯한 여러 가지 면에서 관계형 데이터베이스와 다릅니다. 이러한 차이로 인해 Redshift는 관계형 데이터베이스와는 다른 성능 프로파일을 제공합니다.
전체 로드 복제 단계 중 검증에서는 PartitionSize
설정에 따라 데이터 크기가 제어되는 범위 쿼리를 사용합니다. 이러한 범위 기반 쿼리에서는 소스 테이블의 모든 레코드가 선택됩니다.
지속적인 복제의 경우 쿼리는 범위 기반과 개별 레코드 가져오기 간에 전환됩니다. 쿼리 유형은 다음과 같은 여러 요인에 따라 동적으로 결정됩니다.
쿼리 볼륨
소스 테이블의 DML 쿼리 유형
작업 지연 시간
총 레코드 수
PartitionSize
등의 검증 설정
검증 쿼리로 인해 Amazon Redshift 클러스터에 추가 로드가 발생할 수 있습니다. 위의 요인은 사용 사례에 따라 다르므로 검증 쿼리 성능을 검토하고 그에 따라 클러스터와 테이블을 조정해야 합니다. 성능 문제를 완화하기 위한 몇 가지 옵션은 다음과 같습니다.
PartitionSize
및ThreadCount
설정을 줄이면 전체 로드 검증 중에 워크로드를 줄이는 데 도움이 됩니다. 이렇게 하면 데이터 검증 속도가 느려진다는 점에 유의하세요.Redshift는 기본 키를 적용하지 않지만 AWS DMS 는 기본 키를 사용하여 데이터 검증을 위해 대상의 레코드를 고유하게 식별합니다. 전체 로드 검증 쿼리가 더 빠르게 실행되기 위해 가능하면 프라이머리 키가 정렬 키를 미러링하도록 설정합니다.
에 대한 향상된 데이터 검증 AWS Database Migration Service
이제 CDC 마이그레이션 작업을 통한 전체 로드와 전체 로드 모두에 대해 복제 엔진 버전 3.5.4에서 향상된 데이터 검증을 사용할 수 있습니다. 현재이 개선 사항은 Oracle에서 Postgre로, SQL Server에서 Postgre로SQL, SQLOracle에서 Oracle로, SQL Server에서 SQL Server로 마이그레이션 경로를 지원합니다.
사전 조건
-
Oracle: Oracle 엔드포인트
SYS.DBMS_CRYPTO
에 액세스하는 사용자 계정에에 대한EXECUTE
권한을 부여합니다.GRANT EXECUTE ON SYS.DBMS_CRYPTO TO dms_endpoint_user;
-
PostgreSQL 데이터베이스에
pgcrypto
확장 프로그램을 설치합니다.참고
Amazon RDS for PostgreSQLinstances의 경우
pgcrypto
확장이 이미 활성화되어 있습니다.자체 관리형 PostgreSQL 인스턴스의 경우
contrib
모듈 라이브러리를 설치하고 확장을 생성해야 합니다.-
contrib
모듈 라이브러리를 설치합니다. 예를 들어 Amazon Linux 및 PostgreSQL 15가 있는 Amazon EC2 인스턴스의 경우:sudo dnf install postgresql15-contrib
-
pgcrypto
확장을 생성합니다.CREATE EXTENSION IF NOT EXISTS pgcrypto;
-
-
Amazon RDS for PostgreSQL 인스턴스의 경우 AWS DMS 엔드포인트에 대한 SSL 모드를 구성합니다.
-
기본적으로 Amazon은 SSL 연결을 RDS 강제로 실행합니다. Amazon RDS for PostgreSQL 인스턴스에 대한 AWS DMS 엔드포인트를 생성할 때는 "SSL 모드" 옵션 = "필수"를 사용합니다.
-
"SSL 모드" 옵션 = "없음"을 사용하려면
rds.force_ssl
파라미터 그룹에서 파라미터를 RDS 0으로 설정합니다.
-
-
PostgreSQL 12 및 13의 경우
BIT_XOR
집계를 생성합니다.CREATE OR REPLACE AGGREGATE BIT_XOR(IN v bit) (SFUNC = bitxor, STYPE = bit);
제한 사항
이 향상된 데이터 검증 기능에는 다음과 같은 제한 사항이 있습니다.
-
데이터베이스 엔드포인트 요구 사항:이 개선은 다음 기준을 충족하는 데이터베이스 엔드포인트에만 활성화됩니다.
AWS Secrets Manager 를 사용하여 자격 증명을 저장합니다.
Microsoft SQL Server의 경우 Kerberos 인증도 지원됩니다.
-
데이터베이스 버전 지원:
PostgreSQL 12 이상
Oracle 12.1 이상
2019년 미만의 Microsoft SQL Server 버전에서는 NCHAR 및 NVARCHAR 데이터 형식의 검증이 지원되지 않습니다.
제한 사항
-
데이터를 검증하려면 테이블에 기본 키나 고유한 인덱스가 있어야 합니다.
기본 키 열은
CLOB
,BLOB
또는BYTE
형식이 아니어야 합니다.-
VARCHAR
또는CHAR
형식의 기본 키 열은 길이가 1024보다 작아야 합니다. 데이터 유형에 길이를 지정해야 합니다. 무제한 데이터 유형을 데이터 검증의 프라이머리 키로 사용할 수 없습니다. -
NOVALIDATE
절을 사용하여 생성된 Oracle 키는 프라이머리 키 또는 고유 인덱스로 간주되지 않습니다. -
프라이머리 키가 없고 고유 키만 있는 Oracle 테이블의 경우에는 고유 제약 조건이 있는 열에도
NOT NULL
제약 조건이 있어야 합니다.
-
NULL PK/UK 값의 검증은 지원되지 않습니다.
-
대상 PostgreSQL 인스턴스에서 기본 키 열의 정렬이 “C”로 설정되지 않은 경우 기본 키의 정렬 순서는 Oracle의 정렬 순서와 다릅니다. 정렬 순서가 PostgreSQL와 Oracle 간에 다른 경우 데이터 검증은 레코드를 검증하지 못합니다.
-
데이터 검증을 수행하면 원본 및 대상 데이터베이스에 대해 추가 쿼리가 생성됩니다. 두 데이터베이스에 이 추가 로드를 처리할 수 있을 만큼 충분한 리소스가 확보되었는지 확인해야 합니다. Redshift 대상의 경우 특히 그렇습니다. 자세한 내용은 Redshift 검증 성능 단원을 참조하십시오.
-
여러 데이터베이스를 하나로 통합할 때는 데이터 검증이 지원되지 않습니다.
-
소스 또는 대상 Oracle 엔드포인트의 경우 DBMS_CRYPTO를 AWS DMS 사용하여를 검증합니다LOBs. Oracle 엔드포인트에서를 사용하는 경우 Oracle 엔드포인트에 액세스하는 데 사용된 사용자 계정에 dbms_crypto에 대한 실행 권한을 부여해야 LOBs합니다. 다음 명령문을 실행하여 이 권한을 호출할 수 있습니다.
grant execute on sys.dbms_crypto to
dms_endpoint_user
; -
검증 AWS DMS 중에 대상 데이터베이스가 외부에서 수정되면 불일치가 정확하게 보고되지 않을 수 있습니다. 이 결과는 애플리케이션 중 하나가 대상 테이블에 데이터를 쓰는 동안 AWS DMS 가 동일한 테이블에서 검증을 수행하는 경우에 발생할 수 있습니다.
-
검증 중에 하나 이상의 행이 지속적으로 수정되는 경우는 해당 행을 검증할 AWS DMS 수 없습니다.
-
가 10,000개 이상의 실패 또는 일시 중지된 레코드를 AWS DMS 감지하면 검증이 중지됩니다. 계속 진행하기 전에 데이터에 잠재된 문제를 해결하십시오.
-
AWS DMS 는 뷰의 데이터 검증을 지원하지 않습니다.
-
AWS DMS 는 문자 대체 작업 설정을 사용할 때 데이터 검증을 지원하지 않습니다.
AWS DMS 는 Oracle LONG 유형 검증을 지원하지 않습니다.
AWS DMS 는 이기종 마이그레이션 중에 Oracle Spatial 유형의 검증을 지원하지 않습니다.
데이터 검증은 테이블 매핑에 데이터 마스킹 변환이 있는 테이블의 열을 무시합니다.
PK/UK 열에 대한 데이터 마스킹 변환 규칙이 있는 경우 데이터 검증은 전체 테이블을 건너뜁니다. 검증 상태는 해당 테이블의 기본 키 없음으로 표시됩니다.
S3 대상 검증 사용에 대한 제한 사항은 S3 대상 검증 사용에 대한 제한 사항 섹션을 참조하세요.