Selecionar a instância de replicação correta do AWS DMS para a migração - AWS Database Migration Service

Selecionar a instância de replicação correta do AWS DMS para a migração

O AWS DMS cria a instância de replicação em uma instância do Amazon EC2. Atualmente, o AWS DMS é compatível com as classes de instâncias de replicação T2, T3, C4, C5, C6i, R4, R5 e R6i do Amazon EC2:

  • As instâncias T2 são instâncias de desempenho expansível com capacidade de intermitência que oferecem um nível básico de desempenho de CPU com capacidade de intermitência acima da linha de base. O desempenho de linha de base e a capacidade de intermitência são governados por créditos de CPU. As instâncias T2 recebem créditos de CPU continuamente a uma taxa definida, dependendo do tamanho da instância. Elas acumulam créditos de CPU quando estão ociosas e consomem créditos de CPU quando estão ativas.

    As instâncias T2 são uma boa opção para uma variedade de workloads de uso geral. Os exemplos incluem microsserviços, aplicações interativas de baixa latência, bancos de dados pequenos e médios, áreas de trabalho virtuais, ambientes de desenvolvimento, de criação e de preparação, repositórios de código e protótipos de produtos.

  • As instâncias T3 são o tipo de instância de uso geral intermitente de próxima geração. Esse tipo fornece um nível de linha de base de desempenho de CPU com a capacidade de intermitência de uso de CPU a qualquer momento e pelo tempo necessário. As instâncias T3 oferecem recursos equilibrados de computação, de memória e de rede e são projetadas para aplicações com uso moderado de CPU que experimentam picos temporários de uso. As instâncias T3 acumulam créditos de CPU quando uma workload está operando abaixo do limite da linha de base. Cada crédito de CPU ganho oferece à instância T3 a oportunidade de apresentar intermitência de desempenho de um núcleo de CPU completo por um minuto, quando necessário.

    As instâncias T3 podem apresentar intermitência a qualquer momento pelo tempo que for necessário no modo unlimited. Para obter mais informações sobre o modo unlimited, consulte Como trabalhar com o modo ilimitado de instâncias de desempenho expansível.

  • As instâncias C4 são otimizadas para workloads com uso intensivo de computação e oferecem alto desempenho e grande economia a um preço baixo por taxa de computação. Elas alcançam desempenho significativamente mais alto de pacotes por segundo (PPS), jitter de rede mais baixo e latência de rede mais baixa. O AWS DMS também pode ter uso intensivo de CPU, principalmente ao executar migrações e replicações heterogêneas, como migrar do Oracle para o PostgreSQL. As instâncias C4 podem ser uma boa opção para essas situações.

  • As instâncias C5 são o tipo de instância de próxima geração que oferece alto desempenho econômico a uma taxa de preço baixo por computação para executar workloads avançadas com uso intensivo de computação. Isso inclui workloads como servidores web de alto desempenho, computação de alta performance (HPC), processamento em lote, veiculação de anúncios, jogos multijogador altamente escaláveis e codificação de vídeo. Outras instâncias C5 de workloads são adequadas para incluir modelagem científica, análise distribuída e inferência de aprendizado de máquina e aprendizado profundo. As instâncias C5 estão disponíveis com uma variedade de processadores da Intel e da AMD.

  • As instâncias C6i oferecem desempenho de preço de computação até 15% melhor do que as instâncias de quinta geração comparáveis para uma ampla variedade de workloads e criptografia de memória sempre ativa. As instâncias C6i são ideais para workloads com uso intensivo de computação, como processamento em lote, análise distribuída, computação de alta performance (HPC), veiculação de anúncios, jogos multijogador altamente escaláveis e codificação de vídeo.

  • As instâncias R4 são otimizadas para memória para workloads com uso intensivo de memória. As replicações ou migrações contínuas de sistemas de transações de alto throughput que usam o AWS DMS, às vezes, também podem consumir grandes quantidades de CPU e de memória. As instâncias R4 incluem mais memória por vCPU do que os tipos de instância da geração anterior.

  • As instâncias R5 são a próxima geração de tipos de instância otimizada para memória do Amazon EC2. As instâncias R5 são ideais para aplicações com uso intensivo de memória, como bancos de dados de alto desempenho, caches na memória distribuídos em escala de web, bancos de dados na memória de médio porte, análise de big data em tempo real e outras aplicações empresariais. As replicações ou migrações contínuas de sistemas de transações de alto throughput que usam o AWS DMS, às vezes, também podem consumir grandes quantidades de CPU e de memória.

  • As instâncias R6i oferecem desempenho de preço computacional até 15% melhor do que as instâncias de quinta geração comparáveis para uma ampla variedade de workloads e criptografia de memória sempre ativa. As instâncias R6i são certificadas pela SAP e são ideais para diversas workloads, como bancos de dados SQL e noSQL, caches em memória distribuídos na escala da web, como Memcached e Redis OSS, bancos de dados em memória, como SAP HANA, e big data analytics em tempo real, como clusters do Hadoop e Spark.

