Change DNS [AWS CLI]
Получение данных 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 записи
sudo 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 записи
sudo 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