Saltar al contenido

¿Cómo exportar una zona alojada en AWS Route 53?

Recabamos por todo el mundo on line y de este modo brindarte la solución para tu dilema, si continúas con dudas puedes dejar la inquietud y contestaremos porque estamos para ayudarte.

Solución:

Solución 1:

Sí, puede ser una forma más amigable. Sugiero usar la herramienta cli53, https://github.com/barnybug/cli53

Después de configurarlo, intente

exportación cli53 –sciworth completo.com

Y obtienes la zona de exportación en formato de enlace.

Solución 2:

Sin necesidad de instalaciones de software adicionales. Solo necesita awscli.

Esto es lo que acabo de escribir. Es simple y funciona como el encanto.

#!/bin/bash -e
#
#  Author: Peycho Dimitrov
#
#  DESCRIPTION
#
#  Create full backup of all hosted Route53 zones / domains in your account.
#
#  REQUIREMENTS
#
#  Available s3 bucket (where your json files will be saved)
#  awscli (with cofigured credentials or IAM role)
#  gzip
#  awk
#
####################################

#  CONFIGURATION

region="us-east-1" # Your aws region
b_route53_tmp="/tmp/r53_backup" # Your temp directory
b_route53_bucket="s3://my-backups/route53" # Your backup folder in s3.

# END OF CONFIGURATION

# Do not edit here if you don't know what your're doing! #

mkdir -p $b_route53_tmp
echo "$(date) Backup all Route53 zones and resource records."
p_aws="$(which aws) --region $region"
r53_zones=$($p_aws route53 list-hosted-zones --query '[HostedZones[*].[Id, Name]]' --output text | awk -F'/' 'print $3')
if [ ! -z "$r53_zones" ]; then
        while read route; do
                zone=$(echo "$route" | awk 'print $1')
                domain=$(echo "$route" | awk 'print $2')
                echo "Processing $zone / $domain"
                $p_aws route53 list-resource-record-sets --hosted-zone-id "$zone" --output json > "$b_route53_tmp"/$(date +%Y%m%d%H%M%S)-"$zone"-"$domain"backup.json
        done <<<"$r53_zones"

        echo "Archive json files."
        gzip "$b_route53_tmp"/*backup.json
        echo "Backup $zone / $domain data to $b_route53_bucket/$(date +%Y)/$(date +%m)/$(date +%d)/"
        $p_aws s3 cp "$b_route53_tmp"/ $b_route53_bucket/$(date +%Y)/$(date +%m)/$(date +%d)/ --exclude "*" --include "*.gz" --recursive
fi

echo "$(date) Done!"

Solución 3:

Si desea exportar a formato de enlace, puede usar este script:

#!/bin/bash

zonename=$1
hostedzoneid=$(aws route53 list-hosted-zones | jq -r ".HostedZones[] | select(.Name == "$zonename.") | .Id" | cut -d'/' -f3)
aws route53 list-resource-record-sets --hosted-zone-id $hostedzoneid --output json | jq -jr '.ResourceRecordSets[] | "(.Name) t(.TTL) t(.Type) t(.ResourceRecords[].Value)n"'

Calificaciones y reseñas

Agradecemos que quieras añadir valor a nuestra información asistiendo con tu experiencia en las acotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *