Exportar registros DNS de uma zona do Route 53 pode ser um desafio, especialmente se você precisar fazer isso manualmente. O AWS Route 53 não fornece uma funcionalidade nativa para exportar registros DNS em um formato legível. No entanto, com a combinação certa de ferramentas e scripts, podemos automatizar este processo. Este guia demonstra como usar um script em Python para exportar todos os registros DNS de uma zona do Route 53.

Requisitos

Passo a Passo

  1. Instalação das Dependências

    Primeiro, precisamos instalar a biblioteca boto3, que é o SDK da AWS para Python:

    pip install boto3
    
  2. Configuração do Script Python

    Crie um arquivo Python (por exemplo, export_route53_records.py) e adicione o seguinte conteúdo:

    import boto3
    
    def list_hosted_zones():
        client = boto3.client('route53')
        response = client.list_hosted_zones()
        return response['HostedZones']
    
    def list_record_sets(zone_id):
        client = boto3.client('route53')
        paginator = client.get_paginator('list_resource_record_sets')
        source_zone_records = []
        for page in paginator.paginate(HostedZoneId=zone_id):
            source_zone_records.extend(page['ResourceRecordSets'])
        return source_zone_records
    
    def main():
        zones = list_hosted_zones()
        for zone in zones:
            print(f"Zone: {zone['Name']} (ID: {zone['Id']})")
            records = list_record_sets(zone['Id'])
            for record in records:
                print(record)
    
    if __name__ == "__main__":
        main()
    
  3. Execução do Script

    Execute o script Python para exportar os registros:

    python export_route53_records.py
    

    O script irá listar todas as zonas hospedadas e seus respectivos registros DNS.

Detalhes do Script

Conclusão