AWS Route 53에서 호스팅 영역을 내보내는 방법은 무엇입니까?


18

도메인 설정 백업을 내보내는 옵션이 없습니다.

어쩌면 나는 공개 DNS의 결과를 발굴로 저장해야하지만 친구가 더 나은 방법을 알고 있는지 의심 할 것입니다.

답변:


27

예, 더 친숙 할 수 있습니다. https://github.com/barnybug/cli53 cli53 도구를 사용하는 것이 좋습니다.

설정 후 시도해보십시오.

cli53 수출 --full sciworth.com

그리고 내보내기 영역을 바인드 형식으로 가져옵니다.


6

추가 소프트웨어 설치가 필요 없습니다. awscli 만 필요합니다.

방금 쓴 내용은 다음과 같습니다. 간단하고 매력처럼 작동합니다.

#!/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!"

2

바인드 형식으로 내보내려면이 스크립트를 사용할 수 있습니다.

#!/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"'

0

AWS Route 53에서 호스팅 영역을 내보내려면 다음 단계를 따르십시오 (example.com 호스팅 영역을 사용한다고 가정하십시오).

1 단계 : 설치 – pip install route53-transfer

2 단계 : 영역을 CSV 파일로 백업 :

route53-transfer dump example.com backup.csv

파일 대신 STDOUT을 사용하십시오.

route53-transfer dump example.com –

3 단계 : 영역을 복원합니다.

route53-transfer load example.com backup.csv

사용 -STDIN에서 부하로 대신

계정 간 마이그레이션 :

액세스 및 비밀 키를 재정의하려면 명령 줄 스위치를 사용하십시오.

route53-transfer --access-key-id=ACCOUNT1 --secret-key=SECRET dump example.com
route53-transfer --access-key-id=ACCOUNT2 --secret-key=SECRET load example.com

개인 영역으로 작업하는 경우 –private개인 도메인을 구별 하는 데 사용하십시오 .

route53-transfer --private dump example.com example-private.csv
route53-transfer dump example.com example-public.csv

-1

Cloudflare.com에 가입하고 무료 웹 사이트를 추가 할 수 있습니다.

Cloudflare는 온 보딩의 일부로 DNS를 스캔합니다.

DNS 레코드 아래의 "고급"에서 가져온 후 (또는 그 동안) DNS 파일 내보내기 버튼이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.