Se você quiser ficar com as ferramentas da AWS, siga estas etapas:
-
Crie um usuário do AWS IAM, por exemplo dns-updater e atribuir a ela essa política gerenciada da AWS: AmazonRoute53FullAccess . Gere segredo e acesso chaves para o usuário.
-
Instale o AWS-CLI (por exemplo,
pip install awscli
) -
Configure o AWS-CLI , insira as chaves secretas e de acesso acima:
aws configure
De um cron job no RPi, execute um script que faça o seguinte:
-
Obtenha o IP público externo, por ex.
RPI_EXT_IP=$(curl http://ifconfig.co)
-
Crie um arquivo JSON de atualização:
cat > /tmp/r53-update.json << __EOF__ { "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "rpi.your-route53-domain.com", "Type": "A", "TTL": 600, "ResourceRecords": [ { "Value": "${RPI_EXT_IP}" } ] } } ] } __EOF__
-
Chame o AWS-CLI para atualizar o registro Route53 usando o arquivo JSON acima, substitua o ID da zona hospedada por um ID real da sua zona Route53:
~ $ aws route53 change-resource-record-sets \ --hosted-zone-id ZXCVBNMEXAMPLE \ --change-batch file:///tmp/r53-update.json
Deixe-nos saber se você precisar de algum esclarecimento.
Não se esqueça de aceitar a resposta se isso ajudar:)