Cada instância de replicação tem uma configuração específica de memória e de vCPU. A tabela a seguir mostra a configuração de cada tipo de instância de replicação. Para obter informações sobre preços, consulte a página Preços do serviço AWS Database Migration Service.

Tipos de instância de replicação de uso geral

Tipo

vCPU

Memória (GiB)

dms.t2.micro

1

1

dms.t2.small

1

2

dms.t2.medium

2

4

dms.t2.large

2

8

dms.t3.micro

2

1

dms.t3.small

2

2

dms.t3.medium

2

4

dms.t3.large

2

8

Tipos de instância de replicação otimizada para computação

Tipo

vCPU

Memória (GiB)

dms.c4.large

2

3,75

dms.c4.xlarge

4

7,5

dms.c4.2xlarge

8

15

dms.c4.4xlarge

16

30

dms.c5.large

2

4

dms.c5.xlarge

4

8

dms.c5.2xlarge

8

16

dms.c5.4xlarge

16

32

dms.c5.9xlarge

36

72

dms.c5.12xlarge

48

96

dms.c5.18xlarge

72

144

dms.c5.24xlarge

96

192

dms.c6i.large

2

4

dms.c6i.xlarge

4

8

dms.c6i.2xlarge

8

16

dms.c6i.4xlarge

16

32

dms.c6i.8xlarge

32

64

dms.c6i.12xlarge

48

96

dms.c6i.16xlarge

64

128

dms.c6i.24xlarge

96

192

dms.c6i.32xlarge

128

256

Tipos de instância de replicação otimizada para memória

Tipo

vCPU

Memória (GiB)

dms.r4.large

2

15.25

dms.r4.xlarge

4

30.5

dms.r4.2xlarge

8

61

dms.r4.4xlarge

16

122

dms.r4.8xlarge

32

244

dms.r5.large

2

16

dms.r5.xlarge

4

32

dms.r5.2xlarge

8

64

dms.r5.4xlarge

16

128

dms.r5.8xlarge

32

256

dms.r5.12xlarge

48

384

dms.r5.16xlarge

64

512

dms.r5.24xlarge

96

768

dms.r6i.large

2

16

dms.r6i.xlarge

4

32

dms.r6i.2xlarge

8

64

dms.r6i.4xlarge

16

128

dms.r6i.8xlarge

32

256

dms.r6i.12xlarge

48

384

dms.r6i.16xlarge

64

512

dms.r6i.24xlarge

96

768

dms.r6i.32xlarge

128

1024

As tabelas acima listam todos os tipos de instância de replicação do AWS DMS, mas os tipos disponíveis na sua região podem variar. Para ver os tipos de instância de replicação disponíveis na sua região, execute o seguinte comando da AWS CLI:

aws dms describe-orderable-replication-instances --region your_region_name

Como decidir a classe de instância a ser usada

Para ajudar a determinar a classe de instância de replicação que funcionaria melhor para a sua migração, vamos analisar o processo da captura de dados de alteração (CDC) utilizado pelo AWS DMS.

