Usando o Redis OSS como alvo para AWS Database Migration Service - AWS Database Migration Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando o Redis OSS como alvo para AWS Database Migration Service

O Redis OSS é um armazenamento de estrutura de dados em memória de código aberto usado como banco de dados, cache e agente de mensagens. O gerenciamento de dados na memória pode resultar em operações de leitura ou gravação que demoram menos de um milissegundo e centenas de milhões de operações executadas a cada segundo. Como um armazenamento de dados na memória, o Redis OSS alimenta os aplicativos mais exigentes que exigem tempos de resposta inferiores a um milissegundo.

Usando AWS DMS, você pode migrar dados de qualquer banco de dados de origem compatível para um armazenamento de dados Redis de destino com o mínimo de OSS tempo de inatividade. Para obter informações adicionais sobre o Redis, OSS consulte a Documentação do Redis OSS.

Além do Redis localOSS, AWS Database Migration Service oferece suporte ao seguinte:

  • Amazon ElastiCache (RedisOSS) como armazenamento de dados de destino. ElastiCache (RedisOSS) trabalha com seus OSS clientes Redis e usa o formato de dados aberto do Redis para armazenar OSS seus dados.

  • Amazon MemoryDB como armazenamento de dados de destino. O MemoryDB é compatível com o Redis OSS e permite que você crie aplicativos usando todas as estruturas de OSS dados e comandos do Redis em uso atualmente. APIs

Para obter informações adicionais sobre como trabalhar com o Redis OSS como alvo AWS DMS, consulte as seções a seguir:

Pré-requisitos para usar um OSS cluster Redis como destino para AWS DMS

DMSoferece suporte a um OSS destino local do Redis em uma configuração independente ou como um OSS cluster do Redis em que os dados são automaticamente fragmentados em vários nós. A fragmentação é o processo de separar os dados em blocos menores, chamados de fragmentos, que são espalhados por vários servidores ou nós. Na verdade, um fragmento é uma partição de dados que contém um subconjunto do conjunto total de dados e serve como uma fatia da workload geral.

Como o Redis OSS é um valor-chave sem armazenamento de SQL dados, a convenção de nomenclatura de OSS chaves do Redis a ser usada quando sua fonte é um banco de dados relacional é schema-name.table-name.primary-key. No RedisOSS, a chave e o valor não devem conter o caractere especial%. Caso contrário, DMS pulará o registro.

nota

Se você estiver usando ElastiCache (RedisOSS) como destino, DMS suporta somente configurações habilitadas para o modo de cluster. Para obter mais informações sobre o uso do ElastiCache (RedisOSS) versão 6.x ou superior para criar um armazenamento de dados de destino habilitado para o modo de cluster, consulte Introdução no Guia do usuário do Amazon ElastiCache (RedisOSS).

Antes de começar a migração do banco de dados, inicie seu OSS cluster Redis com os seguintes critérios.

  • O cluster tem um ou mais fragmentos.

  • Se você estiver usando um destino ElastiCache (RedisOSS), certifique-se de que seu cluster não use controle de acesso IAM baseado em funções. Em vez disso, use o Redis OSS Auth para autenticar usuários.

  • Ative multi-AZ (zonas de disponibilidade).

  • Verifique se o cluster tem memória suficiente disponível para comportar os dados a serem migrados do banco de dados.

  • Certifique-se de que seu OSS cluster Redis de destino esteja livre de todos os dados antes de iniciar a tarefa de migração inicial.

Determine os requisitos de segurança da migração de dados antes de criar a configuração do cluster. DMSoferece suporte à migração para grupos de replicação de destino, independentemente de sua configuração de criptografia. Mas é possível ativar ou desativar a criptografia somente ao criar a configuração do cluster.

Limitações ao usar o Redis como alvo para AWS Database Migration Service

As seguintes limitações se aplicam ao usar o Redis OSS como destino:

  • Como o Redis OSS é um armazenamento de dados no-sql de valor-chave, a convenção de nomenclatura de OSS chaves do Redis a ser usada quando sua fonte é um banco de dados relacional é. schema-name.table-name.primary-key

  • No RedisOSS, o valor-chave não pode conter o caractere especial. % Caso contrário, DMS pulará o registro.

  • DMSnão migrará linhas que contenham o % caractere.

  • DMSnão migrará campos que contenham o % caractere no nome do campo.

  • O LOB modo completo não é suportado.

  • Não há suporte para uma Autoridade de Certificação (CA) privada ao usar ElastiCache (RedisOSS) como alvo.

