【问题标题】:Kubernetes pod level restricted access to other EC2 instances from AWS EKS nodesKubernetes pod 级别限制从 AWS EKS 节点访问其他 EC2 实例
【发布时间】:2019-05-30 13:18:49
【问题描述】:

我有一个在 EC2 实例上运行的弹性搜索数据库。连接到 Elastic DB 的后端服务在 AWS EKS 节点上运行。

为了让后端 kubernetes pod 能够访问 Elastic DB,我将允许的安全组添加到 EKS 节点,它工作正常。

但我的问题是,由于底层节点安全组,在同一节点中运行的所有其他 Pod(不是后端 Pod)都可能访问 Elastic DB,是否有更好的安全方法来处理这个问题。

【问题讨论】:

    标签: amazon-web-services kubernetes aws-security-group amazon-eks


    【解决方案1】:

    在这种情况下,您可以额外使用 Kubernetes 的网络策略来定义规则,这些规则指定允许哪些流量从选定的 Pod 进入 Elastic DB。

    例如,首先在命名空间中为所有 pod 创建一个默认的拒绝所有出口流量策略,如下所示:

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: default-deny
    spec:
      podSelector: {}
      policyTypes:
      - Egress
    

    并允许从特定 pod(持有角色:db)到 TCP 端口 5978 上的 CIDR 10.0.0.0/24 的传出流量

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: test-network-policy
      namespace: default
    spec:
      podSelector:
        matchLabels:
          role: db
      policyTypes:
      - Egress
      egress:
      - to:
        - ipBlock:
            cidr: 10.0.0.0/24
        ports:
        - protocol: TCP
          port: 5978
    

    有关NetworkPolicies的更多信息,请查阅官方文档。

    【讨论】:

      猜你喜欢
      • 2021-07-31
      • 2019-08-06
      • 2020-11-03
      • 2021-10-16
      • 1970-01-01
      • 2019-05-03
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      相关资源
      最近更新 更多