Назад | Перейти на главную страницу

Избегайте простоев при переключении CNAME с помощью AWS Route53

Я пытаюсь осуществить плавный переход с 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, пока они не исправят это.