Возможно ли это в API Gateway?

#amazon-web-services #aws-api-gateway #api-gateway

#amazon-веб-сервисы #aws-api-gateway #api-шлюз #amazon-web-services #api-gateway

Вопрос:

Меня попросили изучить настройку AWS для моей организации, но это не моя область опыта, поэтому это немного сложно. После проведения некоторых исследований я надеюсь, что API Gateway будет работать для нас, и я был бы очень признателен, если бы кто-нибудь мог сказать мне, правильно ли я поступаю. План таков:

  1. Мы создаем VPC с несколькими частными подсетями. Экземпляры EC2 в подсетях будут размещать браузерные приложения, такие как Apache Guacamole, Splunk и т. Д.
  2. Мы подключаем к VPC шлюз API с REST API, который позволит пользователям получать доступ только к приложениям в «их» подсети
  3. Пользователи переходят по ссылке на API Gateway из внешнего API, который предоставит учетные данные Oauth2.
  4. REST API API Gateway проверяет их учетные данные и предоставляет им страницу со ссылками на частные IP-адреса для служб только в «их» подсети. Затем они могут перейти по ссылкам и открыть страницы браузера Splunk, Guacamole и т.д.

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

Спасибо за любую помощь

Комментарии:

1. Вы должны посмотреть на ALB. Он обеспечивает аутентификацию с помощью Cognito или любого поставщика удостоверений, совместимого с OpenID Connect. Это могло бы быть проще.

Ответ №1:

Похоже, теоретически это может сработать. Моя главная проблема заключается в том, что Apache Guacomole или любой другой сервис, который вы пытаетесь предоставить, требует длительных HTTP-подключений. API Gateway имеет жесткое требование, чтобы все запросы занимали не более 29 секунд.

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


Я бы лично сделал это, настроив каждую из этих сред с использованием инфраструктуры в виде кода таким образом, чтобы вы могли создать новую клиентскую среду, просто запустив свой инструмент IaC с несколькими параметрами, такими как идентификатор клиента и имя домена или поддомена, которые вы хотите использовать. Я бы на самом деле развернул каждого в своем собственном VPC, поскольку, похоже, вы хотите, чтобы среда каждого клиента была изолирована от других.

Комментарии:

1. Спасибо за помощь, я не знал, что у шлюза есть ограничение по времени, и нам определенно понадобится больше времени. Количество vpc, которое нам понадобится, превысит лимит aws, но балансировщик нагрузки приложений звучит многообещающе.

2. Ограничение VPC — это мягкое ограничение, которое можно увеличить, отправив заявку.

3. Также спасибо за совет об ограничениях VPC. Все эти ответы были действительно полезны