Сетевая политика Kubernetes для разрешения выхода на S3

#amazon-web-services #kubernetes #amazon-s3

#amazon-web-services #kubernetes #amazon-s3

Вопрос:

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

Я смог найти диапазоны IP-адресов для S3 в моем регионе, следуя этой документации, и добавил ее в свою сетевую политику ниже:

 apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: aws-s3
spec:
  podSelector:
    matchLabels:
      name: aws-s3
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr:
          52.95.144.0/24
    - ipBlock:
        cidr:
          52.95.148.0/23
    - ipBlock:
        cidr: 
         3.5.244.0/22
    - ipBlock:
        cidr:
          52.95.142.0/23
    - ipBlock:
        cidr:
          52.95.150.0/24
    - ipBlock:
        cidr:
          18.168.37.160/28
    - ipBlock:
        cidr:
          18.168.37.176/28
 

После добавления этой политики мой модуль больше не может получить доступ к корзине с помощью командной строки aws. Кто-нибудь смог разрешить выход на S3 или исправить аналогичную проблему?

Ответ №1:

Разобрался с проблемой. Интерфейс командной строки aws пытался разрешить s3.amazonaws.com но не смог, потому что моя политика также блокировала DNS-сервер. Я внес его в белый список, а также разрешил весь исходящий трафик через DNS-порты (53 / udp и 53 / tcp).