Como migrar uma zona hospedada para uma conta da AWS diferente - Amazon Route 53

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á.

Como migrar uma zona hospedada para uma conta da AWS diferente

Se quiser migrar uma zona hospedada de uma conta da AWS para uma conta diferente, você pode listar de forma programada os registros da zona hospedada antiga, editar a saída e, em seguida, criar de forma programada registros em uma nova zona hospedada usando a saída editada. Observe o seguinte:

  • Se tiver apenas alguns registros, você também poderá usar o console do Route 53 para criar registros na nova zona hospedada. Para obter mais informações, consulte Criar registros usando o console do Amazon Route 53.

  • Alguns procedimentos usam a AWS Command Line Interface (AWS CLI). Você também pode executar esses procedimentos usando um dos SDKs da AWS, a API do Amazon Route 53 ou o AWS Tools for Windows PowerShell. Neste tópico usaremos a AWS CLI, que é o método mais fácil para uma pequena quantidade de zonas hospedadas.

  • Você também pode usar esse processo para criar registros em uma nova zona hospedada com um nome diferente dos nomes de zonas hospedadas existentes, mas que tenha os mesmos registros.

  • Não é possível migrar registros de alias que roteiam o tráfego para instâncias de política de tráfego.

Etapa 1: instalar ou atualizar a AWS CLI

Para obter informações sobre como baixar, instalar e configurar a AWS CLI, consulte Manual do usuário da AWS Command Line Interface.

nota

Configure a CLI de forma que você possa usá-la quando estiver usando tanto a conta que criou a zona hospedada quanto a conta para onde está migrando a zona hospedada. Para obter mais informações, consulte Configurar no Guia do usuário da AWS Command Line Interface.

Se já estiver usando a AWS CLI, recomendamos atualizar para a versão mais recente para que os comandos da CLI sejam compatíveis com os recursos mais recentes do Route 53.

Etapa 2: criar uma nova zona hospedada

O procedimento a seguir explica como usar o console do Route 53 para criar a zona hospedada para onde você quer migrar.

nota

O Route 53 atribui um novo conjunto de quatro servidores de nome à nova zona hospedada. Depois de migrar uma zona hospedada para outra conta da AWS, você precisa atualizar o registro do domínio para usar os servidores de nome da nova zona hospedada. Lembraremos você sobre esta etapa posteriormente no processo.

Para criar a nova zona hospedada usando uma conta diferente
  1. Faça login no AWS Management Console e abra o console do Route 53 em https://console.aws.amazon.com/route53/.

    Faça login com as credenciais da conta para a qual você deseja migrar a zona hospedada.

  2. Crie uma zona hospedada. Para obter mais informações, consulte Criar uma zona hospedada pública.

  3. Anote o ID da zona hospedada. Em alguns casos, você precisará dessa informação mais adiante no processo.

  4. Faça logout do console do Route 53.

Etapa 3: criar um arquivo que contém os registros que você deseja migrar

Para migrar registros de uma zona hospedada para outra, crie um arquivo contendo os registros que deseja migrar, edite o arquivo e, em seguida, use o arquivo editado para criar os registros na nova zona hospedada. Execute o procedimento a seguir para criar o arquivo.

