보안 그룹 규칙

이 주제에서는 AWS용 GKE에서 클러스터에 대한 AWS 보안 그룹 규칙을 관리하고 노드 풀 및 제어 영역 복제본에 대해 방화벽 규칙을 수정하는 방법을 설명합니다.

보안 그룹 및 호스팅된 DNS

AWS에서 제공하는 DNS 대신 호스팅된 DNS 서버를 사용하는 경우 제어 영역노드 풀 보안 그룹이 TCP 및 UDP 포트 53에서 아웃바운드 트래픽을 허용해야 합니다.

제어 영역 보안 그룹

제어 영역 보안 그룹은 각 제어 영역 복제본의 인바운드 및 아웃바운드 TCP 트래픽을 위해 방화벽 규칙을 정의합니다.

제어 영역은 AWS 네트워크 부하 분산기(NLB) 뒤에 있는 세 개의 EC2 인스턴스로 구성됩니다. 이러한 인스턴스는 다른 노드, 노드 풀 노드, NLB의 etcd 인스턴스에서 연결하도록 허용합니다. 또한 제어 영역 인스턴스는 Google 및 AWS 서비스에 대해 아웃바운드 HTTPS 연결을 수행합니다.

AWS용 GKE는 모든 제어 영역 인스턴스에 대해 관리되는 제어 영역 보안 그룹을 만들고 연결합니다. 이 그룹의 규칙은 수정하지 않아야 합니다. 보안 그룹 규칙을 더 추가해야 할 경우에는 대신 클러스터를 만들 때 제어 영역에 연결할 추가 보안 그룹 ID를 지정합니다.

기본 제어 영역 보안 그룹 규칙

다음은 AWS용 GKE가 제어 영역에 연결하는 기본 규칙입니다. 이러한 규칙은 사용자의 보안 그룹과 정확하게 일치하지 않습니다. 표의 각 행은 여러 AWS 보안 그룹 규칙으로 확장될 수 있습니다.

유형 프로토콜 포트 주소 범위 또는 SG 설명
인바운드 TCP(클러스터 버전 1.26 미만) 443 VPC 기본 CIDR 범위 노드 풀 노드에서 HTTPS를 허용합니다.
인바운드 TCP(클러스터 버전 1.26 이상) 443 노드 풀의 서브넷 CIDR 범위 노드 풀 노드에서 HTTPS를 허용합니다(노드 풀에서 사용하는 서브넷당 규칙 하나).
인바운드 TCP 2380 제어 영역 SG 제어 영역 etcd 복제를 허용합니다.
인바운드 TCP 2381 제어 영역 SG 제어 영역 etcd 이벤트 복제를 허용합니다.
인바운드 TCP(클러스터 버전 1.26 미만) 8132 VPC 기본 CIDR 범위 노드 풀의 Konnectality 연결을 허용합니다.
인바운드 TCP(클러스터 버전 1.26 이상) 8132 노드 풀의 서브넷 CIDR 범위 노드 풀 노드에서 Konnectivity 연결을 허용합니다(노드 풀에서 사용하는 서브넷당 규칙 하나).
인바운드 TCP 11872 제어 영역 CIDR 범위 부하 분산기의 HTTP 상태 확인
아웃바운드 TCP 443 0.0.0.0/0 아웃바운드 HTTPS를 허용합니다.
아웃바운드 TCP 2380 제어 영역 SG 제어 영역 etcd 복제를 허용합니다.
아웃바운드 TCP 2381 제어 영역 SG 제어 영역 etcd 이벤트 복제를 허용합니다.

노드 풀 보안 그룹

노드 풀 보안 그룹은 노드 풀의 VM에서 인바운드 및 아웃바운드 TCP 트래픽에 대해 방화벽 규칙을 정의합니다.

AWS용 GKE는 관리되는 노드 풀 보안 그룹을 만들고 이를 모든 노드 풀 인스턴스에 연결합니다. 이 그룹의 규칙은 수정하지 않아야 합니다. 보안 그룹 역할을 더 추가해야 할 경우에는 대신 노드 풀을 만들 때 인스턴스에 연결할 추가 보안 그룹 ID를 지정합니다.

기본적으로 노드 풀 VM에는 열린 포트가 없습니다. 수신 트래픽을 허용하려면 노드 풀을 만들 때 노드 풀 보안 그룹을 추가하고 보안 그룹을 통해 노드 풀에 대해 원하는 인바운드/아웃바운드 규칙을 관리합니다.

기본 노드 풀 보안 그룹 규칙

다음은 AWS용 GKE가 노드 풀에 연결하는 기본 규칙입니다. 이러한 규칙은 사용자의 보안 그룹과 정확하게 일치하지 않습니다. 표의 각 행은 여러 AWS 보안 그룹 규칙으로 확장될 수 있습니다.

유형 프로토콜 포트 주소 범위 또는 SG 설명
인바운드 TCP 전체 노드 풀 SG 포드 간 통신을 허용합니다.
아웃바운드 TCP 전체 노드 풀 SG 포드 간 통신을 허용합니다.
아웃바운드 TCP 443 0.0.0.0/0 아웃바운드 HTTPS를 허용합니다.
아웃바운드 TCP 8132 제어 영역 SG 제어 영역에 대해 Konnectivity 연결을 허용합니다.
아웃바운드 TCP 8132 제어 영역 CIDR 범위 제어 영역에 대해 Konnectivity 연결을 허용합니다.

VPC 보조 CIDR 블록의 노드 풀

AWS용 GKE 버전 1.26 이상에서는 보조 VPC CIDR 블록의 서브넷을 사용하여 노드 풀을 지원하는 데 필요한 보안 그룹 규칙을 자동으로 만들고 관리합니다. 이러한 버전 중 하나를 사용하는 경우에는 커스텀 보안 그룹을 만들거나 수동으로 업데이트할 필요가 없습니다.

하지만 관리형 제어 영역 보안 그룹을 만들 때 이전 버전의 AWS용 GKE에서는 보조 VPC CIDR 블록의 서브넷을 사용하여 노드 풀을 지원하는 규칙을 만들지 않습니다.

이러한 제한을 해결하기 위해서는 제어 영역에 대해 커스텀 보안 그룹을 만듭니다. --security-group-ids 플래그를 사용하여 클러스터를 만들 때 보안 그룹 ID를 전달합니다. 또는 클러스터의 보안 그룹을 업데이트할 수 있습니다.

다음 규칙을 사용하여 보안 그룹을 만듭니다.

유형 프로토콜 포트 주소 범위 또는 SG 설명
인바운드 TCP 443 노드 풀 범위(VPC 보조 CIDR 블록) 노드 풀 노드에서 HTTPS를 허용합니다.
인바운드 TCP 8132 노드 풀 범위(VPC 보조 CIDR 블록) 노드 풀의 Konnectality 연결을 허용합니다.

다음 단계