Понимание проверки работоспособности и мультирегиональной реализации API Gateway - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь реализовать проверку работоспособности нескольких шлюзов API, развернутых в нескольких регионах.Для этого я следую этой статье .

Короче говоря, вам необходимо реплицировать одни и те же шлюзы API (и соответствующие им функции Lambda) во всех регионах.Используйте Route53 для создания одного доменного имени, поддерживаемого несколькими конечными точками.

Мой вопрос связан со способом настройки Route53.В этой статье конечные точки проверки работоспособности заполняются с помощью API Gateway ' URL-адреса этапа запуска .В то время как конечные точки региона заполняются именем целевого домена из имени пользовательского домена API-шлюза.

Почему эти две конечные точки заполняются разными значениями?Если мы можем использовать Stage Invoke URL в проверке работоспособности, зачем нам сначала нужно иметь Пользовательское доменное имя ?Почему мы не можем просто использовать один и тот же Stage Invoke URL для заполнения конечных точек региона?

1 Ответ

0 голосов
/ 07 июня 2018

Если мы можем использовать URL-адрес Stage Invoke при проверке работоспособности, зачем нам сначала иметь собственное доменное имя?

URL этапа уникален для каждого региона.Если вы проверили работоспособность пользовательского домена, вы бы неявно проверили регион, который (а) был ближайшим к отдельному контролеру работоспособности и (б) уже считался здоровым, что было бы бесполезно в качестве цели проверки работоспособности.

С другой стороны, если вы не создадите настраиваемый домен, который одинаков для каждого региона, у вас не будет общего доменного имени для доступа ваших клиентов.Вы не можете просто указать произвольное имя хоста на конечной точке API-шлюза и заставить его работать - API-шлюзу нужно ожидать трафика для этого имени хоста, что вы и делаете при развертывании с пользовательским доменом.

Может возникнуть вопрос: зачем вам целевое доменное имя?Почему бы не использовать его для проверки здоровья?Целевое доменное имя, как следует из его имени, является только target доменным именем, используемым только DNS для маршрутизации.Он не должен принимать запросы, отправленные непосредственно ему, которые не используют собственный домен для SSL и в заголовке HTTP Host.

...