Я просто пытаюсь настроить собственный домен в API Gateway. У меня есть сертификат ACM «* .mysite.com.au», который в настоящее время используется для обслуживания статического веб-сайта S3 через CloudFront на «beta.mysite.com.au». Я хочу создать собственный домен для api.mysite.com.au с этим сертификатом.
Однако в консоли AWS API Gateway появляется следующая ошибка:
Указанное вами доменное имя уже связано с существующей раздачей CloudFront. Удалите доменное имя из существующей раздачи CloudFront или используйте другое доменное имя. Если вы являетесь владельцем этого доменного имени и не используете его в существующей раздаче CloudFront, обратитесь в службу поддержки.
В настоящее время я не использую api.mysite.com.au в раздаче CloudFront. Так что я заблудился. Кто-нибудь сталкивался с этой проблемой раньше? И если да, то как я могу решить эту проблему?
Заранее спасибо,
Напряженный
Есть три, может быть, четыре возможности:
вы фактически настроили этот домен как альтернативное доменное имя в CloudFront - в этой учетной записи AWS или в другой учетной записи, и вы забыли об этом, или
кто-то другой случайно или намеренно настроил этот домен в раздаче CloudFront, или
вы уже настроили это в API Gateway, но в другом регионе AWS, или
это ошибка интеграции между API Gateway и CloudFront.
Для устранения неполадок:
Зайдите в CloudFront и создайте новую раздачу.
Попробуйте установить это имя хоста как альтернативное доменное имя.
Если это сработает, то это похоже на ошибку в интеграции API Gateway / CloudFront. Удалите имя хоста из альтернативных доменных имен для этого нового распределения, подождите несколько минут, чтобы распределение вернулось к Deployed
status, затем повторите попытку в API Gateway. (Позже удалите раздачу - это не нужно).
Но я собираюсь предположить, что это не сработает. Вы должны получить сообщение об ошибке от CloudFront, CNAMEAlreadyExists
. (На самом деле это не CNAME, но, к сожалению, они так его назвали.)
Так, следовать официальному процессу чтобы подтвердить право собственности и контроль над вашим доменным именем и связать его с новым распределением CloudFront.
Этот процесс должен освободить это имя хоста от того, какой дистрибутив CloudFront требует его.
После этого удалите это имя хоста из настройки альтернативных доменных имен нового дистрибутива, сохраните изменения, подождите, пока оно вернется в Deployed
состояние, вернитесь в API Gateway и повторите попытку. (Позже удалите неиспользуемый дистрибутив.)
Проблема здесь в том, что, как и в пространстве имен корзины S3, интерфейс CloudFront Host:
пространство имен заголовка является глобальным. Имя хоста не может быть связано более чем с одним распределением CloudFront, включая "скрытые" распределения, которые использует API Gateway. Ошибка означает, что тот, который вы пытаетесь использовать, по какой-то причине уже есть.
Это не должно быть связано с подстановочным знаком, который может быть у вас от ACM.