Google Kubernetes Engine (GKE) 클러스터의 컨트롤 플레인 및 노드에 대한 네트워크 액세스를 맞춤설정하여 클러스터와 워크로드의 네트워크 보안을 개선할 수 있습니다. 이 문서에서는 클러스터에 구성할 수 있는 다양한 격리 유형, 네트워크 격리의 이점, 클러스터를 격리하기 전에 고려해야 하는 제한사항을 설명합니다.
클러스터의 특정 격리 수준을 구성하려면 다음 문서를 참고하세요.
조직의 네트워크 설계자, 네트워크 엔지니어, 네트워크 관리자 또는 네트워크 아키텍처 정의, 구현, 유지보수를 담당하는 다른 팀과 함께 네트워크 격리 구성을 계획하고 설계합니다.
네트워크 액세스 유형
클러스터의 구성요소(예: 컨트롤 플레인, API 서버, 노드)는 다양한 목적으로 네트워크 트래픽을 전송하고 수신합니다. 다음 유형의 네트워크 액세스 중 하나 이상을 제어하여 클러스터의 격리를 맞춤설정할 수 있습니다.
- 외부 소스에서 컨트롤 플레인에 대한 액세스: 클러스터에서
kubectl명령어를 실행하는 등의 작업을 수행하기 위해 컨트롤 플레인에 액세스할 수 있는 사용자를 맞춤설정합니다. - API 서버에서 외부 웹훅에 액세스: 컨트롤 플레인을 통해 Kubernetes API 서버가 외부 웹훅 서버로 트래픽을 직접 전송할 수 있는지 여부를 맞춤설정합니다.
- 외부 소스에서 노드에 액세스: 공개 인터넷의 외부 클라이언트가 노드에 액세스할 수 있는지 여부를 맞춤설정합니다.
외부 소스에서 컨트롤 플레인에 액세스
이 섹션에서는 컨트롤 플레인에 액세스할 수 있는 사용자를 고려하게 됩니다.
모든 GKE 클러스터에는 Kubernetes API 요청을 처리하는 컨트롤 플레인이 있습니다. 컨트롤 플레인은 Google 관리 프로젝트의 VPC 네트워크에 있는 가상 머신(VM)에서 실행됩니다. 리전 클러스터에는 여러 컨트롤 플레인의 복제본이 있으며 각 복제본은 자체 VM에서 실행됩니다.
클러스터 관리자와 같은 주 구성원은 컨트롤 플레인 엔드포인트를 사용하여 kubectl 명령어를 실행하거나 워크로드를 배포하는 등의 작업을 위해 클러스터에 액세스합니다. 컨트롤 플레인 엔드포인트는 외부 클라이언트가 클러스터에 액세스하는 데 사용되며, 컨트롤 플레인 복제본을 호스팅하는 Compute Engine VM 인스턴스와 직접 통신하는 데는 사용되지 않습니다. 컨트롤 플레인에는 클러스터 액세스를 위한 다음과 같은 종류의 엔드포인트가 있습니다.
컨트롤 플레인에는 클러스터 액세스를 위한 두 가지 종류의 엔드포인트가 있습니다.
- DNS 기반 엔드포인트
- IP 기반 엔드포인트
구성 간소화 및 유연한 정책 기반 보안을 위해 컨트롤 플레인에 액세스할 때는 DNS 기반 엔드포인트만 사용하세요.
DNS 기반 엔드포인트
DNS 기반 엔드포인트는 각 클러스터 컨트롤 플레인에 고유하고 변경 불가능한 DNS 또는 정규화된 도메인 이름 (FQDN)을 제공합니다. 이 DNS 이름은 전체 수명 주기 동안 컨트롤 플레인에 액세스하는 데 사용할 수 있습니다. DNS 이름은 온프레미스 또는 기타 클라우드 네트워크를 비롯하여 Google Cloud API에서 연결할 수 있는 모든 네트워크에서 액세스할 수 있는 엔드포인트로 확인됩니다. DNS 기반 엔드포인트를 사용 설정하면 배스천 호스트 또는 프록시 노드가 다른 VPC 네트워크 또는 외부 위치에서 컨트롤 플레인에 액세스할 필요가 없습니다.
컨트롤 플레인 엔드포인트에 액세스하려면 IAM 역할 및 정책과 인증 토큰을 구성해야 합니다. 필요한 정확한 권한에 관한 자세한 내용은 네트워크 격리 맞춤설정을 참조하세요.
IAM 정책 및 토큰 외에도 다음 액세스 속성을 구성할 수 있습니다.
VPC 서비스 제어를 사용한 IP 주소 또는 네트워크 기반 제어: GKE 클러스터 컨트롤 플레인의 보안을 강화하기 위해 VPC 서비스 제어는 액세스 보안 레이어를 추가합니다. 네트워크 출처와 같은 속성을 기반으로 컨텍스트 인식 액세스를 사용합니다.
VPC 서비스 제어는 컨트롤 플레인의 공개 IP 주소가 있는 클러스터를 직접 지원하지 않습니다. 하지만 비공개 클러스터와 공개 클러스터를 포함한 GKE 클러스터는 DNS 기반 엔드포인트를 사용하여 액세스할 때 VPC 서비스 제어의 보호를 받습니다.
서비스 경계의 제한된 서비스 목록에
container.googleapis.com및kubernetesmetadata.googleapis.com를 포함하여 GKE 클러스터의 DNS 기반 엔드포인트를 보호하도록 VPC 서비스 제어를 구성합니다. 이러한 API를 서비스 경계에 추가하면 모든 GKE API 작업에 VPC-SC가 사용 설정됩니다. 이 구성을 사용하면 정의된 보안 경계가 컨트롤 플레인에 대한 액세스를 관리할 수 있습니다.IAM 정책과 VPC 서비스 제어를 모두 사용하여 DNS 기반 엔드포인트에 대한 액세스를 보호하면 클러스터 컨트롤 플레인의 다층 보안 모델을 만들 수 있습니다. VPC 서비스 제어는 지원되는 Google Cloud 서비스와 통합됩니다. 클러스터의 보안 구성을 다른 Google Cloud 서비스에서 호스팅하는 데이터와 일치하도록 조정합니다.
Private Service Connect 또는 Cloud NAT: 공개 인터넷에 액세스할 수 없는 클라이언트에서 DNS 기반 엔드포인트에 액세스합니다. 기본적으로 DNS 기반 엔드포인트는 공개 인터넷에서 사용할 수 있는 Google CloudAPI를 통해 액세스할 수 있습니다. 자세한 내용은 네트워크 격리 맞춤설정 페이지의 DNS 기반 엔드포인트를 참조하세요.
Kubernetes 인증 사용자 인증 정보: Kubernetes ServiceAccount Bearer 토큰 또는 X.509 클라이언트 인증서를 사용하여 DNS 기반 엔드포인트에 인증합니다. 이러한 인증 방법은 GKE 클러스터에서 기본적으로 사용 중지되어 있습니다. 클러스터에 대한 DNS 기반 엔드포인트를 구성할 때 이러한 메서드를 사용 설정할 수 있습니다.
IP 기반 엔드포인트
필요한 경우 IP 기반 엔드포인트를 사용하여 컨트롤 플레인에 대한 액세스를 구성할 수도 있습니다.
클러스터 및 IP 주소 관련 용어
Google Cloud 외부 IP 주소:
Google Cloud에 호스팅된 모든 고객이 사용하는 모든 VM에 할당된 외부 IP 주소는 Google Cloud 에서 소유합니다. 자세한 내용은 Compute Engine IP 범위를 어디에서 찾을 수 있나요?를 참조하세요.
Cloud Run 또는 Cloud Run Functions와 같은 Google Cloud 제품에서 사용하는 외부 IP 주소입니다. Google Cloud 에서 호스팅되는 모든 클라이언트는 이러한 IP 주소를 인스턴스화할 수 있습니다. Google Cloud 는 이러한 IP 주소를 소유합니다.
Google에서 예약한 IP 주소: GKE 클러스터 관리 용도의 외부 IP 주소입니다. 이러한 IP 주소에는 GKE 관리형 프로세스 및 기타 프로덕션 Google 서비스가 포함됩니다. Google에서 이러한 IP 주소를 소유합니다.
GKE 클러스터 IP 주소 범위: GKE에서 클러스터의 노드, 포드, 서비스에 사용하는 클러스터에 할당된 내부 IP 주소입니다.
내부 IP 주소: 클러스터의 VPC 네트워크에서 가져온 IP 주소입니다. 이러한 IP 주소에는 클러스터 IP 주소, 온프레미스 네트워크, RFC 1918 범위, RFC 1918이 아닌 범위가 포함된 비공개로 사용된 공개 IP(PUPI) 주소가 포함될 수 있습니다.
외부 IP 기반 클러스터 엔드포인트: GKE가 컨트롤 플레인에 할당하는 외부 엔드포인트의 IP 주소입니다.
외부 컨트롤 플레인 VM IP 주소: 컨트롤 플레인을 실행하는 모든 VM 인스턴스에 할당되고 API 서버의 이그레스 트래픽에만 사용되는 외부 IP 주소입니다.
내부 엔드포인트: GKE가 컨트롤 플레인에 할당하는 내부 IP 주소입니다.
VPC 네트워크: 클러스터의 노드 및 포드를 위한 IP 주소 범위로 서브넷을 만드는 가상 네트워크입니다.
IP 기반 엔드포인트를 사용할 때는 두 가지 옵션이 있습니다.
외부 및 내부 엔드포인트 모두에 컨트롤 플레인을 노출합니다. 즉, 컨트롤 플레인의 외부 엔드포인트는 외부 IP 주소에서 액세스할 수 있고 내부 엔드포인트는 클러스터의 VPC 네트워크에서 액세스할 수 있습니다. 노드는 내부 엔드포인트에서만 컨트롤 플레인과 통신합니다.
내부 엔드포인트에만 컨트롤 플레인을 노출합니다. 즉, 인터넷의 클라이언트가 클러스터에 연결할 수 없으며 클러스터의 VPC 네트워크에 있는 모든 IP 주소에서 컨트롤 플레인에 액세스할 수 있습니다. 노드는 내부 엔드포인트에서만 컨트롤 플레인과 통신합니다.
컨트롤 플레인에 대한 모든 인터넷 액세스를 차단하므로 IP 기반 엔드포인트를 사용할 때 가장 안전한 옵션입니다. 데이터 개인 정보 보호 및 보안 규정으로 인해 액세스 제어가 필요한 워크로드 등이 있는 경우에 적합합니다.
앞의 두 옵션 모두 승인된 네트워크를 구성하여 엔드포인트에 도달하는 IP 주소를 제한할 수 있습니다. IP 기반 엔드포인트를 사용하는 경우 승인된 네트워크를 하나 이상 추가하는 것이 좋습니다. 승인된 네트워크는 신뢰할 수 있는 IPv4 주소 집합에 대한 컨트롤 플레인 액세스 권한을 부여하고 GKE 클러스터에 보호 및 추가 보안 이점을 제공합니다.
IP 기반 엔드포인트를 사용하여 GKE 클러스터를 보호할 때는 승인된 네트워크를 사용 설정하세요.
승인된 네트워크의 작동 방식
승인된 네트워크는 GKE 컨트롤 플레인에 대한 액세스를 제어하는 IP 기반 방화벽을 제공합니다. 컨트롤 플레인에 대한 액세스는 소스 IP 주소에 따라 달라집니다. 승인된 네트워크를 사용 설정하면 GKE 클러스터 컨트롤 플레인 엔드포인트에 대한 액세스를 허용하려는 IP 주소를 CIDR 블록 목록으로 구성합니다.
다음 표에는 다음이 표시됩니다.
- 사전 설정된 IP 주소: 승인된 네트워크를 사용 설정했는지 여부와 관계없이 항상 GKE 컨트롤 플레인에 액세스할 수 있음
- 구성 가능한 IP 주소: 사용자가 승인된 네트워크를 사용 설정하여 허용 목록에 포함할 때 컨트롤 플레인에 액세스할 수 있음
| 컨트롤 플레인 엔드포인트 | 사전 설정된 IP 주소: 항상 엔드포인트에 액세스할 수 있음 | 구성 가능한 IP 주소: 승인된 네트워크를 사용 설정한 후 엔드포인트에 액세스할 수 있음 |
|---|---|---|
| 외부 및 내부 엔드포인트 사용 설정됨 |
|
|
| 내부 엔드포인트만 사용 설정됨 |
|
|
승인된 네트워크를 사용하면 내부 IP 주소가 컨트롤 플레인의 내부 엔드포인트에 도달할 수 있는 리전을 구성할 수도 있습니다. 클러스터의 VPC 네트워크에서만 또는 VPC 또는 온프레미스 환경의 모든 Google Cloud 리전에서만 액세스를 허용하도록 선택할 수 있습니다.
IP 기반 엔드포인트 사용 제한사항
- 승인된 네트워크가 있는 클러스터에서 사용되는 서브넷을 확장하는 경우 확장된 IP 주소 범위를 포함하도록 승인된 네트워크 구성을 업데이트해야 합니다.
- 홈 네트워크에 있는 직원과 같이 동적 IP 주소가 있는 네트워크에서 연결하는 클라이언트가 있는 경우 클러스터에 대한 액세스를 유지하려면 승인된 네트워크 목록을 자주 업데이트해야 합니다.
- 컨트롤 플레인의 외부 엔드포인트에 대한 액세스를 사용 중지하면 원격으로 클러스터와 상호작용할 수 없습니다. 클러스터에 원격으로 액세스해야 하는 경우 클라이언트 트래픽을 클러스터로 전달하는 배스천 호스트를 사용해야 합니다. 반면 DNS 기반 엔드포인트를 사용하려면 IAM 권한만 설정하면 됩니다.
- IP 기반 엔드포인트는 VPC 서비스 제어와 직접 통합되지 않습니다. VPC 서비스 제어는 서비스 경계 수준에서 작동하여 Google Cloud내에서 데이터 액세스 및 이동을 제어합니다. 강력한 보안 방어를 위해 VPC 서비스 제어가 있는 DNS 기반 엔드포인트를 모두 사용하는 것이 좋습니다.
- 승인된 IP 주소 범위(외부 및 내부 IP 주소 포함)를 최대 100개까지 지정할 수 있습니다.
컨트롤 플레인 연결의 전송 보안
클라이언트 라이브러리 또는 kubectl CLI와 같은 방법을 사용하여 클러스터의 Kubernetes API 서버에 요청을 보내면 클라이언트와 서버 간의 연결이 TLS로 보호됩니다.
TLS 연결을 설정하기 위해 서버는 클라이언트에 인증서를 제공합니다. 인증서를 제공하는 특정 서버와 인증서에 서명하는 인증 기관(CA)은 다음과 같이 컨트롤 플레인에 액세스하는 데 사용하는 엔드포인트에 따라 달라집니다.
- DNS 기반 엔드포인트: DNS 기반 엔드포인트를 호스팅하는 Google 프런트엔드 (GFE) 서비스가 인증서를 제공합니다. 인증서는 일반적으로 인정되는 공개 Google CA에서 서명합니다. 클라이언트는 공개 CA 정보를 사용하여 인증서를 검증할 수 있습니다.
- IP 기반 엔드포인트: Kubernetes API 서버가 인증서를 제공합니다.
인증서는 클러스터 루트 CA에 의해 서명됩니다. API 서버 인증서를 검증하려면 클라이언트가 클러스터 루트 CA의 공개 인증서를 사용해야 합니다. gcloud CLI에 액세스할 수 없는 환경에서 클라이언트를 설정하는 경우 클러스터의 루트 CA 인증서를
~/.kube/config파일에 추가해야 합니다. 자세한 내용은 Kubernetes API 서버에 인증을 참고하세요.
API 서버에서 외부 소스에 액세스
GKE 클러스터 컨트롤 플레인은 API 서버, 스케줄러, 컨트롤러와 같은 Kubernetes 컨트롤 플레인 구성요소를 실행합니다. 컨트롤 플레인은 관리 프로젝트에서 GKE가 소유한 Compute Engine VM 인스턴스에서 실행됩니다. 리전 클러스터와 Autopilot 클러스터에는 여러 컨트롤 플레인 복제본이 있으며 각 복제본은 자체 VM 인스턴스에서 실행됩니다.
기본적으로 이러한 각 Compute Engine VM 인스턴스에는 VM에 직접 할당된 외부 IP 주소가 있습니다. 이 IP 주소는 인스턴스의 Kubernetes API 서버에서 클러스터 외부(예: 다른 클라우드 서비스 또는 온프레미스)에서 실행되는 허용 웹훅 서버로 허용 요청을 전송하는 데만 사용됩니다. 이 IP 주소는 승인 웹훅이 서버 URL 또는 서버 IP 주소를 사용하여 웹훅 서버에 직접 연결하는 경우에만 사용됩니다.
컨트롤 플레인의 보안 상태를 개선하려면 컨트롤 플레인 VM 인스턴스에서 외부 IP 주소를 사용 중지하면 됩니다. 보안 침해가 발생한 경우 잠재적 공격자는 이러한 외부 IP 주소를 사용하여 통신할 수 없습니다. 다음과 같은 방법으로 API 서버의 이그레스 트래픽을 맞춤설정할 수 있습니다.
- 이그레스 트래픽 없음 (
NONE): 각 컨트롤 플레인 인스턴스의 외부 IP 주소를 사용 중지하고 API 서버 이그레스 트래픽을 블랙홀로 라우팅합니다. 클러스터 외부의 Google Cloud 서비스로의 트래픽을 비롯하여 API 서버에서 외부 대상으로의 모든 비중요 이그레스 트래픽이 차단됩니다. 이 옵션은 중요한 시스템 트래픽이나 노드의 트래픽에는 영향을 미치지 않습니다. - 모든 이그레스 트래픽 (
VIA_CONTROL_PLANE): 각 컨트롤 플레인 인스턴스의 외부 IP 주소를 유지하고 API 서버가 이그레스 트래픽에 IP 주소를 사용하도록 합니다. 이 옵션은 GKE의 기본값입니다.
이러한 옵션 중 하나에 맞게 클러스터를 맞춤설정하는 방법을 알아보려면 API 서버에서 나가는 트래픽 제한을 참고하세요.
외부 웹훅 구성
컨트롤 플레인 이그레스 제한을 NONE로 설정하면 API 서버가 외부 IP 주소 또는 정규화된 도메인 이름(FQDN)에 직접 호출할 수 없습니다. NONE 설정은 외부 웹훅에 다음과 같은 영향을 미칩니다.
- 버전 1.35.1-gke.1396000 이상에서 GKE는
clientConfig.url필드를 사용하는 ValidatingWebhookConfigurations 또는 MutatingWebhookConfigurations의 생성 또는 업데이트를 방지합니다. clientConfig.url필드를 사용하여 외부 서버에 연결하는 기존 웹훅 구성이 작동하지 않습니다.
외부 웹훅 서버를 만들고 사용하려면 다음을 수행해야 합니다.
clientConfig.service필드를 사용하도록 ValidatingWebhookConfigurations 또는 MutatingWebhookConfigurations를 업데이트합니다. 이 필드를 사용하면 API 서버가 클러스터의 서비스 엔드포인트(예:my-webhook.default.svc)로 요청을 보낼 수 있습니다. 트래픽이 클러스터 내에 있으므로 이러한 요청은 차단되지 않습니다. 자세한 내용은 서비스 참조를 참고하세요.외부 웹훅 서버로 트래픽을 라우팅하도록 서비스를 구성합니다. 보안 및 운영 요구사항에 따라 다음 트래픽 라우팅 설계 중 하나를 사용할 수 있습니다.
- 프록시 포드: 배포 또는 StatefulSet을 서비스의 백엔드로 사용합니다. 수신되는 승인 요청을 외부 웹훅 서버로 리디렉션하는 프록시로 작동하도록 포드를 구성합니다. 이 설계를 사용하면 승인 요청을 검사하고 수정하는 등의 추가 작업을 실행할 수 있습니다.
- EndpointSlices: 선택기 없이 서비스를 만든 다음 서비스를 외부 웹훅 서버의 IP 주소에 매핑하는 EndpointSlice를 수동으로 추가합니다. 이 설계는 요청을 수정하지 않고 트래픽을 라우팅합니다.
웹훅 구성을 설계할 때는 다음 요소를 고려하세요.
- 인증 및 사용자 인증 정보: 외부 웹훅 서버로 인증하는 방법을 고려합니다. 트래픽 라우팅 워크플로는 사용자 인증 정보 (예: API 키, mTLS 인증서, OAuth 토큰)가 연결에 적용되는 방식도 관리해야 합니다.
- 보안 및 네트워크 제어: 라우팅 설계의 공격 표면과 보안 및 감사 옵션을 고려합니다. 구현하는 설계는 트래픽에 적용할 수 있는 제약 조건에 영향을 미칩니다. 예를 들어 프록시 포드와 함께 NetworkPolicies를 사용할 수 있습니다.
- 모니터링 가능성 및 안정성: 연결을 모니터링하는 방법을 고려합니다. 예를 들어 프록시 포드가 측정항목을 내보내도록 구성하거나 EndpointSlices의 네트워크 관측 가능성을 구현할 수 있습니다.
외부 소스에서 노드에 액세스
이 섹션에서는 Kubernetes 클러스터 내에서 노드를 격리하는 방법을 설명합니다.
비공개 노드 사용 설정
내부 IP 주소로만 노드를 프로비저닝하여 외부 클라이언트가 노드에 액세스하지 못하도록 하여 노드를 비공개로 만듭니다. 외부 IP 주소가 없는 노드에서 실행되는 워크로드는 클러스터의 네트워크에서 NAT가 사용 설정되지 않는 한 인터넷에 연결할 수 없습니다. 이 설정은 언제든지 변경할 수 있습니다.
개별 클러스터 수준 또는 노드 풀(Standard의 경우) 또는 워크로드(Autopilot의 경우) 수준에서 비공개 노드를 사용 설정할 수 있습니다. 노드 풀 또는 워크로드 수준에서 비공개 노드를 사용 설정하면 클러스터 수준의 모든 노드 구성이 재정의됩니다.
공개 노드 풀을 비공개 모드로 업데이트하면 클러스터 네트워크 외부 액세스가 필요한 워크로드가 다음 시나리오에서 실패할 수 있습니다.
비공개 Google 액세스가 사용 설정되지 않은 공유 VPC 네트워크의 클러스터입니다. GKE가 할당된 노드 이미지를 다운로드하도록 수동으로 비공개 Google 액세스를 사용 설정합니다. 공유 VPC 네트워크에 없는 클러스터의 경우 GKE가 비공개 Google 액세스를 자동으로 사용 설정합니다.
Cloud NAT가 사용 설정되지 않았거나 커스텀 NAT 솔루션이 정의되지 않은 인터넷에 액세스해야 하는 워크로드입니다. 인터넷으로 이그레스 트래픽을 허용하려면 커스텀 NAT 솔루션 또는 Cloud NAT를 사용 설정합니다.
비공개 노드의 사용 설정 여부와 관계없이 컨트롤 플레인은 내부 IP 주소를 통해서만 모든 노드와 통신합니다.
네트워크 격리의 이점
네트워크 격리의 이점은 다음과 같습니다.
유연성:
- 클러스터가 통합되고 유연한 구성을 갖습니다. 외부 엔드포인트가 있든 없든 클러스터는 모두 동일한 아키텍처를 공유하고 동일한 기능을 지원합니다. 필요에 맞는 제어 및 권장사항에 따라 액세스를 보호할 수 있습니다. 클러스터의 노드와 컨트롤 플레인 간의 모든 통신은 내부 IP 주소를 사용합니다.
- 클러스터를 다시 만들지 않고도 언제든지 컨트롤 플레인 액세스 및 클러스터 노드 구성 설정을 변경할 수 있습니다.
- 인터넷 액세스가 가능한 모든 위치 또는 VPC와 직접 연결되지 않은 네트워크나 기기에서 클러스터를 관리해야 하는 경우 컨트롤 플레인의 외부 엔드포인트를 사용 설정할 수 있습니다. 민감한 워크로드의 네트워크 격리를 유지해야 하는 경우 보안 강화를 위해 외부 엔드포인트를 사용 중지할 수도 있습니다. 어떤 경우든 승인된 네트워크를 사용하여 신뢰할 수 있는 IP 범위에 대한 액세스를 제한할 수 있습니다.
보안:
- VPC 서비스 제어를 사용하는 DNS 기반 엔드포인트는 무단 네트워크와 컨트롤 플레인에 액세스하는 승인되지 않은 ID로부터 클러스터를 보호하는 다층 보안 모델을 제공합니다. VPC 서비스 제어는 컨트롤 플레인에 대한 액세스를 모니터링하기 위해 Cloud 감사 로그와 통합됩니다.
- 비공개 노드와 이러한 노드에서 실행되는 워크로드는 공개 인터넷에서 직접 액세스할 수 없으므로 클러스터에 대한 외부 공격 가능성이 크게 줄어듭니다.
- Google Cloud 외부 IP 주소 또는 외부 IP 주소에서 컨트롤 플레인 액세스를 차단하여 클러스터 컨트롤 플레인을 완전히 격리하고 잠재적인 보안 위협에 대한 노출을 줄일 수 있습니다.
- 공격자가 IP 주소를 사용하지 못하도록 컨트롤 플레인 VM 인스턴스의 외부 IP 주소를 사용 중지할 수 있습니다.
규정 준수: 데이터 액세스 및 스토리지에 대한 규제가 엄격한 업계에서 일하는 경우 비공개 노드를 사용하면 민감한 정보가 비공개 네트워크 내에 유지되므로 규정을 준수하는 데 도움이 됩니다.
제어: 비공개 노드를 사용하면 클러스터 안팎으로 트래픽이 흐르는 방식을 세부적으로 제어할 수 있습니다. 승인된 통신만 허용하도록 방화벽 규칙과 네트워크 정책을 구성할 수 있습니다. 멀티 클라우드 환경에서 운영하는 경우 비공개 노드를 사용하면 다양한 환경 간에 안전하고 제어된 통신을 설정할 수 있습니다.
비용: 비공개 노드를 사용 설정하면 인터넷의 공개 서비스에 액세스하는 데 외부 IP 주소가 필요하지 않은 노드의 비용을 절감할 수 있습니다.
다음 단계
- 네트워크 격리 구성의 안내에 따라 네트워크 격리를 실험합니다.
- API 서버에서 이그레스 트래픽을 제한하는 방법을 알아봅니다.
- Private Service Connect 자세히 알아보기
- 클러스터 아키텍처 개요를 읽습니다.
- 네트워킹 권장사항 알아보기