Para criar um arquivo contendo os registros que você deseja migrar
  1. Faça login no AWS Management Console e abra o console do Route 53 em https://console.aws.amazon.com/route53/.

    Faça login com as credenciais da conta que criou a zona hospedada que você deseja migrar.

  2. Obtenha o ID da zona hospedada que você deseja migrar:

    1. No painel de navegação, escolha Zonas hospedadas.

    2. Localize a zona hospedada que você deseja migrar. Se você tiver muitas zonas hospedadas, você pode escolher Exact domain name (Nome de domínio exato) e inserir o nome da zona hospedada e pressionar Enter para filtrar a lista.

    3. Obtenha o valor da coluna Hosted zone ID (ID da zona hospedada).

  3. Execute o seguinte comando :

    aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id > path-to-output-file

    Observe o seguinte:

    • Para hosted-zone-id, especifique o ID da zona hospedada que você obteve na etapa 2 deste procedimento.

    • Para path-to-output-file, especifique o caminho do diretório e o nome do arquivo nos quais você deseja salvar a saída.

    • O caractere > envia a saída para o arquivo especificado.

    • A AWS CLI manipula automaticamente a paginação para zonas hospedadas que contêm mais de 100 registros. Para obter mais informações, consulte Como usar as opções de paginação da interface de linha de comando da AWS no Manual do usuário da AWS Command Line Interface.

      Se você usar um outro método programático para listar os registros, como um dos SDKs da AWS, você poderá obter um máximo de 100 registros com resultados por página. Se a zona hospedada contiver mais de 100 registros, você terá que enviar várias solicitações para listar todos os registros.

    • Para executar o comando em versões do Windows PowerShell anteriores à 6.0, use a seguinte sintaxe:

      aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id | Out-File path-to-output-file -Encoding utf8

    Por exemplo, se você estiver executando a AWS CLI em um computador com o Windows, poderá executar o seguinte comando:

    aws route53 list-resource-record-sets --hosted-zone-id ZOLDZONE12345 > c:\temp\list-records-ZOLDZONE12345.txt

    Se você estiver executando oAWS CLI em um computador Windows em uma versão do Windows PowerShell anterior à 6.0, você pode executar o seguinte comando:

    $output = aws route53 list-resource-record-sets --hosted-zone-id <hosted-zone-id>; $mypath = <output-path ; [System.IO.File]::WriteAllLines($mypath,$output)
  4. Faça uma cópia dessa saída. Depois de criar registros na nova zona hospedada, recomendamos que você execute o comando list-resource-record-sets da AWS CLI na nova zona hospedada e compare as duas saídas para garantir que todos os registros foram criados.

Etapa 4: editar os registros que você deseja migrar

O formato do arquivo que você criou no procedimento anterior é parecido com o formato exigido pelo comando change-resource-record-sets da AWS CLI usado para criar registros na nova zona hospedada. No entanto, o arquivo requer algumas edições. Você deverá aplicar algumas alterações em todos os registros. Você pode fazer essas alterações usando a função de pesquisa e substituição em um bom editor de texto.

