必要なもの
EC2 を使って立てたインスタンス、またそのサーバーで作成したドメイン .tk だったりフリーのドメインでもいいと思います。
環境
OS Amazon linux 2 使用言語 bash
スクリプト
vim registry_dns.sh
#!/bin/bash SCRIPT_DIR=$(cd $(dirname $0); pwd) DOMAIN_NAME="$1" ZONE_ID=`aws route53 list-hosted-zones --output json | jq -c -r '.HostedZones[].Id' | sed 's/\/hostedzone\///'` INSTANCE_NAME="$2" PUBLIC_IP=`aws ec2 describe-instances ---profile develop --output json --filter "Name=tag:Name,Values=$INSTANCE_NAME" "Name=instance-state-name,Values=running" | jq ".Reservations[].Instances[].PublicIpAddress" | tr -d "\""` cat << EOT > $SCRIPT_DIR/$DOMAIN_NAME\.json { "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "$DOMAIN_NAME", "Type": "A", "TTL": 300, "ResourceRecords": [ { "Value": "$PUBLIC_IP" } ] } } ] } EOT aws route53 change-resource-record-sets --hosted-zone-id $ZONE_ID --change-batch file://$SCRIPT_DIR/$DOMAIN_NAME\.json rm -f $SCRIPT_DIR/$DOMAIN_NAME\.json
実行例 (第一引数に ドメイン名 第二引数に インスタンス名を指定してください。)
./registry_dns.sh hogehoge.com this_is_instance_name