#amazon-web-services #aws-api-gateway #amazon-vpc
Вопрос:
у нас есть простая структура бессерверного приложения в AWS со шлюзом api лямбда, мы также привязываем пользовательское доменное имя к api, чтобы наш клиент мог использовать наш сервис, перейдя по этому URL-адресу из своего браузера. Поскольку приложение используется только внутри нашей компании, нам может потребоваться перенести api в VPC. Я прочитал кучу статей/руководств о том, как это сделать, в основном нам нужно будет создать конечную точку VPC и VPC и указать конечную точку VPC на частный шлюз api, чтобы api можно было вызывать в текущем VPC или по частным ссылкам с другого VPC. Но наша миссия заключается в том, что мы позволяем клиентам вводить URL-адрес в браузере и использовать наш сервис, как мы можем этого достичь, если у нас есть частный шлюз api? заранее спасибо
Комментарии:
1. Как все прошло? Все еще неясно, почему вы не можете делать то, что хотите, с помощью частного API?
Ответ №1:
Но наша миссия заключается в том, что мы позволяем клиентам вводить URL-адрес в браузере и использовать наш сервис, как мы можем этого достичь, если у нас есть частный шлюз api?
Ну, вы не можете сделать это напрямую. К частному API можно получить доступ только через частный IP-адрес того же или пирингового VPC/VPN/DX.
Если вы хотите сделать его доступным из Интернета, вам нужно либо сделать его общедоступным, либо использовать прокси-сервер через какой-либо общедоступный сервер. Вероятно, самым простым было бы настроить второй общедоступный шлюз API, который вызывает функцию лямбда. Эта функция будет вашим прокси-сервером. Так что вы бы:
Internet--->public API----> Lambda in VPC ----> private API
Это, очевидно, добавляет больше кода для обслуживания, задержки и затрат.
Комментарии:
1. извините за поздний ответ. похоже, что мы не можем использовать частный API GW так, как мы себе представляли, поэтому, возможно, мы предпочтем использовать Allegiance -> ALB ->> NLB ->>> Лямбда