Especificar as configurações de tarefas para tarefas do AWS Database Migration Service - AWS Database Migration Service

Especificar as configurações de tarefas para tarefas do AWS Database Migration Service

Cada tarefa tem configurações que podem ser definidas de acordo com as necessidades da migração do banco de dados. Crie essas configurações em um arquivo JSON ou, no caso de algumas configurações, especifique-as usando o console do AWS DMS. Para obter informações sobre como utilizar um arquivo de configuração de tarefas para definir as configurações de tarefas, consulte Exemplo de configurações de tarefas.

Há vários tipos principais de configurações de tarefa, conforme listado a seguir.

Configurações de tarefa Documentação relevante

Criar um relatório de avaliação de tarefa

É possível criar um relatório de avaliação de tarefa que mostre os tipos de dados incompatíveis, que podem causar problemas durante a migração. É possível executar esse relatório na tarefa antes de executá-la, para descobrir possíveis problemas.

Ativar e trabalhar com avaliações de pré-migração de uma tarefa

Criar uma tarefa

Quando você cria uma tarefa, especifica a origem, o destino e a instância de replicação, juntamente com todas as configurações de migração.

Criar uma tarefa

Criar uma tarefa de replicação contínua

Você pode configurar uma tarefa para fornecer replicação contínua entre a origem e o destino.

Criar tarefas para replicação contínua utilizando o AWS DMS

Aplicar as configurações de tarefas

Cada tarefa tem configurações que podem ser definidas de acordo com as necessidades da migração do banco de dados. Crie essas configurações em um arquivo JSON ou, no caso de algumas configurações, especifique-as usando o console do AWS DMS.

Especificar as configurações de tarefas para tarefas do AWS Database Migration Service

Validação de dados

Utilize a validação de dados para que o AWS DMS compare os dados no armazenamento de dados de destino com os dados do armazenamento de dados de origem.

Validação de dados do AWS DMS

Modificar uma tarefa

Quando uma tarefa é interrompida, é possível modificar as configurações dela.

Modificar uma tarefa

Recarregar tabelas durante uma tarefa

Você poderá recarregar uma tabela durante uma tarefa se ocorrer um erro durante sua execução.

Recarregar tabelas durante uma tarefa

Utilizar mapeamento de tabela

O mapeamento de tabela utiliza vários tipos de regras para especificar as configurações da fonte de dados, do esquema de origem, dos dados e de quaisquer transformações que devem ocorrer durante a tarefa.

Regras de seleção

Regras de seleção e ações

Regras de transformação

Regras de transformação e ações

Aplicar filtros

É possível usar filtros de origem para limitar o número e o tipo de registros transferidos da origem ao destino. Por exemplo, você pode especificar que somente os funcionários localizados na sede serão movidos para o banco de dados de destino. Os filtros são aplicados a uma coluna de dados.

Usar filtros de origem

Monitorar uma tarefa

Há várias maneiras de obter informações sobre o desempenho de uma tarefa e das tabelas usadas por ela.

Monitoramento de tarefas do AWS DMS

Gerenciar logs de tarefas

Você pode visualizar e excluir logs de tarefas usando a API do AWS DMS ou a AWS CLI.

Visualização e gerenciamento dos logs de tarefas do AWS

Exemplo de configurações de tarefas

É possível utilizar o Console de gerenciamento da AWS ou a AWS CLI para criar uma tarefa de replicação. Se você utilizar o AWS CLI, defina as configurações da tarefa criando um arquivo JSON e especificando o URI file:// do arquivo JSON como o parâmetro ReplicationTaskSettings da operação CreateReplicationTask.

O exemplo a seguir mostra como utilizar a AWS CLI para chamar a operação CreateReplicationTask:

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

O exemplo anterior utiliza um arquivo de mapeamento de tabela chamadotablemappings.json. Para ver exemplos de mapeamento de tabela, consulte Utilizar o mapeamento de tabela para especificar as configurações da tarefa.

Um arquivo JSON de configurações de tarefas pode ter a seguinte aparência:

{ "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 } }