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á.
Migre DNS registros em massa para uma zona hospedada privada do Amazon Route 53
Criado por Ram Kandaswamy () AWS
Resumo
Engenheiros de rede e administradores de nuvem precisam de uma maneira eficiente e simples de adicionar registros do Sistema de Nomes de Domínio (DNS) às zonas hospedadas privadas no Amazon Route 53. Usar uma abordagem manual para copiar entradas de uma planilha do Microsoft Excel para locais apropriados no console do Route 53 é entediante e propenso a erros. Esse padrão descreve uma abordagem automatizada que reduz o tempo e o esforço necessários para adicionar vários registros. Ele também fornece um conjunto repetível de etapas para a criação de várias zonas hospedadas.
Esse padrão usa o Amazon Simple Storage Service (Amazon S3) para armazenar registros. Para trabalhar com dados de forma eficiente, o padrão usa o JSON formato devido à sua simplicidade e à capacidade de oferecer suporte a um dicionário Python (tipo de dict
dados).
nota
Se você puder gerar um arquivo de zona do seu sistema, considere usar o recurso de importação do Route 53 em vez disso.
Pré-requisitos e limitações
Pré-requisitos
Uma planilha do Excel que contém registros de zona hospedada privada
Familiaridade com diferentes tipos de DNS registros, como registro A, registro Name Authority Pointer (NAPTR) e SRV registro (consulte Tipos de DNS registro compatíveis)
Familiaridade com a linguagem Python e suas bibliotecas
Limitações
O padrão não oferece cobertura abrangente para todos os cenários de casos de uso. Por exemplo, a chamada change_resource_record_sets
não usa todas as propriedades disponíveis do. API Na planilha do Excel, o valor em cada linha é considerado exclusivo. Espera-se que vários valores para cada nome de domínio totalmente qualificado (FQDN) apareçam na mesma linha. Se isso não for verdade, você deve modificar o código fornecido nesse padrão para realizar a concatenação necessária.
O padrão usa o AWS SDK for Python (Boto3) para chamar diretamente o serviço Route 53. Você pode aprimorar o código para usar um AWS CloudFormation wrapper para os
update_stack
comandoscreate_stack
e e usar JSON os valores para preencher os recursos do modelo.
Arquitetura
Pilha de tecnologia
Zonas hospedadas privadas do Route 53 para roteamento de tráfego
Amazon S3 para armazenar o arquivo de saída JSON

O fluxo de trabalho consiste nessas etapas, conforme ilustrado no diagrama anterior e discutido na seção Épicos:
Faça upload de uma planilha do Excel que tenha as informações do conjunto de registros em um bucket do S3.
Crie e execute um script Python que converta os dados do Excel em formato. JSON
Leia os registros do bucket do S3 e limpe os dados.
Crie conjuntos de registros em sua zona hospedada privada.
Ferramentas
Route 53 — O Amazon Route 53 é um serviço DNS web altamente disponível e escalável que lida com registro de domínio, DNS roteamento e verificação de saúde.
Amazon S3: o Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos. Você pode utilizar o Amazon S3 para armazenar e recuperar qualquer volume de dados, a qualquer momento, de qualquer lugar na web.
Épicos
Tarefa | Descrição | Habilidades necessárias | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Crie um arquivo Excel para seus registros. | Use os registros que você exportou do seu sistema atual para criar uma planilha do Excel que tenha as colunas necessárias para um registro, como nome de domínio totalmente qualificado (FQDN), tipo de registro, Tempo de vida (TTL) e valor. Para SRV registros NAPTR e, o valor é uma combinação de várias propriedades, portanto, use o
| Engenheiro de dados, habilidades em Excel | ||||||||
Verifique o ambiente de trabalho. | No seuIDE, crie um arquivo Python para converter a planilha de entrada do Excel em formato. JSON (Em vez de umIDE, você também pode usar um SageMaker notebook da Amazon para trabalhar com código Python.) Verifique se a versão do Python que você está usando é a versão 3.7 ou superior.
Instale o pacote do pandas.
| Geral AWS | ||||||||
Converta os dados da planilha do Excel emJSON. | Crie um arquivo Python que contenha o código a seguir para converter do Excel para o. JSON
onde | Engenheiro de dados, habilidades em Python | ||||||||
Faça upload do arquivo JSON em um bucket do S3. | Faça upload do arquivo | Desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma zona hospedada privada. | Use o create_hosted_zone
Você também pode usar uma ferramenta de infraestrutura como código (IaC) AWS CloudFormation para substituir essas etapas por um modelo que cria uma pilha com os recursos e propriedades apropriados. | Arquiteto de nuvem, administrador de rede, habilidades em Python |
Recupere detalhes como um dicionário do Amazon S3. | Use o código a seguir para ler do bucket do S3 e obter os JSON valores como um dicionário Python.
onde | Desenvolvedor de aplicativos, habilidades em Python |
Limpe os valores de dados para espaços e caracteres Unicode. | Como medida de segurança para garantir a exatidão dos dados, use o código a seguir para realizar uma operação de separação dos valores em
| Desenvolvedor de aplicativos, habilidades em Python |
Inserir registros. | Use o código a seguir como parte do loop
Onde | Desenvolvedor de aplicativos, habilidades em Python |
Recursos relacionados
Referências
Criação de registros importando um arquivo de zona (documentação do Amazon Route 53)
método create_hosted_zone
(documentação do Boto3)
Tutoriais e vídeos
Tutorial do Python
(documentação do Python) DNSdesign usando o Amazon Route 53
(YouTube vídeo, palestras técnicas AWS on-line)