프록시 및 방화벽 규칙

이 페이지에서는 VMware용 Google Distributed Cloud(소프트웨어 전용)에 대한 프록시 및 방화벽 규칙을 설정하는 방법을 보여줍니다. 이 페이지는 방화벽과 같은 데이터 보안 시스템을 구현하는 네트워킹 전문가를 대상으로 합니다. Google Cloud 콘텐츠에서 참조하는 일반 역할과 예시 태스크에 대한 자세한 내용은 일반 GKE Enterprise 사용자 역할 및 태스크를 참조하세요.

프록시 허용 목록에 주소 추가

조직에서 프록시 서버를 통과하도록 아웃바운드 트래픽이 필요하면 프록시 서버에서 다음 주소를 허용 목록에 추가합니다. googleapis.com 대신 www.googleapis.com이 필요합니다.

  • dl.google.com 1
  • gcr.io
  • www.googleapis.com
  • accounts.google.com
  • anthos.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • compute.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com2
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • gkeonprem.mtls.googleapis.com
  • iam.googleapis.com
  • iamcredentials.googleapis.com
  • kubernetesmetadata.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • oauth2.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • securetoken.googleapis.com
  • servicecontrol.googleapis.com
  • serviceusage.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com
  • releases.hashicorp.com(선택사항)3

참고:

1 dl.google.com은 Google Cloud SDK 설치 프로그램에서 필요합니다.

2 Google Cloud 리전을 사용하여 클러스터를 Fleet에 등록한 경우 REGION-gkeconnect.googleapis.com(예: us-central1-gkeconnect.googleapis.com)을 허용 목록에 추가해야 합니다. 리전을 지정하지 않은 경우 클러스터는 전역 Connect 서비스 인스턴스를 사용하고 gkeconnect.googleapis.com을 허용 목록에 추가합니다. 클러스터의 Fleet 멤버십 위치를 찾아야 하는 경우에는 gcloud container fleet memberships list를 실행합니다. 자세한 내용은 gkeConnect.location을 참조하세요.

3 terraform apply와 같은 명령어를 실행하기 위해 관리자 워크스테이션에서 Terraform 클라이언트를 사용하지 않는 경우 releases.hashicorp.com을 허용 목록에 추가할 필요가 없습니다. 관리자 워크스테이션에서 Terraform 클라이언트를 사용하는 경우 선택적으로 releases.hashicorp.com을 허용 목록에 추가하여 terraform version 명령어를 사용하여 사용 중인 Terraform 클라이언트 버전이 최신인지 확인할 수 있습니다.

또한 vCenter Server에 외부 IP 주소가 있으면 프록시 서버에서 주소를 허용 목록에 추가합니다.

관리자 클러스터의 방화벽 규칙

관리자 클러스터 IP 주소는 사용자 클러스터에 Controlplane V2가 사용 설정되었는지 여부와 클러스터가 생성된 버전에 따라 다릅니다.

  • Controlplane V2가 사용 설정되면 사용자 클러스터의 컨트롤 플레인은 사용자 클러스터 자체에서 실행됩니다. Controlplane V2가 사용 설정되지 않았으면 사용자 클러스터의 컨트롤 플레인이 kubeception이라고 하는 관리자 클러스터의 하나 이상의 노드에서 실행됩니다.

  • 1.28 이상에서는 새 HA 관리자 클러스터에 부가기능 노드가 없습니다.

관리자 클러스터 부가기능 노드(있는 경우) 및 kubeception 사용자 클러스터 컨트롤 플레인 노드의 IP 주소는 관리자 클러스터 IP 블록 파일에 나열됩니다. 관리자 클러스터 컨트롤 플레인 노드는 관리자 클러스터 구성 파일의 network.controlPlaneIPBlock.ips 섹션에 구성됩니다.

