

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS Database Migration Service 작업에 대한 작업 설정 지정
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings"></a>

각 작업에는 데이터베이스 마이그레이션의 요구 사항에 따라 구성할 수 있는 설정이 있습니다. JSON 파일에서 이러한 설정을 생성하거나 일부 설정에서는 AWS DMS 콘솔을 사용하여 설정을 지정할 수 있습니다. 작업 구성 파일을 사용하여 작업 설정을 지정하는 방법에 관한 자세한 내용은 [작업 설정 예제](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)을 참조하세요.

기본적인 작업 설정 유형은 다음과 같습니다.

**Topics**
+ [작업 설정 예제](#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)
+ [대상 메타데이터 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.TargetMetadata.md)
+ [전체 로드 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.md)
+ [Time Travel 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.md)
+ [작업 설정 로깅](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md)
+ [제어 테이블 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.ControlTable.md)
+ [스트림 버퍼 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.StreamBuffer.md)
+ [변경 처리 튜닝 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md)
+ [데이터 검증 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.md)
+ [데이터 재동기 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.DataResyncSettings.md)
+ [변경 처리 DDL을 다루기 위한 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.DDLHandling.md)
+ [문자 대체 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.CharacterSubstitution.md)
+ [이전 이미지 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.BeforeImage.md)
+ [오류 처리 작업 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.ErrorHandling.md)
+ [작업 설정 저장](CHAP_Tasks.CustomizingTasks.TaskSettings.Saving.md)


| 작업 설정 | 관련 설명서 | 
| --- | --- | 
|  **작업 평가 보고서 생성** <br />마이그레이션 중에 문제를 유발할 수 있는 지원되지 않는 데이터 형식을 보여 주는 작업 평가 보고서를 생성할 수 있습니다. 작업을 실행하기 전에 잠재적인 문제를 알아보기 위해 작업에 대해 이 보고서를 실행할 수 있습니다. | [작업에 대한 마이그레이션 전 평가 활성화 및 활용](CHAP_Tasks.AssessmentReport.md) | 
|  **작업 생성** <br />작업 생성 시 마이그레이션 설정과 함께 소스, 대상 및 복제 인스턴스를 지정합니다. | [작업 생성](CHAP_Tasks.Creating.md) | 
|  **지속적 복제 태스크 생성** <br />원본과 대상 간에 지속적인 복제를 수행하는 작업을 설정할 수 있습니다. | [를 사용하여 지속적 복제를 위한 작업 생성 AWS DMS](CHAP_Task.CDC.md) | 
|  **태스크 설정 적용** <br />각 작업에는 데이터베이스 마이그레이션의 요구 사항에 따라 구성할 수 있는 설정이 있습니다. JSON 파일에서 이러한 설정을 생성하거나 일부 설정에서는 AWS DMS 콘솔을 사용하여 설정을 지정할 수 있습니다. | [AWS Database Migration Service 작업에 대한 작업 설정 지정](#CHAP_Tasks.CustomizingTasks.TaskSettings) | 
|  **데이터 유효성 검사** <br />데이터 검증을 사용하여 대상 데이터 스토어의 데이터를 소스 데이터 스토어의 데이터와 AWS DMS 비교합니다. | [AWS DMS 데이터 검증](CHAP_Validating.md) | 
|  **작업 수정** <br />작업이 중지되면 작업 설정을 수정할 수 있습니다. | [작업 수정](CHAP_Tasks.Modifying.md) | 
|  **작업 중 테이블 다시 로드** <br />작업 중에 오류가 발생하면 작업 중에 테이블을 다시 로드할 수 있습니다. | [작업 중 테이블 다시 로드](CHAP_Tasks.ReloadTables.md) | 
|  **테이블 매핑 사용** <br />테이블 매핑에서는 여러 유형의 규칙을 사용하여 데이터 소스, 원본 스키마, 데이터, 작업 중 발생하는 모든 변환 등에 대한 작업 설정을 지정합니다. | 선택 규칙[선택 규칙 및 작업](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Selections.md)<br />변환 규칙[변환 규칙 및 작업](CHAP_Tasks.CustomizingTasks.TableMapping.SelectionTransformation.Transformations.md) | 
|  **필터 적용** <br />소스 필터를 사용하여 소스에서 대상으로 전송되는 레코드의 수와 유형을 제한할 수 있습니다. 예를 들어, 본사 사업장에서 근무하는 직원만이 대상 데이터베이스로 이동하도록 지정할 수 있습니다. 데이터 열에서 필터를 적용합니다. | [소스 필터 사용](CHAP_Tasks.CustomizingTasks.Filters.md) | 
| 태스크 모니터링작업에서 사용하는 테이블과 작업 성능에 관한 정보를 가져오는 방법에는 여러 가지가 있습니다. | [AWS DMS 작업 모니터링](CHAP_Monitoring.md) | 
| 태스크 로그 관리 AWS DMS API 또는를 사용하여 작업 로그를 보고 삭제할 수 있습니다 AWS CLI. | [AWS DMS 작업 로그 보기 및 관리](CHAP_Monitoring.md#CHAP_Monitoring.ManagingLogs) | 

## 작업 설정 예제
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Example"></a>

 AWS Management Console 또는를 사용하여 복제 작업을 AWS CLI 생성할 수 있습니다. 를 사용하는 경우 JSON 파일을 생성한 다음 JSON 파일의 file:// URI를 [CreateReplicationTask](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html) [ 작업의 ReplicationTaskSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_CreateReplicationTask.html#DMS-CreateReplicationTask-request-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`이라는 테이블 매핑 파일을 사용합니다. 테이블 매핑 예는 [작업 설정을 지정하기 위한 테이블 매핑 사용](CHAP_Tasks.CustomizingTasks.TableMapping.md) 섹션을 참조하세요.

작업 설정 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
  }
}
```