Используйте секретный менеджер с группой безопасности AWS

Я развертываю API с моделью искусственного интеллекта на AWS. Для этого я создал ECS Fargate с группой безопасности. Мой API должен хранить секреты, поэтому я также использую диспетчер секретов.

Проблема в том, что я хочу запретить весь исходящий трафик (за пределами моего VPC) в целях безопасности, но когда я добавляю правило для исходящего трафика в свою группу безопасности, моя ECS больше не может получить доступ к диспетчеру секретов.

Я попытался добавить правило:

–      sgr-id         IPv4       All traffic       All      All     <vpc cidr>

потому что я думал, что моя ECS использует конечную точку VPC, которую я создал для связи с менеджером секретов, но я получаю эту ошибку:

ResourceInitializationError: невозможно получить секреты или аутентификация реестра: невозможно получить секрет из asm: возникла проблема с соединением между задачей и AWS Secrets Manager. Проверьте конфигурацию сети задач. не удалось получить секрет arn:aws:secretsmanager:eu-west-1:x:secret:y/z из менеджера секретов: RequestCanceled: контекст запроса отменен, вызвано: превышен крайний срок контекста

Из-за этой ошибки мне кажется, что мой ECS использует мой доступ в Интернет вместо моей конечной точки VPC. Когда я меняю правило назначения с помощью 0.0.0.0/0, оно работает отлично.

Мой VPC Endpont и мой ECS находятся в одном VPC. Моя конечная точка VPC имеет интерфейс во всех подсетях моего VPC. Я что-то пропустил?

См. предварительные требования для конечных точек интерфейса VPC. В частности, требования VPC DNS и настройки группы безопасности на конечной точке, позволяющие разрешить входящий трафик из вашего кластера ECS.

jarmod 12.07.2024 18:24
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
68
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не зная, как вы настраиваете интерфейс VPC для диспетчера секретов и настройки вашей сети, сказать невозможно.

Но почему вас волнует исходящий доступ? Если вы не хотите разрешать доступ в Интернет, то вы имеете дело с правилами входящего, а не исходящего трафика. Если вас это тоже беспокоит, почему бы вам просто не разместить свою рабочую нагрузку в частной подсети?

Оставьте 0.0.0.0/0 в качестве доступного исходящего правила. Если вы удаляете все правила для исходящего трафика, вы буквально не позволяете трафику выходить из вашей рабочей нагрузки.

AWS упоминает именно об этом: If your security group has no outbound rules, no outbound traffic is allowed.

Также 0.0.0.0/0 не означает, что вы используете доступ в Интернет. Он просто соответствует любому запросу для любого диапазона cidr. Это может быть 10.0.0.0/16, 10.1.0.0/32 и т. д.

Другие вопросы по теме