관리자 클러스터 IP 블록 파일의 IP 주소는 특정 노드에 할당되지 않으므로 다음 표에 나열된 모든 방화벽 규칙이 관리자 클러스터가 사용할 수 있는 모든 IP 주소에 적용되는지 확인해야 합니다.

다음 트래픽을 허용하도록 방화벽 규칙을 설정합니다.

보낸사람

소스 포트

받는사람

포트

프로토콜

설명

관리자 클러스터 컨트롤 플레인 노드

1024 - 65535

vCenter Server API

443

TCP/https

클러스터 크기 조절

관리자 클러스터 부가기능 노드

1024 - 65535

vCenter Server API

443

TCP/https

사용자 클러스터 수명 주기 관리

관리자 클러스터 부가기능 노드

32768 - 60999

관리자 클러스터의 Kubernetes API 서버 VIP

사용자 클러스터의 Kubernetes API 서버 VIP

443

TCP/https

사용자 클러스터 만들기.

사용자 클러스터 업데이트.

사용자 클러스터 업그레이드.

사용자 클러스터 삭제.

관리자 클러스터 컨트롤 플레인 노드

32768 - 60999

gcr.io
cloudresourcemanager.googleapis.com
compute.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
관리자 또는 사용자 클러스터에 사용 설정된 서비스에 필요한 모든 *.googleapis.com URL
사용자 클러스터의 Kubernetes API 서버 VIP
관리자 클러스터의 Kubernetes API 서버 VIP
vCenter Server API
관리자 클러스터 F5 BIG_IP API
사용자 클러스터 F5 BIG_IP API
관리자 클러스터 NTP 서버
사용자 클러스터 NTP 서버
관리자 클러스터 DNS 서버
사용자 클러스터 DNS 서버

443

TCP/https

실행 전 검사(유효성 검사).

사용자 클러스터를 생성, 업데이트 또는 업그레이드하는 경우.

관리자 클러스터를 생성, 업데이트 또는 업그레이드하는 경우.

관리자 클러스터 컨트롤 플레인 노드

32768 - 60999

사용자 클러스터 온프레미스 로컬 Docker 레지스트리

레지스트리에 따라 달라집니다.

TCP/https

실행 전 검사(유효성 검사).

사용자 클러스터가 gcr.io 대신 로컬 비공개 Docker 레지스트리를 사용하도록 구성된 경우에 필요합니다.

사용자 클러스터를 생성 또는 업그레이드하는 경우.

관리자 클러스터를 생성 또는 업그레이드하는 경우.

관리자 클러스터 컨트롤 플레인 노드

32768 - 60999

관리자 클러스터 노드
사용자 클러스터 노드
관리자 클러스터 부하 분산기 VIP
사용자 클러스터 부하 분산기 VIP

icmp

실행 전 검사(유효성 검사).

사용자 클러스터를 생성, 업데이트 또는 업그레이드하는 경우.

관리자 클러스터를 생성, 업데이트 또는 업그레이드하는 경우.

관리자 클러스터 컨트롤 플레인 노드

32768 - 60999

사용자 클러스터 워커 노드

22

ssh

실행 전 검사(유효성 검사).

사용자 클러스터를 업그레이드하는 경우.

관리자 클러스터를 업그레이드하는 경우.

사용자 클러스터 컨트롤 플레인 노드(kubeception만 해당)

1024 - 65535

vCenter Server API

443

TCP/https

클러스터 크기 조절

사용자 클러스터 컨트롤 플레인 노드(kubeception만 해당)

1024 - 65535

cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com 또는 REGION-gkeconnect.googleapis.com
gkehub.googleapis.com

443

TCP/https

Fleet 등록에 액세스 권한이 필요합니다. 허용 목록에 추가할 URL 목록 뒤에 나오는 참고 2를 참조하세요.

사용자 클러스터 컨트롤 플레인 노드(kubeception만 해당)

1024 - 65535

F5 BIG-IP API

443

TCP/https

사용자 클러스터 컨트롤 플레인 노드(kubeception만 해당)

1024 - 65535

