자동으로 생성되는 방화벽 규칙

이 페이지에서는 Google Kubernetes Engine(GKE)이 Google Cloud에서 자동으로 생성하는 방화벽 규칙을 설명합니다.

기본 Google Cloud 프로젝트에는 이 페이지에 나열된 GKE 관련 규칙 외에도 자동 입력된 방화벽 규칙 여러 개가 포함됩니다.

방화벽 규칙

GKE는 다음 리소스를 만들 때 자동으로 방화벽 규칙을 만듭니다.

  • GKE 클러스터
  • GKE 서비스
  • GKE 인그레스

자동으로 생성되는 모든 방화벽 규칙의 우선순위는 1,000이며 이는 방화벽 규칙의 기본값입니다. 방화벽 동작을 보다 세부적으로 제어하려면 우선순위가 높은 방화벽 규칙을 만들면 됩니다. 우선순위가 더 높은 방화벽 규칙은 자동으로 생성된 방화벽 규칙보다 먼저 적용됩니다.

GKE 클러스터 방화벽 규칙

GKE는 클러스터를 만들 때 다음 인그레스 방화벽 규칙을 만듭니다.

이름 용도 소스 대상 프로토콜 및 포트
gke-[cluster-name]-[cluster-hash]-master 프라이빗 클러스터 전용입니다. 제어 영역이 클러스터 노드의 Kubelet 및 metric-server에 액세스할 수 있도록 허용합니다. 마스터 CIDR(/28) 노드 태그 TCP: 443(metrics-server) 및 TCP: 10250(Kubelet)
gke-[cluster-name]-[cluster-hash]-ssh 퍼블릭 클러스터 전용입니다. 제어 영역이 클러스터 노드의 Kubelet 및 metric-server에 액세스할 수 있도록 허용합니다. 마스터 공개 IP 노드 태그 TCP: 22
gke-[cluster-name]-[cluster-hash]-vms Kubernetes 네트워킹 모델에서 필요에 따라 시스템 데몬 및 Kubelet과 같은 특정 노드의 에이전트가 특정 노드의 Pod와 통신하도록 허용합니다. 노드의 호스트 네트워크에 있는 Pod가 NAT 없이 모든 노드의 모든 Pod와 통신하도록 허용합니다. VPC의 다른 VM이 노드와 통신하도록 허용합니다. 노드 CIDR, 10.128.0.0/9(auto-networks), 클러스터 서브넷(custom-networks) 노드 태그 TCP: 1-65535, UDP: 1-65535, ICMP
gke-[cluster-name]-[cluster-hash]-all Kubernetes 네트워킹 모델에서 필요에 따라 클러스터의 모든 Pod 간 트래픽을 허용합니다.

pod CIDR

인접하지 않은 다중 pod CIDR이 사용 설정된 클러스터의 경우 클러스터에서 사용되는 모든 pod CIDR 블록이 사용됩니다.

노드 태그 TCP, UDP, SCTP, ICMP, ESP, AH

GKE 서비스 방화벽 규칙

GKE는 서비스를 만들 때 다음 인그레스 방화벽 규칙을 만듭니다.

이름 용도 소스 대상 프로토콜 및 포트
k8s-fw-[loadbalancer-hash] 인그레스 트래픽이 서비스에 도달하도록 허용합니다. 서비스 매니페스트에 지정됩니다. 기본값은 0.0.0.0/0(모든 소스)입니다. 노드 태그 서비스 매니페스트에 지정된 포트의 TCP 및 UDP입니다.
k8s-[cluster-id]-node-http-hc externalTrafficPolicyCluster로 설정된 경우 네트워크 부하 분산기 서비스의 상태 확인을 허용합니다.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
노드 태그 TCP: 10256
k8s-[loadbalancer-hash]-http-hc externalTrafficPolicyLocal로 설정된 경우 네트워크 부하 분산기 서비스의 상태 확인을 허용합니다.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
노드 태그 NodePort 상태 확인에서 지정된 포트의 TCP
k8s-[cluster-id]-node-hc externalTrafficPolicyCluster로 설정된 경우 내부 TCP/UDP 부하 분산기 서비스의 상태 확인을 허용합니다.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
노드 태그 TCP: 10256
[loadbalancer-hash]-hc externalTrafficPolicyLocal로 설정된 경우 내부 TCP/UDP 부하 분산기 서비스의 상태 확인을 허용합니다.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
노드 태그 NodePort 상태 확인에서 지정된 포트의 TCP
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash] 내부 부하 분산기 하위 설정이 사용 설정된 경우 인그레스 트래픽이 서비스에 도달하도록 허용합니다. 서비스 매니페스트에 지정됩니다. 기본값은 0.0.0.0/0(모든 소스)입니다. 노드 태그 서비스 매니페스트에 지정된 포트의 TCP 및 UDP입니다.
k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash]-fw externalTrafficPolicyLocal로 설정되고 내부 부하 분산기 하위 설정이 사용 설정된 경우 서비스의 상태 확인을 허용합니다.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
노드 태그 NodePort 상태 확인에서 지정된 포트의 TCP
k8s2-[cluster-id]-l4-shared-hc externalTrafficPolicyCluster로 설정되고 내부 부하 분산기 하위 설정이 사용 설정된 경우 서비스의 상태 확인을 허용합니다.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
노드 태그 TCP: 10256

GKE 인그레스 방화벽 규칙

GKE는 인그레스를 만들 때 다음 인그레스 방화벽 규칙을 만듭니다.

이름 용도 소스 대상 프로토콜 및 포트
k8s-fw-l7-[random-hash]

NodePort 서비스 또는 네트워크 엔드포인트 그룹(NEG)상태 확인을 허용합니다.

첫 번째 인그레스 리소스가 생성되면 인그레스 컨트롤러가 이 규칙을 만듭니다. 추가 인그레스 리소스가 생성되면 인그레스 컨트롤러가 이 규칙을 업데이트할 수 있습니다.

GKE v1.17.13-gke.2600 이상:
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 사용자 정의 프록시 전용 서브넷 범위(내부 HTTP(S) 부하 분산기용)
노드 태그 TCP: 30000-32767, TCP:80(내부 HTTP(S) 부하 분산기용), TCP: 모든 컨테이너 대상 포트(NEG용)

다음 단계