Abra uma cópia do arquivo que você criou em Etapa 3: criar um arquivo que contém os registros que você deseja migrare faça as seguintes alterações:

  • Exclua as duas primeiras linhas na parte superior da saída:

    { "ResourceRecordSets": [
  • Exclua as linhas relacionadas aos registros de NS e de SOA. A nova zona hospedada já tem esses registros.

  • Opcional: adicione um elemento Comment.

  • Adicione um elemento Changes.

  • Para cada registro, adicione uma Action e um elemento ResourceRecordSet.

  • Adicione as chaves de abrir e fechar ( { } ), conforme necessário para tornar o código JSON válido.

    nota

    Você pode usar um validador JSON para verificar se todas as chaves e colchetes estão nos locais corretos. Para encontrar um validador JSON online, realize uma pesquisa na Internet com "json validator".

  • Se a zona hospedada contiver algum alias que faça referência a outros registros na mesma zona hospedada, faça as seguintes alterações:

    • Altere o ID da zona hospedada para o ID da nova zona hospedada.

      Importante

      Se o registro de alias estiver apontando para outro recurso, por exemplo, um balanceador de carga, atualize o ID da zona hospedada para o id da zona hospedada do próprio recurso, não o ID da zona hospedada do domínio. Esse ID de zona hospedada pode ser encontrado no console da AWS no qual o recurso foi criado.

    • Mova os registros de alias para a parte inferior do arquivo. O Route 53 deve criar o registro ao qual um registro de alias se refere antes de criar o registro de alias.

      Importante

      Se um ou mais registros de alias se referem a outros registros de alias, os registros que são o destino do alias devem aparecer no arquivo antes dos registros de alias que fazem a referência. Por exemplo, se alias.example.com for o destino de alias para alias.alias.example.com, alias.example.com deve aparecer primeiro no arquivo.

    • Exclua os registros de alias que roteiam o tráfego para uma instância de política de tráfego. Anote os registros para que você possa recriá-los posteriormente.

  • Você pode usar esse processo para criar registros em uma zona hospedada com um nome diferente. Para cada registro na saída, altere a parte do nome de domínio do elemento Name para o nome da nova zona hospedada. Por exemplo, se você lista os registros na zona hospedada example.com e deseja criar registros em uma zona hospedada example.net, altere a parte example.com do nome de cada registro para example.net:

    From:

    • "Name": "example.com."

    • "Name": "www.example.com."

    Para:

    • "Name": "example.net."

    • "Name": "www.example.net."

O exemplo a seguir mostra a versão editada dos registros de uma zona hospedada para example.com. O texto em itálico vermelho, é novo:

{ "Comment": "string", "Changes": [ { "Action": "CREATE", "ResourceRecordSet":{ "ResourceRecords": [ { "Value": "192.0.2.4" }, { "Value": "192.0.2.5" }, { "Value": "192.0.2.6" } ], "Type": "A", "Name": "route53documentation.com.", "TTL": 300 } }, { "Action": "CREATE", "ResourceRecordSet":{ "AliasTarget": { "HostedZoneId": "Z3BJ6K6RIION7M", "EvaluateTargetHealth": false, "DNSName": "s3-website-us-west-2.amazonaws.com." }, "Type": "A", "Name": "www.route53documentation.com." } } ] }

Etapa 5: dividir os arquivos grandes em arquivos menores

Se você tiver uma grande quantidade de registros ou se tiver registros que têm uma grande quantidade de valores (por exemplo, uma grande quantidade de endereços IP), pode ser necessário dividir o arquivo em arquivos menores. Estes são os máximos:

  • Cada arquivo pode ter um máximo de 1.000 registros.

  • O tamanho máximo combinado dos valores em todos os elementos Value é de 32.000 bytes.

Etapa 6: criar registros na nova zona hospedada

Para criar registros na nova zona hospedada, use o seguinte comando da AWS CLI:

aws route53 change-resource-record-sets --hosted-zone-id id-of-new-hosted-zone --change-batch file://path-to-file-that-contains-records

Por exemplo:

aws route53 change-resource-record-sets --hosted-zone-id ZNEWZONE1245 --change-batch file://c:/temp/change-records-ZNEWZONE1245.txt

Se você tiver excluído os registros de alias que encaminham o tráfego para uma instância de política de tráfego, recrie-os usando o console do Route 53. Para obter mais informações, consulte Criar registros usando o console do Amazon Route 53.

Etapa 7: comparar registros das zonas hospedadas nova e antiga

Para confirmar que você criou com êxito todos os registros na nova zona hospedada, recomendamos que você liste os registros na nova zona hospedada e compare a saída com a lista de registros da antiga zona hospedada. Para fazer isso, execute o procedimento a seguir.

Para comparar registros das zonas hospedadas nova e antiga
  1. Execute o seguinte comando :

    aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id --output json > path-to-output-file

    Especifique os seguintes valores:

    • Para hosted-zone-id, especifique o ID da nova zona hospedada.

    • Para path-to-output-file, especifique o caminho do diretório e o nome do arquivo nos quais você deseja salvar a saída. Use um nome de arquivo que seja diferente do nome do arquivo que você usou em Etapa 3: criar um arquivo que contém os registros que você deseja migrar. Ao usar um nome de arquivo diferente, você garante que o arquivo novo não substituirá o arquivo antigo.

    • O caractere > envia a saída para o arquivo especificado.

    Por exemplo, se você estiver usando um computador com o Windows, poderá executar o seguinte comando:

    aws route53 list-resource-record-sets --hosted-zone-id ZNEWZONE67890 --output json > c:\temp\list-records-ZNEWZONE67890.txt
  2. Compare a saída obtida com a saída de Etapa 3: criar um arquivo que contém os registros que você deseja migrar.

    A não ser pelos valores dos registros de NS e de SOA e por todas as alterações feitas em Etapa 4: editar os registros que você deseja migrar (como IDs de zona hospedada ou nomes de domínio diferentes), as duas saídas devem ser idênticas.

  3. Se os registros na nova zona hospedada não correspondem aos registros na antiga zona hospedada, você pode realizar uma das seguintes ações:

Etapa 8: atualizar o registro do domínio para usar servidores de nome para a nova zona hospedada

Ao concluir a criação de registros na nova zona hospedada, altere os servidores de nome do registro do domínio para usarem os servidores de nome da nova zona hospedada.

Importante

Se você não atualizar o registro do domínio para usar os servidores de nome da nova zona hospedada, o Route 53 continuará usando a zona hospedada antiga para encaminhar o tráfego para o domínio. Se você excluir a zona hospedada antiga sem atualizar os servidores de nome do registro do domínio, o domínio ficará indisponível na Internet. Se você adicionar, atualizar ou excluir registros na nova zona hospedada sem atualizar os servidores de nome do registro do domínio, o tráfego não será roteado com base nessas alterações.

Para obter mais informações, consulte Como transformar o Amazon Route 53 no serviço de DNS para um domínio existente.

nota

Se você usar o processo para migrar o serviço DNS para um domínio que está em uso ou o processo para um domínio inativo, poderá ignorar as etapas a seguir, pois já criou uma nova zona hospedada e os registros na zona hospedada:

  • Etapa 1: obter a configuração DNS atual do provedor de serviço de DNS atual

  • Etapa 2: criar uma zona hospedada

  • Etapa 3: criar registros

Etapa 9: aguardar os resolvedores DNS começarem a usar a nova zona hospedada

Se seu domínio estiver em uso, por exemplo, se os usuários estiverem usando o nome de domínio para navegar em um site ou acessar uma aplicação Web, os resolvedores DNS terão armazenado em cache os nomes dos servidores de nomes que foram fornecidos por seu provedor de serviço DNS atual. Um resolvedor DNS que armazenou essas informações em cache há alguns minutos irá salvá-los por até dois dias.

nota

Se você tiver criado registros na nova zona hospedada que não aparecem na zona hospedada antiga, os usuários não poderão usar os novos registros para acessar seus recursos até que os resolvedores comecem a usar os servidores de nome da nova zona hospedada. Por exemplo, suponha que você crie um registro, teste.exemplo.com, na nova zona hospedada que deve rotear o tráfego de Internet para seu site. Se o registro não aparecer na zona hospedada antiga, você não poderá inserir teste.exemplo.com em um navegador da Web até que os resolvedores comecem a usar a nova zona hospedada.

Para garantir que a migração de uma zona hospedada para outra conta da AWS foi concluída antes de excluir a zona hospedada antiga, aguarde dois dias depois de atualizar o registro do domínio para usar servidores de nome para a nova zona hospedada. Após o TTL de dois dias expirar e os resolvedores solicitarem os servidores de nome de seu domínio, os resolvedores obterão os servidores de nome atuais. Você também pode habilitar Log de consultas do Resolver para monitorar consultas nas novas zonas hospedadas. Para obter informações sobre preços para registro de consultas do Resolver Resolver, consulte CloudWatch Preço.

Etapa 10: (opcional) excluir a zona hospedada antiga

Opcionalmente, quando você estiver certo de que não precisa mais da zona hospedada antiga, poderá excluí-la.

Importante

Não exclua a zona hospedada antiga ou quaisquer registros nessa zona hospedada por pelo menos 48 horas depois de atualizar o registro do domínio para usar servidores de nome da nova zona hospedada. Se você excluir a zona hospedada antiga antes dos resolvedores DNS pararem de usar os registros nessa zona hospedada, seu domínio poderá estar indisponível na Internet até que os resolvedores comecem a usar a nova zona hospedada.

A zona hospedada deve estar vazia, com exceção dos registros de NS e SOA padrão. Se a antiga zona hospedada contém uma grande quantidade de registros, excluí-los usando o console pode levar muito tempo. Uma opção é executar as etapas a seguir:

  1. Faça uma cópia do arquivo editado a partir de Etapa 4: editar os registros que você deseja migrar.

  2. Na cópia do arquivo, altere "Action": "CREATE" para "Action": "DELETE" em todos os registros.

  3. Use o seguinte comando da AWS CLI para excluir os registros:

    aws route53 change-resource-record-sets --hosted-zone-id id-of-old-hosted-zone --change-batch file:///path-to-file-that-contains-records
    Importante

    Certifique-se de que o valor especificado para o ID da zona hospedada é o ID da zona hospedada antiga, e não o ID da zona hospedada nova.

  4. Exclua todos os demais registros e a zona hospedada:

    1. Faça login no AWS Management Console e abra o console do Route 53 em https://console.aws.amazon.com/route53/.

      Faça login com as credenciais da conta que criou a zona hospedada antiga.

    2. No painel de navegação, escolha Zonas hospedadas.

    3. Escolha o nome da zona hospedada antiga. Se você tiver muitas zonas hospedadas, você pode escolher Exact domain name (Nome de domínio exato) e inserir o nome da zona hospedada e pressionar Enter para filtrar a lista.

    4. Se a zona hospedada contiver algum registro que não seja um registro padrão de NS e SOA (como registros de alias que encaminham o tráfego para uma instância de política de tráfego), marque as caixas de seleção correspondentes e escolha Delete (Excluir).

    5. No painel de navegação, escolha Zonas hospedadas.

    6. Na lista de zonas hospedadas, escolha o botão de opção da zona hospedada que você deseja excluir.

    7. Escolha Delete (Excluir).