온프레미스 로컬 Docker 레지스트리

레지스트리에 따라 달라집니다.

TCP/https

Google Distributed Cloud가 gcr.io 대신 로컬 비공개 Docker 레지스트리를 사용하도록 구성된 경우에 필요합니다.

사용자 클러스터 컨트롤 플레인 노드(kubeception만 해당)

1024 - 65535

gcr.io
oauth2.googleapis.com
storage.googleapis.com
관리자 클러스터에 사용 설정된 서비스에 필요한 모든 *.googleapis.com URL
443

TCP/https

공개 Docker 레지스트리에서 이미지 다운로드

비공개 Docker 레지스트리를 사용하는 경우에는 필요하지 않습니다.

관리자 클러스터 부가기능 노드에서 실행되는 Cloud Logging 수집기

1024 - 65535

oauth2.googleapis.com
logging.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com

443

TCP/https

관리자 클러스터 부가기능 노드에서 실행되는 Cloud Metadata 수집기

1024 - 65535

opsconfigmonitoring.googleapis.com

443

TCP/https

관리자 클러스터 부가기능 노드에서 실행되는 Cloud Monitoring 수집기

1024 - 65535

oauth2.googleapis.com
monitoring.googleapis.com

443

TCP/https

관리자 클러스터 컨트롤 플레인 노드

1024 - 65535

F5 BIG-IP API

443

TCP/https

관리자 클러스터 컨트롤 플레인 노드

1024 - 65535

온프레미스 로컬 Docker 레지스트리

레지스트리에 따라 달라집니다.

TCP/https

Google Distributed Cloud가 gcr.io 대신 로컬 비공개 Docker 레지스트리를 사용하도록 구성된 경우에 필요합니다.

관리자 클러스터 컨트롤 플레인 노드

1024 - 65535

gcr.io
oauth2.googleapis.com
storage.googleapis.com
관리자 클러스터에 사용 설정된 서비스에 필요한 모든 *.googleapis.com URL

443

TCP/https

공개 Docker 레지스트리에서 이미지 다운로드

비공개 Docker 레지스트리를 사용하는 경우에는 필요하지 않습니다.

관리자 클러스터 워커 노드

1024 - 65535

관리자 클러스터 워커 노드

전체

179 - bgp

443 - https

5473 - Calico/Typha

9443 - Envoy 측정항목

10250 - kubelet 노드 포트

모든 워커 노드는 인접한 레이어-2이고 방화벽이 없어야 합니다.

관리자 클러스터 노드

1024 - 65535

관리자 클러스터 pod CIDR

모두

모두

외부 트래픽은 첫 번째 노드에서 SNAT되고 포드 IP로 전송됩니다.

관리자 클러스터 워커 노드

모두

사용자 클러스터 노드

22

ssh

kubeception에 필요합니다. SSH 터널을 통한 kubelet 통신에 대한 API 서버 Controlplane V2에서는 이 단계를 건너뛰어야 합니다.

관리자 클러스터 노드

1024 - 65535

관리자 클러스터의 Seesaw LB VM IP

20255,20257

TCP/http

LB 구성 푸시 및 측정항목 모니터링. 번들로 묶인 LB Seesaw를 사용하는 경우에만 필요합니다.

관리자 클러스터 노드

1024 - 65535

관리자 클러스터 노드

7946

TCP/UDP

MetalLB 상태 확인. 번들로 묶인 LB MetalLB를 사용하는 경우에만 필요합니다.

관리자 클러스터 노드

전체

사용자 클러스터 컨트롤 플레인 VIP

443

https

Controlplane V2에 필요합니다. 관리자 클러스터의 노드 및 포드가 사용자 클러스터의 Kubernetes API 서버와 통신할 수 있도록 합니다.

관리자 클러스터 노드

전체

사용자 클러스터 컨트롤 플레인 노드

443

https

