Apache Spark용 관리형 서비스 네트워크 구성

이 문서에서는 Managed Service for Apache Spark 네트워크 구성의 요구사항을 설명합니다.

가상 프라이빗 클라우드 서브넷 요구사항

이 문서에서는 Apache Spark 일괄 워크로드 및 대화형 세션용 관리 서비스의 가상 프라이빗 클라우드 네트워크 요구사항을 설명합니다.

비공개 Google 액세스

Apache Spark용 관리 서비스 일괄 워크로드 및 대화형 세션은 내부 IP 주소만 있는 VM에서 실행되며, 서브넷에서 비공개 Google 액세스 (PGA)가 자동으로 사용 설정된 리전별 서브넷에서 실행됩니다.

서브넷을 지정하지 않으면 Apache Spark용 관리 서비스가 일괄 워크로드 또는 세션 리전의 default 서브넷을 일괄 워크로드 또는 세션의 서브넷으로 선택합니다.

워크로드에 외부 네트워크 또는 인터넷 액세스가 필요한 경우(예: PyTorch Hub 또는 Hugging Face에서 ML 모델과 같은 리소스를 다운로드하는 경우) VPC 네트워크에서 내부 IP를 사용하여 아웃바운드 트래픽을 허용하도록 Cloud NAT를 설정할 수 있습니다.

서브넷 연결 열기

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 사이에 내부 인그레스 연결 허용을 참고하세요. 모든 포트 (tcp:0-65535, udp:0-65535, icmp protocols:ports)에서 인그레스 통신을 허용하는 default-allow-internal 방화벽 규칙이 있는 프로젝트의 default VPC 네트워크는 open-subnet-connectivity 요구사항을 충족합니다. 하지만 이 규칙은 네트워크의 모든 VM 인스턴스를 통한 인그레스도 허용합니다.

자동으로 생성된 리전 시스템 방화벽 정책

개방형 서브넷 연결 요구사항을 충족하기 위해 런타임 버전 3.0 이상을 사용하는 Apache Spark 일괄 워크로드 및 대화형 세션용 관리 서비스는 일괄 또는 세션 VPC 서브넷에 리전 시스템 방화벽 정책 dataproc-firewall-policy-[network-id]-region 또는 dataproc-fw-[network-id]-region를 자동으로 만듭니다. 이 정책에는 다음과 같은 인그레스 및 이그레스 규칙이 포함되어 있습니다.

이름 목적 우선순위 방향 작업 소스 및 대상 프로토콜 및 포트
dataproc-allow-internal-ingress-rule-[subnetworkId] 동일한 서브넷 내에서 태그가 지정된 다른 Apache Spark용 관리형 서비스 VM에서만 필요한 모든 내부 통신을 허용합니다. 4 인그레스 허용
  • srcSecureTag: 이 서브넷의 보안 태그 값입니다.
  • targetSecureTags:이 서브넷의 보안 태그 값입니다.
  • tcp:0-65535, udp:0-65535, icmp 프로토콜:포트
    dataproc-allow-internal-egress-rule-[subnetworkId] 관리형 Apache Spark 서비스 VM이 pip 및 apt-get과 같은 패키지를 다운로드하고 비공개 Google 액세스를 사용하여 Google API에 액세스할 수 있도록 허용합니다. 5 EGRESS 허용
  • destIpRanges: 0.0.0.0/0.
  • targetSecureTags:이 서브넷의 보안 태그 값입니다.
  • tcp:0-65535, udp:0-65535, icmp 프로토콜:포트

    참고:

    • Managed Service for Apache Spark는 보안 태그를 저장하기 위해 사용자 프로젝트와 연결된 테넌트 프로젝트를 프로비저닝합니다. Apache Spark용 관리형 서비스는 테넌트 프로젝트의 서브넷에 보안 태그를 만들고 이를 Apache Spark용 관리형 서비스 VM에 연결하여 생성된 시스템 방화벽 정책이 Apache Spark용 관리형 서비스 VM에만 적용되도록 합니다.

    • 자동으로 생성된 시스템 방화벽 정책은 공유 VPC에서 지원되지 않습니다.

    Apache Spark용 관리형 서비스 및 VPC-SC 네트워크

    VPC 서비스 제어를 사용하면 네트워크 관리자가 Google 관리형 서비스 리소스 주위에 보안 경계를 정의하여 해당 서비스 간의 통신을 제어할 수 있습니다.

    Apache Spark용 관리형 서비스에서 VPC-SC 네트워크를 사용할 때는 다음 전략을 고려하세요.

    자세한 내용은 VPC 서비스 제어 - Apache Spark용 관리형 서비스를 참고하세요.