이 문서에서는 Managed Service for Apache Spark 네트워크 구성의 요구사항을 설명합니다.
가상 프라이빗 클라우드 서브네트워크 요구사항
이 문서에서는 Managed Service for Apache Spark 일괄 워크로드 및 대화형 세션의 가상 프라이빗 클라우드 네트워크 요구사항을 설명합니다.
비공개 Google 액세스
Managed Service for Apache Spark 일괄 워크로드 및 대화형 세션은 내부 IP 주소만 있는 VM과 서브넷에서 비공개 Google 액세스 (PGA) 가 자동으로 사용 설정된 리전 서브넷에서 실행됩니다.
서브넷을 지정하지 않으면 Managed Service for Apache Spark는 일괄 워크로드 또는 세션 리전의 default 서브넷을 일괄 워크로드 또는 세션의 서브넷으로 선택합니다.
워크로드에 외부 네트워크 또는 인터넷 액세스가 필요한 경우(예: PyTorch Hub 또는 Hugging Face에서 ML 모델과 같은 리소스를 다운로드하기 위해) VPC 네트워크에서 내부 IP를 사용하여 아웃바운드 트래픽을 허용하도록 Cloud NAT를 설정할 수 있습니다.
개방형 서브넷 연결
Managed Service for Apache Spark 일괄 워크로드 또는 대화형 세션에 선택된 리전의 VPC 서브넷은 서브넷 내 VM 인스턴스 간의 모든 포트에서 내부 통신을 허용해야 합니다.
한 워크로드의 악성 스크립트가 다른 워크로드에 영향을 미치지 않도록 Managed Service for Apache Spark는 기본 보안 조치를 배포합니다.
다음 Google Cloud CLI 명령어는 모든 포트에서 모든 프로토콜을 사용하여 VM 간의 내부 인그레스 통신을 허용하는 네트워크 방화벽을 서브넷에 연결합니다.
gcloud compute firewall-rules create allow-internal-ingress \ --network=NETWORK_NAME \ --source-ranges=SUBNET_RANGES \ --destination-ranges=SUBNET_RANGES \ --direction=ingress \ --action=allow \ --rules=all
참고:
SUBNET_RANGES: VM 사이에 내부 인그레스 연결 허용을 참조하세요.
defaultVPC 네트워크는 모든 포트 (tcp:0-65535,udp:0-65535,icmp protocols:ports)에서 인그레스 통신을 허용하는default-allow-internal방화벽 규칙이 있는 프로젝트의 open-subnet-connectivity 요구사항을 충족합니다. 하지만 이 규칙은 네트워크의 모든 VM 인스턴스의 인그레스도 허용합니다.
자동으로 생성되는 리전 시스템 방화벽 정책
개방형 서브넷 연결 요구사항을 충족하기 위해
런타임 버전 3.0 이상을 사용하는 Managed Service for Apache Spark 일괄 워크로드 및 대화형 세션은 일괄 또는 세션 VPC 서브넷에서 리전
시스템 방화벽 정책 dataproc-firewall-policy-[network-id]-region 또는
dataproc-fw-[network-id]-region을 자동으로 만듭니다.
이 정책에는 다음과 같은 인그레스 및 이그레스 규칙이 포함됩니다.
| 이름 | 목적 | 우선순위 | 방향 | 작업 | 소스 및 대상 | 프로토콜 및 포트 |
|---|---|---|---|---|---|---|
dataproc-allow-internal-ingress-rule-[subnetworkId] |
동일한 서브넷 내에서 태그가 지정된 다른 Managed Service for Apache Spark VM에서만 필요한 모든 내부 통신을 허용합니다. | 4 | 인그레스 | 허용 |
srcSecureTag: 이 서브넷의 보안 태그 값입니다.targetSecureTags:이 서브넷의 보안 태그 값입니다. |
tcp:0-65535, udp:0-65535, icmp 프로토콜:포트 |
dataproc-allow-internal-egress-rule-[subnetworkId] |
Managed Service for Apache Spark VM이 패키지(예: pip 및 apt-get)를 다운로드하고 비공개 Google 액세스를 사용하여 Google API에 액세스하도록 허용합니다. | 5 | 이그레스 | 허용 |
destIpRanges: 0.0.0.0/0.targetSecureTags:이 서브넷의 보안 태그 값입니다. |
tcp:0-65535, udp:0-65535, icmp 프로토콜:포트 |
참고:
Managed Service for Apache Spark는 보안 태그를 저장하기 위해 사용자 프로젝트와 연결된 테넌트 프로젝트를 프로비저닝합니다. Managed Service for Apache Spark는 테넌트 프로젝트의 서브넷에 보안 태그를 만들고 이를 Managed Service for Apache Spark VM에 연결하여 생성된 시스템 방화벽 정책이 Managed Service for Apache Spark VM에만 적용되도록 합니다.
자동으로 생성되는 시스템 방화벽 정책은 공유 VPC에서 지원되지 않습니다.
Managed Service for Apache Spark 및 VPC-SC 네트워크
네트워크 관리자는 VPC 서비스 제어를 사용하여 Google 관리형 서비스 리소스 주위에 보안 경계를 정의하여 해당 서비스 간의 통신을 제어할 수 있습니다.
Managed Service for Apache Spark에서 VPC-SC 네트워크를 사용할 때는 다음 전략을 고려하세요.
VPC-SC 경계 외부에 종속 항목을 사전 설치하는 커스텀 컨테이너 이미지 를 만든 후 커스텀 컨테이너 이미지를 사용하는 Spark 배치 워크로드 를 제출합니다.
자세한 내용은 VPC 서비스 제어 - Managed Service for Apache Spark를 참조하세요.