Controlplane V2에 필요합니다. 사용자 클러스터 컨트롤 플레인 노드의 IP 주소를 사용하여 관리자 클러스터의 노드와 포드가 사용자 클러스터의 Kubernetes API 서버와 통신할 수 있도록 합니다.

사용자 클러스터 노드의 방화벽 규칙

사용자 클러스터 노드에서 해당 IP 주소는 IP 블록 파일에 나열됩니다.

관리자 클러스터 노드와 마찬가지로 어떤 노드에 어떤 IP 주소가 사용될지는 알 수 없습니다. 따라서 사용자 클러스터 노드의 모든 규칙이 각 사용자 클러스터 노드에 적용됩니다.

보낸사람

소스 포트

받는사람

포트

프로토콜

설명

사용자 클러스터 컨트롤 플레인 노드(Controlplane V2만 해당)

1024 - 65535

vCenter Server API

443

TCP/https

클러스터 크기 조절

사용자 클러스터 컨트롤 플레인 노드(Controlplane V2만 해당)

1024 - 65535

cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com 또는 REGION-gkeconnect.googleapis.com
gkehub.googleapis.com

443

TCP/https

Fleet 등록에 액세스 권한이 필요합니다. 허용 목록에 추가할 URL 목록 뒤에 나오는 참고 2를 참조하세요.

사용자 클러스터 컨트롤 플레인 노드(Controlplane V2만 해당)

1024 - 65535

온프레미스 로컬 Docker 레지스트리

레지스트리에 따라 달라집니다.

TCP/https

Google Distributed Cloud가 gcr.io 대신 로컬 비공개 Docker 레지스트리를 사용하도록 구성된 경우에 필요합니다.

사용자 클러스터 컨트롤 플레인 노드(Controlplane V2만 해당)

1024 - 65535

gcr.io
oauth2.googleapis.com
storage.googleapis.com
관리자 클러스터에 사용 설정된 서비스에 필요한 모든 *.googleapis.com URL
443

TCP/https

공개 Docker 레지스트리에서 이미지 다운로드

비공개 Docker 레지스트리를 사용하는 경우에는 필요하지 않습니다.

사용자 클러스터 컨트롤 플레인 노드(Controlplane V2만 해당)

1024 - 65535

F5 BIG-IP API

443

TCP/https

사용자 클러스터 워커 노드

모두

gcr.io
oauth2.googleapis.com
storage.googleapis.com
이 클러스터에 사용 설정된 서비스에 필요한 모든 *.googleapis.com URL

443

TCP/https

공개 Docker 레지스트리에서 이미지 다운로드

비공개 Docker 레지스트리를 사용하는 경우에는 필요하지 않습니다.

사용자 클러스터 워커 노드

모두

F5 BIG-IP API

443

TCP/https

사용자 클러스터 워커 노드

모두

관리자 클러스터에서 실행되는 pushprox 서버의 VIP입니다.

8443

TCP/https

Prometheus 트래픽

사용자 클러스터 워커 노드

모두

사용자 클러스터 워커 노드

모두

22 - ssh

179 - bgp

443 - https

5473 - calico-typha

9443 - envoy 측정항목

10250 - kubelet 노드 포트'

모든 워커 노드는 인접한 레이어-2이고 방화벽이 없어야 합니다.

사용자 클러스터 워커 노드

모두

사용자 컨트롤 플레인 VIP

443

TCP/https

사용자 클러스터 워커 노드

전체

사용자 컨트롤 플레인 VIP

8132

GRPC

kubeception에 필요합니다. Konnectency 연결. Controlplane V2에서는 이 단계를 건너뛰어야 합니다.

관리자 클러스터 노드

전체

사용자 클러스터 vCenter Server

443

https

관리자 클러스터가 사용자 클러스터의 수명 주기를 관리하도록 허용합니다. 관리자 클러스터와 사용자 클러스터에 서로 다른 vCenter Server가 있는 경우 필요합니다.

사용자 클러스터 노드

1024 - 65535

