카테고리 없음

Amazon Route 53에서 AWS CLI를 사용하여 백업

idea9329 2024. 9. 10. 13:35
반응형

Amazon Route 53에서 AWS CLI를 사용하여 백업을 수행하려면 Route 53 Hosted Zones  DNS 레코드를 백업할 수 있습니다. 이 과정은 해당 정보를 JSON 형식으로 저장하는 방식으로 이루어집니다.

AWS CLI로 Route 53 백업 수행 단계:

1. 호스티드 존 목록 가져오기

먼저, Route 53의 호스티드 존 목록을 가져옵니다.

aws route53 list-hosted-zones --output json > hosted-zones-backup.json

이 명령은 모든 호스티드 존의 정보를 hosted-zones-backup.json 파일에 백업합니다.

2. 각 호스티드 존의 레코드 세트 백업

호스티드 존에 포함된 DNS 레코드 세트도 백업해야 합니다. 먼저 list-hosted-zones 명령을 사용하여 호스티드 존 ID를 얻은 다음, 각 호스티드 존의 레코드를 백업할 수 있습니다.

예시 스크립트:

# Hosted zones 목록을 가져와서 JSON 파일로 저장
aws route53 list-hosted-zones --output json > hosted-zones-backup.json

# 각 Hosted Zone의 레코드 세트를 백업
for zone_id in $(aws route53 list-hosted-zones --query 'HostedZones[*].Id' --output text); do
    # Hosted zone의 DNS 레코드 세트 가져오기
    aws route53 list-resource-record-sets --hosted-zone-id $zone_id --output json > "record-sets-backup-${zone_id##*/}.json"
done

이 스크립트는 각 호스티드 존에 대해 레코드 세트를 가져와서 JSON 파일로 저장합니다. record-sets-backup-{zone_id}.json 파일에 각 호스티드 존의 레코드 세트가 백업됩니다.

3. 백업된 데이터를 복원하는 방법

나중에 백업된 데이터를 복원하려면, change-resource-record-sets 명령을 사용하여 DNS 레코드 세트를 다시 만들 수 있습니다.

예시 복원 명령:

aws route53 change-resource-record-sets --hosted-zone-id ZONE_ID --change-batch file://record-sets-backup-ZONE_ID.json

여기서 ZONE_ID는 백업된 호스티드 존 ID를 나타냅니다.

4. 추가적으로 S3에 백업 저장하기

백업된 파일을 AWS S3에 업로드하여 안전하게 보관할 수도 있습니다.

aws s3 cp hosted-zones-backup.json s3://your-backup-bucket/
aws s3 cp record-sets-backup-ZONE_ID.json s3://your-backup-bucket/

이 명령은 백업된 파일을 지정된 S3 버킷에 업로드합니다.

이 과정으로 AWS Route 53의 호스티드 존 및 DNS 레코드를 백업할 수 있습니다.

반응형