Назад | Перейти на главную страницу

Ограничить публичный доступ к сервису AWS ECS Fargate

Я чего-то не совсем понимаю в отношении проверок здоровья. Если я ограничиваю доступ в группе безопасности, связанной со службой, до нескольких / 32 (одиночных IP-адресов) для порта трафика, служба помечается как неработоспособная. Если я разрешаю доступ в мир к порту трафика, служба помечается как работоспособная. Если я разрешаю доступ только к внутреннему блоку CIDR, включая NLB, служба помечается как работоспособная - НО это также разрешает доступ к порту для всего мира.

Я попытался использовать для проверки работоспособности другой порт в контейнере, но это не идеально, и мне не удалось добиться этого. Хотя я бы приветствовал ответ, в котором подробно описано, как это правильно настроить, учитывая мои требования к Fargate / NLB / Elastic IP, я бы предпочел, чтобы порт трафика был просто портом проверки работоспособности, но мне нужно понять способ запретить мир доступ к порту.

Вам нужно будет выяснить, откуда берутся проверки работоспособности, и внести эти IP-адреса в белый список. Поскольку это контейнер Fargate, и у вас, вероятно, нет доступа к нему по SSH, вы можете попробовать один из следующих способов:

  1. Служба SIP регистрировать входящие соединения? Если это так, и если журналы перенаправлены, например, Журналы CloudWatch (а они должны быть!) вы можете посмотреть там.
  2. Использовать Журналы потоков VPC чтобы выяснить, какие IP-адреса подключаются к вашей службе. Лучше знать ENI ID (идентификатор эластичного сетевого интерфейса) вашего контейнера - он отображается в деталях задачи Fargate.

Вы также упоминаете, что когда вы заносите в белый список внутренний диапазон IP-адресов VPC, сервис становится открытым для всего мира. Это звучит неправильно - можете ли вы опубликовать снимок экрана с настройками вашей группы безопасности в этом случае?

Надеюсь, это поможет :)