Поиск по сайту:

Как настроить собственный домен для шлюза API AWS


Шлюз API AWS отлично подходит в качестве внешнего интерфейса для функций Lambda и других сервисов AWS. Однако конечной точкой по умолчанию является поддомен amazonaws.com, что неудобно для пользователя. Мы покажем вам, как исправить и настроить личный домен.

Запрос сертификата от ACM и Link API Gateway

Вам потребуется право собственности на доменное имя, которое вы хотите использовать для API. Вероятно, вы захотите поместить это в поддомен, например api.example.com. Для этого вам нужно сделать две вещи: запросить SSL-сертификат у AWS Certificate Manager (ACM) для защиты запросов к API и обновить конфигурацию DNS, чтобы она указывала на API Gateway.

Войдите в систему и перейдите в консоль ACM. Отсюда выберите «Запросить сертификат» и укажите «Общий» в качестве типа.

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

У вас есть два варианта проверки. Первый потребует от вас обновить конфигурацию DNS с помощью записи CNAME. Второй отправит электронное письмо с подтверждением на адрес электронной почты, указанный в контакте для домена. Это не сработает, если ваша электронная почта не видна на who.is, что произойдет, если у вас есть защита WhoisGuard.

Конфигурация DNS довольно проста, поэтому мы пойдем с ней. Следующий экран покажет вам имя и значение записи, которую вам нужно написать. Если вы используете Route 53, собственный регистратор доменов Amazon и службу DNS, этот процесс выполняется автоматически, и вы можете просто нажать «Создать запись в Route 53», чтобы сделать это за вас.

Распространение изменений может занять несколько минут, если вы используете стороннего регистратора. После проверки статус вашего сертификата должен измениться на «Выдан», и он будет готов для ссылки на шлюз API.

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

Нажмите «Создать», и новый домен должен появиться в списке. Нажмите «Изменить», чтобы добавить сопоставление пути. Это свяжет определенный поддомен (например, api.example.com/v1/) с выбранным вами API и этапом.

Вероятно, было бы неплохо создать разные пути для разных этапов API, например путь разработки для этапа $default и рабочий путь для этапа взаимодействия с пользователем.

После создания скопируйте значение «Имя целевого домена». Это то, что вам нужно для обновления конфигурации DNS (а не самой конечной точки API).

Связывание вашего DNS со шлюзом API

На этом этапе вы заметите, что если вы перейдете по URL-адресу в своем браузере, ничего не произойдет. Шлюз API настроен на безопасное использование вашего домена, но не получает никакого трафика, потому что DNS никуда не указывает.

Для стороннего DNS вам придется использовать запись CNAME. Это сопоставляет доменное имя с другим доменным именем, но требует дополнительного поиска DNS. Вставьте значение «Имя целевого домена» для пользовательского домена, который вы настроили в API Gateway.

api.example.com CNAME api-id.execute-api.region.amazonaws.com/stage

Если вы используете Route 53, конфигурация проще. Вы можете добиться того же эффекта за один поиск, используя запись A, установленную в режим «Псевдоним», специальный тип записи, который позволяет напрямую сопоставить запись с именем ресурса AWS. Просто выберите API из выпадающего списка и нажмите «Создать».

Изменения вступят в силу через некоторое время, но теперь ваш API должен быть доступен с вашего доменного имени. Если это не работает, дважды проверьте, чтобы убедиться, что вы подключаетесь через HTTPS, так как он не будет принимать незащищенные подключения.