Изменение DNS через AWS CLI
Конфиг файл ~/.aws/credentials должен быть корректно настроен
Получение данных DNS записей
Получаем список всех DNS зон
aws route53 list-hosted-zones-by-name
Получаем список всех DNS записей
aws route53 list-resource-record-sets --hosted-zone-id ZCOKAAJ9UMS0T | jq '.ResourceRecordSets[] | .Name'
Получаем детали нужной DNS записи
aws route53 list-resource-record-sets --hosted-zone-id ZCOKAAJ9UMS0T | jq '.ResourceRecordSets[] | select (.Name == "xeonmp22.devops.rebrain.srwx.net.")'
{
"Name": "xeonmp22.devops.rebrain.srwx.net.",
"Type": "A",
"TTL": 200,
"ResourceRecords": [
{
"Value": "95.217.219.153"
}
]
}
Удаление DNS записи
Создаём JSON файл, используемый для удаления DNS записи
vimsudo tee delete.json << 'EOF'
{
"Comment": "delete this record",
"Changes": [
{
"Action": "DELETE",
"ResourceRecordSet": {
"Name": "xeonmp22.devops.rebrain.srwx.net.",
"Type": "A",
"TTL": 200,
"ResourceRecords": [
{
"Value": "95.217.219.153"
}
]
}
}
]
}
EOF
В файлах все значения записей должны строго совпадать ("TTL": 200) и т.п.
Применение удаления DNS записи
aws --region us-east-2 route53 change-resource-record-sets --hosted-zone-id=ZCOKAAJ9UMS0T --change-batch file://delete.json
Изменение DNS записи
Создаём JSON файл, используемый для изменения DNS записи
vimsudo tee update.json << 'EOF'
{
"Comment": "update this record",
"Changes": [
{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "xeonmp22.devops.rebrain.srwx.net.",
"Type": "A",
"TTL": 400,
"ResourceRecords": [
{
"Value": "158.160.49.98"
}
]
}
}
]
}
EOF
В файлах все значения записей должны строго совпадать ("TTL": 400) и т.п.
Применение изменения в DNS записи
aws --region us-east-2 route53 change-resource-record-sets --hosted-zone-id=ZCOKAAJ9UMS0T --change-batch file://update.json