Vamos supor que você esteja executando uma tarefa de carga completa mais CDC (carga em lote mais replicação contínua). Nesse caso, a tarefa tem seu próprio repositório SQLite para armazenar metadados e outras informações. Antes do AWS DMS iniciar uma carga máxima, ocorrem as seguintes etapas:

  • O AWS DMS começa a capturar alterações das tabelas que está migrando no log de transações do mecanismo de origem (chamadas de alterações armazenadas em cache). Assim que a carga máxima é concluída, essas alterações armazenadas em cache são coletadas e aplicadas no destino. Dependendo do volume de alterações em cache, essas alterações podem ser aplicadas diretamente da memória, onde são coletadas primeiro, até um limite definido. Como alternativa, elas podem ser aplicadas no disco, onde as alterações são gravadas quando não podem ser mantidas na memória.

  • Depois que as alterações armazenadas em cache são aplicadas, por padrão, o AWS DMS começa um processo de aplicação transacional na instância de destino.

Durante a fase de alterações aplicadas em cache e a fase de replicações contínuas, o AWS DMS utiliza dois buffers de fluxo, um para dados de entrada e outro para dados de saída. O AWS DMS também utiliza um componente importante chamado de classificador, que é outro buffer de memória. Veja a seguir duas utilizações importantes do componente classificador (que também possui outras):

  • Ele monitora todas as transações e garante que encaminha somente as transações relevantes ao buffer de saída.

  • Ele garante que as transações são encaminhadas na mesma ordem de confirmação como na origem.

Como é possível ver, temos três buffers de memória importantes nessa arquitetura para a CDC no AWS DMS. Se qualquer um desses buffers de memória apresentar pressão de memória, a migração pode ter problemas de desempenho que podem causar falhas.

Ao conectar workloads pesadas com um alto número de transações por segundo (TPS) nessa arquitetura, a memória adicional fornecida pelas instâncias R5 e R6i pode ser útil. Use instâncias R5 e R6i para manter o grande número de transações na memória e evitar problemas de pressão de memória durante as replicações contínuas.

Como trabalhar com o modo ilimitado de instâncias de desempenho expansível

Uma instância de desempenho expansível configurada como unlimited, como uma instância T3, pode sustentar alta utilização de CPU por qualquer período, sempre que necessário. O preço por hora da instância pode cobrir automaticamente todos os picos de uso da CPU. Isso ocorre se a utilização média de CPU da instância for igual ou menor que a linha de base durante um período contínuo de 24 horas ou durante a vida útil da instância, o que for menor.

Na grande maioria das workloads de uso geral, as instâncias configuradas como unlimited fornecem um desempenho suficiente sem cobranças adicionais. Se a instância funcionar com maior utilização de CPU por um período prolongado, ela poderá fazer isso por uma taxa adicional uniforme por hora de vCPU. Para obter informações sobre preços de instâncias T3, consulte “Créditos de CPU T3” no AWS Database Migration Service.

Para ter mais informações sobre o modo unlimited para instâncias T3, consulte Modo ilimitado de instâncias expansíveis no Guia do usuário do Amazon EC2.

Importante

Se você utilizar uma instância dms.t3.micro da oferta de nível gratuito da AWS e utilizá-la no modo unlimited, poderão ser aplicadas cobranças. Especificamente, as cobranças poderão ser aplicadas se a sua utilização média durante um período contínuo de 24 horas exceder a utilização de linha de base da instância. Para ter mais informações, consulte Utilização da linha de base no Guia do usuário do Amazon EC2.

As instâncias T3 são executadas como unlimited por padrão. Se a média de uso de CPU em um período de 24 horas exceder a linha de base, você incorrerá em cobranças por créditos excedentes. Em alguns casos, é possível executar instâncias spot T3 como unlimited e planejar utilizá-las imediatamente e por um curto período. Ao fazer isso sem tempo ocioso para acumular créditos de CPU, serão cobrados créditos excedentes. É recomendável iniciar as instâncias spot T3 no modo padrão para evitar custos mais altos. Para ter mais informações, consulte Os créditos excedentes podem gerar cobranças, Instâncias spot T3 e Modo padrão de instâncias expansíveis no Guia do usuário do Amazon EC2.