Использует ли сопоставление базового пути в API в шлюзе API «скрытое» распределение облачного интерфейса?
У меня есть API на API Gateway с сопоставлением базовых путей в домене. Однако это не проходит через облачный интерфейс - и, следовательно, нет https, только http.
Когда я пытаюсь создать облачный дистрибутив для того же домена, он говорит что-то вроде того, что «CNAME уже используется», и не могу создать для него облачный дистрибутив, даже если у меня нет связанных распределений облачного интерфейса с доменом, и ничего на route53 для него тоже.
Если сопоставление базовых путей в API Gateway создает «скрытое» распределение облачного интерфейса, которое я не вижу на странице консоли распределения CloudFront, тогда это имеет смысл. Я могу связать только одно распределение с одним CNAME за раз.
Но это делает сопоставления базовых путей в API Gateway довольно бесполезными - они не позволяют мне распространять через облачный интерфейс и, следовательно, не могут использовать https для защиты личного домена. Кажется, что намного проще создать источник для облачного интерфейса (один для API), а затем назначить его таким образом.
Но хотел подтвердить, действительно ли это так - сопоставления базовых путей в API в API Gateway создают «скрытый» облачный дистрибутив и блокируют ли домен CNAME от использования другим облачным дистрибутивом.
Я много узнал об этом, подумал, что будет полезно поделиться.
API Gateway позволяет создать дистрибутив, оптимизированный для периферии, который даже позволит вам использовать сертификат ACM для его реализации. После того, как вы привяжете CNAME к оптимизированному на границе домену, для него невозможно создать облачное распределение - он вам не понадобится, поскольку ваш APi уже находится в CloudFront.
Я предпочитаю вообще не использовать сопоставление базового пути. Но используйте API в качестве источника для вашего дистрибутива Cloudfront, а затем используйте поведение (например, / api / v1 / *) для перенаправления трафика из вашего дистрибутива в API.
очень важное замечание : если ваше поведение настроено на /api/v1
убедитесь, что ресурсы вашего шлюза API также начинаются с /api/v1
в противном случае вы получите ужасную ошибку об отсутствии токена аутентификации, наиболее загадочное и разочаровывающее сообщение об ошибке, известное человеку.
Этот отдельный дистрибутив CloudFront позволяет вам затем изменять другое поведение (например, статические сайты и файлы) обычными средствами. Метод сопоставления BasePath хорош только в том случае, если ваш API находится в собственном домене (например, api.example.com), и намного проще управлять версиями / этапами api через консоль для этого варианта использования, если вы используете сопоставление базового пути.
Полное развертывание CloudFront занимает около 40 минут, что обычно является проблемой ты знаешь где. Нет идеального варианта, но хорошо разбираться в тонкостях.