У меня есть шлюз API с лямбда-поддержкой, который я развернул в двух регионах. Эти два API полностью идентичны. У меня есть два разных URL-адреса, например
* .execute-api.us-east-1.amazonaws.com * .execute-api.eu-west-1.amazonaws.com
Моя идея заключалась в определении одних и тех же пользовательских доменов в двух регионах и использовании функции геолокации Route53, обслуживающей api из ближайшего к пользователю региона. Но после определения настраиваемого URL-адреса в одном регионе, когда я пытаюсь определить во втором регионе, я получаю сообщение об ошибке, в котором говорится, что этот домен уже определен в другом распределении облачного интерфейса.
Является ли это ошибкой или какой стратегии я могу следовать при развертывании API Gateway в нескольких регионах.
Спасибо.
К сожалению, это в настоящее время невозможно. Главный блокиратор - CloudFront. MikeD @ AWS предоставляет информацию на своих форумах:
Когда вы создаете собственное доменное имя, оно создает связанную раздачу CloudFront для доменного имени, а CloudFront обеспечивает глобальную уникальность доменного имени.
Если дистрибутив CloudFront с доменным именем уже существует, CreateCloudFrontDistribution завершится ошибкой, и API Gateway вернет ошибку, не сохраняя доменное имя или не позволяя вам определить связанный с ним API.
Таким образом, в настоящее время (29 июня 2016 г.) нет способа заставить API-шлюз в нескольких регионах обрабатывать одно и то же доменное имя.
У AWS нет обновлений о предоставлении необходимого с момента подтверждения существования открытого запроса функции 4 июля 2016 г. Тема AWS Form для получения обновлений
Способ, которым мы несколько решили эту проблему, состоит в том, чтобы фактически передвинуть ее с помощью облачного интерфейса. Затем в облачном интерфейсе вы добавляете обе конечные точки как исходные.
У меня есть пара идей.
CloudFront, как было сказано выше, с CloudFront нельзя балансировать нагрузкой. Так что ваши варианты, казалось бы,