Я пытаюсь написать скрипт, который позволил бы экземплярам обновлять набор записей в AWS каждый раз, когда запускается новый.Я следую этому руководству: https://aws.amazon.com/premiumsupport/knowledge-center/simple-resource-record-route53-cli/
Мой файл sample.json выглядит следующим образом:
{
"Comment": "CREATE/DELETE/UPSERT a record ",
"Changes": [{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "test.mydomain.com",
"Type": "A",
"TTL": 300,
"ResourceRecords": [{ "Value": "4.4.4.4"}]
}}]
}
Я хочу заменить 4.4.4.4
, но на частный IP-адрес экземпляра.Я попытался вставить туда $IP_ADDRESS
, но, очевидно, это не сработало.
Я также попытался ввести это вручную, выполнив следующее:
IP_ADDRESS=$(curl http://169.254.169.254/latest/meta-data/local-ipv4)
aws route53 change-resource-record-sets --hosted-zone-id HKJA837HJS --change-batch {"Comment": "UPSERT a record", "Changes": [{"Action": "UPSERT", "ResourceRecordSet":{"Name":"test.mydomain.com","Type":"A","TTL":300,"ResourceRecords":[{"Value":"$IP_ADDRESS"}]}}]}
Когда я делаю это, я продолжаю получатьследующая ошибка:
Unknown options: Changes:, [{Action:, UPSERT,, ResourceRecordSet:Name:test.mydomain.com}]}, ResourceRecordSet:Type:A}]}, ResourceRecordSet:TTL:300}]}, ResourceRecordSet:ResourceRecords:[{Value:}]}]}, UPSERT a record,
Я пытался переформатировать это много раз, но всегда что-то не так.Как я могу убедиться, что IP-адрес экземпляра вставляется в этот набор записей каждый раз, когда запускается новый экземпляр?