Я пытаюсь осуществить плавный переход с Heroku на AWS. В настоящее время DNS обрабатывается Route53 с записью CNAME, отправляющей трафик на поддомен SSL heroku. Мне нужно изменить это на запись A Alias, указывающую на новый Elastic Load Balancer без прерывания обслуживания.
Если бы исходная запись была записью A, то это было бы просто вопросом создания записи псевдонима A, а затем удаления оригинала, чтобы всегда была активная запись A для данного поддомена. Однако CNAME предотвращает создание любых других записей для того же субдомена со следующим сообщением:
<Error><Type>Sender</Type>
<Code>InvalidChangeBatch</Code>
<Message>RRSet of type A with DNS name www.example.com. is not permitted because a conflicting RRSet of type CNAME with the same DNS name already exists in zone example.com.</Message></Error>
Если я удалю запись CNAME перед созданием записи A, тогда появится окно, в течение которого истекшие TTL не смогут разрешить сайт. Как я могу избежать этого простоя?
Похоже, вы используете Вызов API ChangeResourceRecordSets. Просто отправьте оба изменения одновременно: CREATE для записи A и DELETE для записи CNAME.
Если это не сработает, кричите на Amazon, пока они не исправят это.