Linux
如何從家裡的樹莓派伺服器自動更新 Route53?
家裡執行 Rasbian Jessie 8.0 的樹莓派正在執行 Apache。使用
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com
會生成一個 IPv4,用於更新 AWS 的 53 號路由中託管區域的記錄集中的值,在下圖中用紅色圈出。 測試域名成功。我現在想做的是每當我家的動態 IP 地址從樹莓派內部發生變化時更新 AWS Route53,而無需我的任何幫助。
如果您需要更多資訊,請告訴我。
如果您想堅持使用 AWS 工具,請按照以下步驟操作:
- 創建一個 AWS IAM 使用者,例如dns-updater並為其分配此 AWS 託管策略:AmazonRoute53FullAccess。為使用者生成密鑰和訪問密鑰。
- 安裝AWS-CLI(例如
pip install awscli
)- 配置AWS-CLI,輸入上述密鑰和訪問密鑰:
aws configure
從 RPi 上的 cron 作業執行執行以下操作的腳本:
- 獲取外部公網IP,例如
RPI_EXT_IP=$(curl http://ifconfig.co)
- 創建更新 JSON 文件:
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__
- 使用上述 JSON 文件呼叫AWS-CLI以更新 Route53 記錄,將**託管區域 id替換為您的 Route53 區域的真實 id:
~ $ aws route53 change-resource-record-sets \ --hosted-zone-id ZXCVBNMEXAMPLE \ --change-batch file:///tmp/r53-update.json
如果您需要任何說明,請告訴我們。
如果有幫助,請不要忘記接受答案:)