跳至內容

如何為 Amazon EKS 叢集中的 AWS Fargate Pod 設定安全群組?

1 分的閱讀內容
0

我想為 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集中的 AWS Fargate Pod 設定安全群組。我想使用該安全群組來控制傳入與傳出的網路流量。

簡短說明

您可以使用個別 Pod 的安全群組,將自訂的 Amazon Elastic Compute Cloud (Amazon EC2) 安全群組附加到 Amazon EKS 叢集中的 Fargate Pod。這些附加的安全群組會限制 Fargate Pod 的傳入與傳出網路流量。

預設情況下,Fargate Pod 會自動設定為使用叢集安全群組,以與 Kubernetes 控制平面通訊。您可以使用安全群組來設定進出 Fargate Pod 的傳入與傳出網路流量規則。

您為 Fargate Pod 指定的安全群組須符合以下條件:

  • 必須包含允許 Pod 與 Kubernetes 控制平面通訊的規則。確保將叢集安全群組指定為其中一個安全群組。
  • 必須具有與其他 Pod 或端點通訊所需的傳入與傳出規則。例如,它們必須具有一條傳出規則,指向使用 TCP/UDP 53 連接埠的 CoreDNS Pod 進行名稱解析。

解決方法

若要將安全群組套用到 Fargate Pod,請完成以下步驟:

  1. 將 Amazon EKS 安全群組政策部署到您的叢集
    範例:

    apiVersion: vpcresources.k8s.aws/v1beta1
    kind: SecurityGroupPolicy
    metadata:
      name: my-security-group-policy
      namespace: my-namespace
    spec:
      podSelector:
        matchLabels:
          role: my-role
      securityGroups:
        groupIds:
          - my_pod_security_group_id

    **注意:**將 my-security-group-policymy-namespacemy-rolemy-pod-security-group-id 替換為您的組態值。您可以使用 serviceAccountSelector 而非 podSelector

  2. 使用與 SecurityGroupPolicy 標籤相符的標籤部署您的應用程式。
    範例:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-deployment
      namespace: my-namespace
      labels:
        app: my-app
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: my-app
      template:
        metadata:
          labels:
            app: my-app
            role: my-role
        spec:
          terminationGracePeriodSeconds: 120
          containers:
          - name: nginx
            image: public.ecr.aws/nginx/nginx:1.23
            ports:
            - containerPort: 80
  3. 確認您的 Pod 是否使用 Pod 安全群組。如果是,則 fargate.amazonaws.com/pod-sg 將包含在註解中。執行以下命令:

    kubectl describe pod pod name -n <namespace> | grep fargate.amazonaws.com/pod-sg
                          fargate.amazonaws.com/pod-sg: my_pod_security_group_id,...

    **注意:**將 pod-name 替換為您的 Pod 名稱,並將 my_pod_security_group_id 替換為 Pod 的安全群組 ID。

相關資訊

介紹 Pod 的安全群組

AWS 官方已更新 2 個月前