Migração de dados de um banco de dados relacional ou não relacional para um destino do Redis OSS

Você pode migrar dados de qualquer fonte SQL ou Sem armazenamento de SQL dados diretamente para um destino do RedisOSS. Configurar e iniciar uma migração para um OSS destino do Redis é semelhante a qualquer migração completa de captura de dados de carga e alteração usando o DMS console ouAPI. Para realizar uma migração de banco de dados para um OSS destino do Redis, faça o seguinte.

  • Crie uma instância de replicação para executar todos os processos da migração. Para obter mais informações, consulte Criar uma instância de replicação.

  • Especifique um endpoint de origem. Para obter mais informações, consulte Criar endpoints de origem e de destino.

  • Localize o DNS nome e o número da porta do seu cluster.

  • Baixe um pacote de certificados que você pode usar para verificar SSL as conexões.

  • Especifique um endpoint de destino, conforme descrito abaixo.

  • Crie uma tarefa ou um conjunto de tarefas para definir as tabelas e os processos de replicação a serem utilizados. Para obter mais informações, consulte Criar uma tarefa.

  • Migre dados do banco de dados de origem para o cluster de destino.

Você inicia uma migração do banco de dados de uma duas maneiras:

  1. Você pode escolher o AWS DMS console e executar cada etapa lá.

  2. Você pode usar o AWS Command Line Interface (AWS CLI). Para obter mais informações sobre como usar o CLI with AWS DMS, consulte AWS CLI para AWS DMS.

Para localizar o DNS nome e o número da porta do seu cluster
  • Use o AWS CLI comando a seguir para replication-group-id fornecer o nome do seu grupo de replicação.

    aws elasticache describe-replication-groups --replication-group-id myreplgroup

    Aqui, a saída mostra o DNS nome no Address atributo e o número da porta no Port atributo do nó primário no cluster.

    ... "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup- 111.1abc1d.1111.uuu1.cache.example.com" } ...

    Se você estiver usando o MemoryDB como destino, use o AWS CLI comando a seguir para fornecer um endereço de endpoint ao seu cluster do Redis. OSS

    aws memorydb describe-clusters --clusterid clusterid
Baixe um pacote de certificados para uso na verificação de conexões SSL
  • Insira o comando wget na linha de comando. O Wget é uma ferramenta utilitária GNU de linha de comando gratuita usada para baixar arquivos da Internet.

    wget https://s3.aws-api-domain/rds-downloads/rds-combined-ca-bundle.pem

    Aqui, aws-api-domain preenche o domínio do Amazon S3 em AWS sua região necessário para acessar o bucket do S3 especificado e rds-combined-ca-bundle o arquivo.pem que ele fornece.

Para criar um endpoint de destino usando o console AWS DMS

Esse endpoint é para seu OSS destino do Redis que já está em execução.

  • No console, escolha Endpoints no painel de navegação e escolha Criar endpoint. A tabela a seguir descreve as configurações.

    Para esta opção Faça o seguinte

    Endpoint type

    Escolha o tipo de endpoint de Destino.

    Endpoint identifier

    Insira o nome do endpoint. Por exemplo, inclua o tipo de endpoint no nome, como my-redis-target.

    Mecanismo de destino

    Escolha Redis OSS como o tipo de mecanismo de banco de dados ao qual você deseja que esse endpoint conecte.

    Nome do cluster

    Insira o DNS nome do seu OSS cluster Redis.

    Porta

    Insira o número da porta do seu OSS cluster Redis.

    SSLprotocolo de segurança

    Escolha entre texto sem formatação ou SSLcriptografia.

    Texto sem formatação — Essa opção não fornece criptografia Transport Layer Security (TLS) para tráfego entre o endpoint e o banco de dados.

    SSLcriptografia — Se você escolher essa opção, insira um SSL certificado de Autoridade Certificadora (CA) ARN para verificar o certificado do servidor e fazer uma conexão criptografada.

    Para o Redis localOSS, DMS oferece suporte à Autoridade de Certificação (CA) pública e privada. Para ElastiCache (RedisOSS), DMS suporta somente uma CA pública.

    Tipo de autenticação

    Escolha o tipo de autenticação a ser executada ao se conectar ao RedisOSS. As opções incluem Nenhuma, Função de autenticação e Token de autenticação.

    Se você escolher Perfil de autenticação, forneça um Nome de usuário de autenticação e uma Senha de autenticação.

    Se você escolher o token de autenticação, forneça somente uma Senha de autenticação.

    Replication instance

    [Opcional] Somente se você quiser testar a conexão, escolha o nome da instância de replicação inserida anteriormente na página Criar instância de replicação.