사용자 클러스터 pod CIDR

모두

모두

외부 트래픽은 첫 번째 노드에서 SNAT되고 포드 IP로 전송됩니다.

임의 사용자 클러스터 워커 노드에서 실행되는 Cloud Logging 수집기

1024 - 65535

oauth2.googleapis.com
logging.googleapis.com
servicecontrol.googleapis.com
www.googleapis.com

443

TCP/https

임의 사용자 클러스터 워커 노드에서 실행되는 Connect Agent입니다.

1024 - 65535

cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com 또는 REGION-gkeconnect.googleapis.com
gkehub.googleapis.com
www.googleapis.com
iam.googleapis.com
iamcredentials.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
sts.googleapis.com
accounts.google.com

443

TCP/https

트래픽 연결 허용 목록에 추가할 URL 목록 뒤에 나오는 참고 2를 참조하세요.

임의 사용자 클러스터 워커 노드에서 실행되는 Cloud Metadata 수집기

1024 - 65535

opsconfigmonitoring.googleapis.com kubernetesmetadata.googleapis.com

443

TCP/https

임의 사용자 클러스터 워커 노드에서 실행되는 Cloud Monitoring 수집기

1024 - 65535

oauth2.googleapis.com
monitoring.googleapis.com

443

TCP/https

사용자 클러스터 노드

1024 - 65535

사용자 클러스터의 Seesaw LB VM IP

20255,20257

TCP/http

LB 구성 푸시 및 측정항목 모니터링. 번들로 묶인 LB Seesaw를 사용하는 경우에만 필요합니다.

enableLoadBalancer=true인 사용자 클러스터 노드

1024 - 65535

enableLoadBalancer=true인 사용자 클러스터 노드

7946

TCP/UDP

MetalLB 상태 확인. 번들로 묶인 LB MetalLB를 사용하는 경우에만 필요합니다.

사용자 클러스터 네트워크

모두

사용자 클러스터 컨트롤 플레인 VIP

443

TCP/https

나머지 구성요소의 방화벽 규칙

이러한 규칙은 관리자 클러스터 및 사용자 클러스터 노드의 표에 나열되지 않은 다른 모든 구성요소에 적용됩니다.

보낸사람

소스 포트

받는사람

포트

프로토콜

설명

관리자 클러스터 pod CIDR

1024 - 65535

관리자 클러스터 pod CIDR

모두

모두

pod 간 트래픽은 Pod CIDR 내에서 소스 및 대상 IP를 사용하여 직접 L2 전달을 수행합니다.

관리자 클러스터 pod CIDR

1024 - 65535

관리자 클러스터 노드

모두

모두

외부 트래픽의 트래픽을 반환합니다.

사용자 클러스터 pod CIDR

1024 - 65535

사용자 클러스터 pod CIDR

모두

모두

pod 간 트래픽은 Pod CIDR 내에서 소스 및 대상 IP를 사용하여 직접 L2 전달을 수행합니다.

사용자 클러스터 pod CIDR

1024 - 65535

사용자 클러스터 노드

모두

모두

외부 트래픽의 트래픽을 반환합니다.

클라이언트 및 애플리케이션 최종 사용자

모두

Istio 인그레스 VIP

80, 443

TCP

사용자 클러스터의 인그레스 서비스에 대한 최종 사용자 트래픽

서버를 건너뛰어 관리자 워크스테이션 배포

임시 포트 범위

vCenter Server API
대상 클러스터에 있는 호스트의 ESXi VMkernel(mgt) IP

443

TCP/https

`cat /proc/sys/net/ipv4/ip_local_port_range`에서 임시 포트 범위를 확인합니다.

관리자 워크스테이션

32768 - 60999

gcr.io
cloudresourcemanager.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
이 클러스터에 사용 설정된 서비스에 필요한 모든 *.googleapis.com URL

443

TCP/https

공개 Docker 레지스트리에서 Docker 이미지 다운로드

