이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
Kubernetes 네트워크 정책을 통해 pod 트래픽 제한
기본적으로 클러스터의 Pods 또는 다른 네트워크의 Pods 및 리소스 사이에 IP 주소, 포트 또는 연결에 대해 Kubernetes에는 제한이 없습니다. Kubernetes 네트워크 정책을 사용하여 Pods에 대한 네트워크 트래픽을 제한할 수 있습니다. 자세한 내용은 Kubernetes 설명서의 네트워크 정책
클러스터에 버전 1.13
이하의 Amazon VPC CNI plugin for Kubernetes가 있는 경우 타사 솔루션을 구현하여 클러스터에 Kubernetes 네트워크 정책을 적용해야 합니다. 버전 1.14
이상의 플러그인으로 네트워크 정책을 구현할 수 있으므로 타사 솔루션을 사용할 필요가 없습니다. 이 주제에서는 타사 추가 기능을 사용하지 않고 클러스터에서 Kubernetes 네트워크 정책을 사용하도록 클러스터를 구성하는 방법을 알아봅니다.
Amazon VPC CNI plugin for Kubernetes의 네트워크 정책은 다음 구성에서 지원됩니다.
-
Amazon EKS 클러스터 버전
1.25
이상. -
클러스터의 Amazon VPC CNI plugin for Kubernetes 버전 1.14 이상.
-
IPv4
또는IPv6
주소에 대해 구성된 클러스터. -
Pods용 보안 그룹에 네트워크 정책을 사용할 수 있습니다. 네트워크 정책을 사용하면 클러스터 내 모든 통신을 제어할 수 있습니다. Pods용 보안 그룹을 통해 Pod 내의 애플리케이션에서 AWS 서비스에 대한 액세스를 제어할 수 있습니다.
-
사용자 지정 네트워킹 및 접두사 위임에 네트워크 정책을 사용할 수 있습니다.
고려 사항
-
Amazon VPC CNI plugin for Kubernetes 사용을 통해 클러스터에 Amazon VPC CNI plugin for Kubernetes 네트워크 정책을 적용할 때 Amazon EC2 Linux 노드에만 정책을 적용할 수 있습니다. Fargate 또는 Windows 노드에는 정책을 적용할 수 없습니다.
-
클러스터에서 현재 타사 솔루션을 사용하여 Kubernetes 네트워크 정책을 관리하는 경우 Amazon VPC CNI plugin for Kubernetes에 동일한 정책을 사용할 수 있습니다. 하지만 동일한 정책을 관리하지 않도록 기존 솔루션을 제거해야 합니다.
-
여러 네트워크 정책을 동일한 Pod에 적용할 수 있습니다. 동일한 Pod를 선택한 둘 이상의 정책이 구성된 경우 모든 정책이 Pod에 적용됩니다.
-
네트워크 정책의 각
ingress:
또는egress:
선택기에서 각 프로토콜의 고유한 포트 조합 최대 수는 24입니다. -
Kubernetes 서비스의 경우 서비스 포트는 컨테이너 포트와 동일해야 합니다. 이름이 지정된 포트를 사용하는 경우 서비스 사양에도 같은 이름을 사용합니다.
-
네트워크 정책 기능에서
policyendpoints.networking.k8s.aws
라는PolicyEndpoint
사용자 지정 리소스 정의(CRD)가 생성되고 이를 사용해야 합니다.사용자 지정 참조의PolicyEndpoint
개체는 Amazon EKS에서 관리합니다. 이러한 리소스를 수정하거나 삭제해서는 안 됩니다. -
인스턴스 역할 IAM 보안 인증 정보를 사용하는 포드를 실행하거나 EC2 IMDS에 연결하는 경우 EC2 IMDS에 대한 액세스를 차단하는 네트워크 정책을 주의하여 확인하세요. EC2 IMDS에 대한 액세스를 허용하려면 네트워크 정책을 추가해야 할 수도 있습니다. 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 메타데이터 및 사용자 데이터를 참조하세요.
서비스 계정에 대한 IAM 역할을 사용하는 포드는 EC2 IMDS에 액세스하지 않습니다.
-
Amazon VPC CNI plugin for Kubernetes는 각 포드의 추가 네트워크 인터페이스에 네트워크 정책을 적용하지 않고 각 포드의 기본 인터페이스(
eth0
)에만 적용합니다. 이는 다음 아키텍처에 영향을 미칩니다.-
ENABLE_V4_EGRESS
변수가true
로 설정된IPv6
포드. 이 변수를 사용하면IPv4
송신 기능을 통해 IPv6 포드를 클러스터 외부의 항목과 같이IPv4
엔드포인트에 연결할 수 있습니다.IPv4
송신 기능은 로컬 루프백 IPv4 주소를 사용하여 추가 네트워크 인터페이스를 생성하여 작동합니다. -
Multus와 같은 체인 네트워크 플러그인을 사용하는 경우. 이러한 플러그인은 각 포드에 네트워크 인터페이스를 추가하므로 네트워크 정책은 체인 네트워크 플러그인에 적용되지 않습니다.
-