У меня есть экземпляр EC2, на котором запущено приложение, которое предоставляет API на портах 1000 и 2000. Экземпляру EC2 должен быть разрешен весь исходящий трафик, а также любой входящий трафик на порт 1000.
Однако соединения с портом 2000 должны быть защищены авторизацией - например, через пул пользователей Cognito. Я думал о том, можно ли добиться этого с помощью шлюза API. Мне пришло в голову три вопроса:
Я ищу экономичный метод для этого сценария. Я готов услышать о решениях, в которых используются другие сервисы AWS вместо API Gateway, если есть лучший способ реализовать такое поведение.
Amazon API Gateway так же хорошо как Балансировщик нагрузки приложений поддержка аутентификации через Amazon Cognito.
Будет ли весь трафик на порт 1000, который не должен быть защищен ни в какой форме с помощью контроля доступа и должен быть открыт для всего Интернета, также маршрутизироваться через API-шлюз, что приведет к более высокой стоимости?
Да, вам нужно это сделать. Вы не можете установить разные конечные точки для записи DNS в зависимости от портов. Вам понадобится что-то вроде API Gateway или ALB для маршрутизации трафика на основе портов.
Могу ли я легко разрешить весь исходящий трафик от экземпляра EC2, добавив API-шлюз?
Да, исходящий трафик не маршрутизируется через API Gateway или ALB. Исходящий трафик проходит через шлюз NAT, экземпляр NAT или IGW в зависимости от настроек вашего VPC.