기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
각 작업에는 데이터베이스 마이그레이션의 요구 사항에 따라 구성할 수 있는 설정이 있습니다. JSON 파일에서 이러한 설정을 생성하거나 일부 설정에서는 AWS DMS 콘솔을 사용하여 설정을 지정할 수 있습니다. 작업 구성 파일을 사용하여 작업 설정을 지정하는 방법에 관한 자세한 내용은 작업 설정 예제을 참조하십시오.
기본적인 작업 설정 유형은 다음과 같습니다.
주제
작업 설정 | 관련 설명서 |
---|---|
작업 평가 보고서 생성 마이그레이션 중에 문제를 유발할 수 있는 지원되지 않는 데이터 형식을 보여 주는 작업 평가 보고서를 생성할 수 있습니다. 작업을 실행하기 전에 잠재적인 문제를 알아보기 위해 작업에 대해 이 보고서를 실행할 수 있습니다. |
|
작업 생성 작업 생성 시 마이그레이션 설정과 함께 소스, 대상 및 복제 인스턴스를 지정합니다. |
|
지속적 복제 태스크 생성 원본과 대상 간에 지속적인 복제를 수행하는 작업을 설정할 수 있습니다. |
|
태스크 설정 적용 각 작업에는 데이터베이스 마이그레이션의 요구 사항에 따라 구성할 수 있는 설정이 있습니다. JSON 파일에서 이러한 설정을 생성하거나 일부 설정에서는 AWS DMS 콘솔을 사용하여 설정을 지정할 수 있습니다. |
AWS 데이터베이스 마이그레이션 서비스 작업에 대한 작업 설정 지정 |
데이터 유효성 검사 데이터 검증을 사용하여 대상 데이터 스토어의 데이터를 소스 데이터 스토어의 데이터와 AWS DMS 비교합니다. |
|
작업 수정 작업이 중지되면 작업 설정을 수정할 수 있습니다. |
|
작업 중 테이블 다시 로드 작업 중에 오류가 발생하면 작업 중에 테이블을 다시 로드할 수 있습니다. |
|
테이블 매핑 사용 테이블 매핑에서는 여러 유형의 규칙을 사용하여 데이터 소스, 원본 스키마, 데이터, 작업 중 발생하는 모든 변환 등에 대한 작업 설정을 지정합니다. |
선택 규칙 선택 규칙 및 작업변환 규칙 변환 규칙 및 작업 |
필터 적용 소스 필터를 사용하여 소스에서 대상으로 전송되는 레코드의 수와 유형을 제한할 수 있습니다. 예를 들어, 본사 사업장에서 근무하는 직원만이 대상 데이터베이스로 이동하도록 지정할 수 있습니다. 데이터 열에서 필터를 적용합니다. |
|
태스크 모니터링 작업에서 사용하는 테이블과 작업 성능에 관한 정보를 가져오는 방법에는 여러 가지가 있습니다. |
|
태스크 로그 관리 또는를 사용하여 작업 로그를 AWS DMS API 보고 삭제할 수 있습니다 AWS CLI. |
작업 설정 예제
AWS Management Console 또는를 사용하여 복제 작업을 AWS CLI 생성할 수 있습니다. 를 사용하는 경우 JSON 파일을 생성한 다음 URI JSON 파일의 file://를 CreateReplicationTask 작업의 ReplicationTaskSettings 파라미터로 지정하여 작업 설정을 AWS CLI설정합니다.
다음 예제에서는를 사용하여 CreateReplicationTask
작업을 호출 AWS CLI 하는 방법을 보여줍니다.
aws dms create-replication-task \
--replication-task-identifier MyTask \
--source-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \
--target-endpoint-arn arn:aws:dms:us-west-2:123456789012:endpoint:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \
--replication-instance-arn arn:aws:dms:us-west-2:123456789012:rep:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABC \
--migration-type cdc \
--table-mappings file://tablemappings.json \
--replication-task-settings file://settings.json
위 예제에서는 tablemappings.json
이라는 테이블 매핑 파일을 사용합니다. 테이블 매핑 예는 작업 설정을 지정하기 위한 테이블 매핑 사용 단원을 참조하십시오.
작업 설정 JSON 파일은 다음과 같을 수 있습니다.
{
"TargetMetadata": {
"TargetSchema": "",
"SupportLobs": true,
"FullLobMode": false,
"LobChunkSize": 64,
"LimitedSizeLobMode": true,
"LobMaxSize": 32,
"InlineLobMaxSize": 0,
"LoadMaxFileSize": 0,
"ParallelLoadThreads": 0,
"ParallelLoadBufferSize":0,
"ParallelLoadQueuesPerThread": 1,
"ParallelApplyThreads": 0,
"ParallelApplyBufferSize": 100,
"ParallelApplyQueuesPerThread": 1,
"BatchApplyEnabled": false,
"TaskRecoveryTableEnabled": false
},
"FullLoadSettings": {
"TargetTablePrepMode": "DO_NOTHING",
"CreatePkAfterFullLoad": false,
"StopTaskCachedChangesApplied": false,
"StopTaskCachedChangesNotApplied": false,
"MaxFullLoadSubTasks": 8,
"TransactionConsistencyTimeout": 600,
"CommitRate": 10000
},
"TTSettings" : {
"EnableTT" : true,
"TTS3Settings": {
"EncryptionMode": "SSE_KMS",
"ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-west-2:112233445566:key/myKMSKey",
"ServiceAccessRoleArn": "arn:aws:iam::112233445566:role/dms-tt-s3-access-role",
"BucketName": "myttbucket",
"BucketFolder": "myttfolder",
"EnableDeletingFromS3OnTaskDelete": false
},
"TTRecordSettings": {
"EnableRawData" : true,
"OperationsToLog": "DELETE,UPDATE",
"MaxRecordSize": 64
}
},
"Logging": {
"EnableLogging": false
},
"ControlTablesSettings": {
"ControlSchema":"",
"HistoryTimeslotInMinutes":5,
"HistoryTableEnabled": false,
"SuspendedTablesTableEnabled": false,
"StatusTableEnabled": false
},
"StreamBufferSettings": {
"StreamBufferCount": 3,
"StreamBufferSizeInMB": 8
},
"ChangeProcessingTuning": {
"BatchApplyPreserveTransaction": true,
"BatchApplyTimeoutMin": 1,
"BatchApplyTimeoutMax": 30,
"BatchApplyMemoryLimit": 500,
"BatchSplitSize": 0,
"MinTransactionSize": 1000,
"CommitTimeout": 1,
"MemoryLimitTotal": 1024,
"MemoryKeepTime": 60,
"StatementCacheSize": 50
},
"ChangeProcessingDdlHandlingPolicy": {
"HandleSourceTableDropped": true,
"HandleSourceTableTruncated": true,
"HandleSourceTableAltered": true
},
"LoopbackPreventionSettings": {
"EnableLoopbackPrevention": true,
"SourceSchema": "LOOP-DATA",
"TargetSchema": "loop-data"
},
"CharacterSetSettings": {
"CharacterReplacements": [ {
"SourceCharacterCodePoint": 35,
"TargetCharacterCodePoint": 52
}, {
"SourceCharacterCodePoint": 37,
"TargetCharacterCodePoint": 103
}
],
"CharacterSetSupport": {
"CharacterSet": "UTF16_PlatformEndian",
"ReplaceWithCharacterCodePoint": 0
}
},
"BeforeImageSettings": {
"EnableBeforeImage": false,
"FieldName": "",
"ColumnFilter": "pk-only"
},
"ErrorBehavior": {
"DataErrorPolicy": "LOG_ERROR",
"DataTruncationErrorPolicy":"LOG_ERROR",
"DataMaskingErrorPolicy": "STOP_TASK",
"DataErrorEscalationPolicy":"SUSPEND_TABLE",
"DataErrorEscalationCount": 50,
"TableErrorPolicy":"SUSPEND_TABLE",
"TableErrorEscalationPolicy":"STOP_TASK",
"TableErrorEscalationCount": 50,
"RecoverableErrorCount": 0,
"RecoverableErrorInterval": 5,
"RecoverableErrorThrottling": true,
"RecoverableErrorThrottlingMax": 1800,
"ApplyErrorDeletePolicy":"IGNORE_RECORD",
"ApplyErrorInsertPolicy":"LOG_ERROR",
"ApplyErrorUpdatePolicy":"LOG_ERROR",
"ApplyErrorEscalationPolicy":"LOG_ERROR",
"ApplyErrorEscalationCount": 0,
"FullLoadIgnoreConflicts": true
},
"ValidationSettings": {
"EnableValidation": false,
"ValidationMode": "ROW_LEVEL",
"ThreadCount": 5,
"PartitionSize": 10000,
"FailureMaxCount": 1000,
"RecordFailureDelayInMinutes": 5,
"RecordSuspendDelayInMinutes": 30,
"MaxKeyColumnSize": 8096,
"TableFailureMaxCount": 10000,
"ValidationOnly": false,
"HandleCollationDiff": false,
"RecordFailureDelayLimitInMinutes": 1,
"SkipLobColumns": false,
"ValidationPartialLobSize": 0,
"ValidationQueryCdcDelaySeconds": 0
}
}