Назначенные имена хостов dyyyexample.cloudfront.net
и dzzzexample.cloudfront.net
, которые направляют трафик в ваши дистрибутивы CloudFront, идут в одно и то же место. CloudFront не может видеть записи вашего псевдонима DNS, поэтому он не знает, за каким псевдонимом следовал.
Вместо этого он смотрит на SNI TLS и заголовок HTTP Host
, который отправляет браузер. Он использует эту информацию для сопоставления с альтернативным доменным именем для вашего распределения - без изменения DNS.
Имя хоста вашего сайта, example.com
, настроено как альтернативное доменное имя только в одном из ваших дистрибутивов, потому что CloudFront не позволяет вам предоставлять одно и то же значение более чем в одном дистрибутиве.
Если вы поменяете местами запись альтернативного доменного имени на другой дистрибутив, весь трафик перейдет в другой дистрибутив.
Короче говоря, CloudFront напрямую и изначально не поддерживает Blue / Green или Canary.
Обходной путь - использовать триггер Lambda @ Edge и файл cookie для привязки каждого средства просмотра к тому или иному источнику. Триггер запроса источника Lambda @ Edge позволяет изменять источник во время выполнения запроса.
Существует A / B пример тестирования в документации, но этот пример меняет путь. См. Примеры динамического выбора исходной точки, чтобы узнать, как поменять исходную точку. Сочетание логики этих двух позволяет проводить A / B-тестирование в двух бакетах (или любых двух альтернативных серверных частях).
person
Michael - sqlbot
schedule
20.12.2018