관리자 워크스테이션

32768 - 60999

gcr.io
cloudresourcemanager.googleapis.com
compute.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
관리자 또는 사용자 클러스터에 사용 설정된 서비스에 필요한 모든 *.googleapis.com URL
사용자 클러스터의 Kubernetes API 서버 VIP
관리자 클러스터의 Kubernetes API 서버 VIP
vCenter Server API
F5 BIG-IP API

443

TCP/https

실행 전 검사(유효성 검사).

gkectl을 사용하여 클러스터를 생성, 업데이트, 업그레이드 또는 삭제하는 경우

관리자 워크스테이션

32768 - 60999

vCenter Server API

F5 BIG-IP API

443

TCP/https

관리자 클러스터 만들기.

사용자 클러스터 만들기.

관리자 워크스테이션

32768 - 60999

대상 클러스터에 있는 호스트의 ESXi VMkernel(mgt) IP

443

TCP/https

관리자 워크스테이션이 ESXi 호스트를 통해 OVA를 Datastore에 업로드합니다.

관리자 워크스테이션

32768 - 60999

관리자 클러스터의 Kubernetes API 서버 VIP

사용자 클러스터의 Kubernetes API 서버 VIP

443

TCP/https

관리자 클러스터 만들기.

관리자 클러스터 업데이트.

사용자 클러스터 만들기.

사용자 클러스터 업데이트.

사용자 클러스터 삭제.

관리자 워크스테이션

32768 - 60999

관리자 클러스터 컨트롤 플레인 노드 및 워커 노드

443

TCP/https

관리자 클러스터 만들기.

컨트롤 플레인 업그레이드

관리자 워크스테이션

32768 - 60999

모든 관리자 클러스터 노드 및 모든 사용자 클러스터 노드

443

TCP/https

gkectl check-config 명령어 일부로 네트워크 유효성 검사

관리자 워크스테이션

32768 - 60999

관리자 클러스터 Istio 인그레스의 VIP

사용자 클러스터 Istio 인그레스의 VIP

443

TCP/https

gkectl check-config 명령어 일부로 네트워크 유효성 검사

관리자 워크스테이션

32768 - 60999

oauth2.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com

443

TCP/https

Cloud Logging 및 Monitoring 액세스.

관리자 워크스테이션

32768 - 60999

관리자 클러스터와 사용자 클러스터 모두의 Seesaw LB VM IP

관리자 클러스터와 사용자 클러스터 모두의 Seesaw LB VIP

20256,20258

TCP/http/gRPC

LB 상태 확인. 번들로 묶인 LB Seesaw를 사용하는 경우에만 필요합니다.

관리자 워크스테이션

32768 - 60999

클러스터 컨트롤 플레인의 노드 IP

22

TCP

관리자 워크스테이션에서 관리자 클러스터 컨트롤 플레인의 SSH 액세스가 필요한 경우 필수입니다.

관리자 워크스테이션 32768 - 60999 releases.hashicorp.com 443 TCP/https 선택사항. 허용 목록에 추가할 URL 목록 뒤에 나오는 참고 3을 참조하세요.

LB VM IP

32768 - 60999

해당 클러스터의 노드 IP

10256: 노드 상태 확인
30000 - 32767: healthCheckNodePort

TCP/http

노드 상태 확인 healthCheckNodePort는 externalTrafficPolicy가 로컬로 설정된 서비스용입니다. 번들로 묶인 LB Seesaw를 사용하는 경우에만 필요합니다.

F5 Self-IP

1024 - 65535

모든 관리자 클러스터와 사용자 클러스터 노드

30000~32767

모두

F5 BIG-IP가 가상 서버 VIP를 통해 Kubernetes 클러스터 노드의 노드 포트로 부하를 분산하는 데이터 영역 트래픽의 경우.

일반적으로 F5 self-ip는 Kubernetes 클러스터 노드와 동일한 네트워크/서브넷에 있습니다.