Как создать шлюз VPC с аутентификацией IAM на AWS?
Я пытаюсь открыть HTTP-сервер в Интернете. Сервер работает в контейнере Fargate внутри выделенного VPC. Я мог бы просто выставить его через общедоступный балансировщик нагрузки приложений (ALB), если бы не тот факт, что запросы к этому серверу должны проходить аутентификацию с использованием IAM.
Мой подход заключался в том, чтобы разместить AWS Gateway v1 перед балансировщиком нагрузки сервиса. Этот шлюз проверяет аутентификацию через IAM, а затем ретранслирует запрос на балансировщик сетевой нагрузки (NLB) с помощью канала VPC. NLB, в свою очередь, направляет его на сам сервер.
Вот проблема: Api Gateway v1 не поддерживает ссылки VPC на ALB, только NLB, но NLB используют TCP, а я открываю HTTP-сервер. Таким образом, я не могу передавать пути и другие функции HTTP через Network Load Balancer.Api Gateway v2 поддерживает ссылки VPC на ALB, но не имеет способа аутентификации с использованием IAM.
Есть ли способ обойти эту проблему?
1 ответ
Я не уверен, почему вы думаете, что API gtw 2 не разрешает аутентификацию IAM или откуда вы это взяли? Можете ли вы разместить свою облачную форму здесь или указать git, чтобы я мог протестировать ее с помощью политики? Можете ли вы дать ссылку, где говорится, что API GTW 2 не поддерживает авторизацию IAM?
В документации четко указано, что вы можете использовать авторизаторы IAM?https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/doc-history.html
Вот блог, который может помочь?https://aws.amazon.com/premiumsupport/knowledge-center/iam-authentication-api-gateway/
Вы можете пройти долгий путь и использовать Cognito Pool, связать его со своим API GTW, если то, что вы говорите, правда.
надеюсь, это поможет, мне было бы любопытно узнать о вашей облачной формации, если вы готовы поделиться.