Quando você terminar de fornecer todas as informações do seu endpoint, AWS DMS cria seu endpoint de OSS destino do Redis para uso durante a migração do banco de dados.

Para obter informações sobre como criar uma tarefa de migração e iniciar a migração do banco de dados, consulte Criar uma tarefa.

Especificando configurações de endpoint para o Redis OSS como destino

Para criar ou modificar um endpoint de destino, você pode usar o console ou as ModifyEndpoint API operações CreateEndpoint ou.

Para um OSS destino do Redis no AWS DMS console, especifique as configurações específicas do endpoint na página Criar endpoint ou Modificar o console do endpoint.

Ao usar CreateEndpoint e ModifyEndpoint API operar, especifique os parâmetros de solicitação para a RedisSettings opção. O exemplo a seguir mostra como fazer isso utilizando a AWS CLI.

aws dms create-endpoint --endpoint-identifier my-redis-target --endpoint-type target --engine-name redis --redis-settings '{"ServerName":"sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com","Port":6379,"AuthType":"auth-token", "SslSecurityProtocol":"ssl-encryption", "AuthPassword":"notanactualpassword"}' { "Endpoint": { "EndpointIdentifier": "my-redis-target", "EndpointType": "TARGET", "EngineName": "redis", "EngineDisplayName": "Redis", "TransferFiles": false, "ReceiveTransferredFiles": false, "Status": "active", "KmsKeyId": "arn:aws:kms:us-east-1:999999999999:key/x-b188188x", "EndpointArn": "arn:aws:dms:us-east-1:555555555555:endpoint:ABCDEFGHIJKLMONOPQRSTUVWXYZ", "SslMode": "none", "RedisSettings": { "ServerName": "sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com", "Port": 6379, "SslSecurityProtocol": "ssl-encryption", "AuthType": "auth-token" } } }

Os parâmetros --redis-settings são os seguintes:

  • ServerName— (Obrigatório) Do tipostring, especifica o OSS cluster Redis para o qual os dados serão migrados e está no mesmo. VPC

  • Port: (obrigatório) do tipo number, o valor da porta utilizada para acessar o endpoint.

  • SslSecurityProtocol: (opcional) os valores válidos incluem plaintext e ssl-encryption. O padrão é ssl-encryption.

    A plaintext opção não fornece criptografia Transport Layer Security (TLS) para tráfego entre o endpoint e o banco de dados.

    Use ssl-encryption para fazer uma conexão criptografada. ssl-encryptionnão exige uma Autoridade SSL Certificadora (CA) ARN para verificar o certificado de um servidor, mas uma pode ser identificada opcionalmente usando a SslCaCertificateArn configuração. Se uma autoridade de certificação ARN não for fornecida, DMS usa a CA raiz da Amazon.

    Ao usar um OSS destino local do Redis, você pode usar SslCaCertificateArn para importar uma Autoridade de Certificação (CA) pública ou privada e DMS fornecê-la ARN para a autenticação do servidor. Não há suporte para uma CA privada ao usar ElastiCache (RedisOSS) como destino.

  • AuthType— (Obrigatório) Indica o tipo de autenticação a ser realizada ao se conectar ao RedisOSS. Os valores válidos são none, auth-token e auth-role.

    A auth-token opção requer um”AuthPassword“ser fornecido, enquanto a auth-role opção exigir”AuthUserName" e "AuthPassword“seja fornecido.