내부 스테이지용 Google Private Service Connect 엔드포인트

이 항목에서는 `Google Private Service Connect 엔드포인트<https://cloud.google.com/vpc/docs/private-service-connect#endpoints>`_를 통해 Snowflake 내부 스테이지로 연결하는 자세한 지침과 개념을 제공합니다.

Google Private Service Connect 엔드포인트: 개요

Google Private Service Connect(PSC) 엔드포인트를 구성하여 Snowflake 내부 스테이지에 안전한 비공개 연결을 제공합니다. 이러한 설정을 통해 Snowflake 내부 스테이지로의 데이터 로딩 및 언로딩 작업에서 공용 인터넷이 아닌 Google PSC 네트워크를 사용할 수 있습니다. 다음 다이어그램은 이러한 새로운 지원을 요약하여 보여줍니다.

Google Private Services Connect를 사용하여 내부 스테이지에 연결하기

다음 목록은 다이어그램의 숫자에 대한 정보를 제공합니다.

  • 이 다이어그램에서는 단일 Snowflake 내부 스테이지(2 및 3)를 가리키는 하나의 Google VPC 네트워크에서 단일 PSC 엔드포인트를 보여줍니다.

참고

동일한 Snowflake 내부 스테이지에 액세스하는 동일한 VPC 네트워크 내에서 여러 비공개 엔드포인트를 구성할 수 있습니다.

  • 1번과 같이 온프레미스 사용자는 Snowflake에 직접 연결할 수 있습니다.

  • Snowflake 내부 스테이지에 연결하려면 온프레미스 사용자는 VPC 네트워크, 2를 통해 요청을 라우팅한 후 Google PSC 네트워크, 3을 통해 요청을 라우팅하여 Snowflake 내부 스테이지에 연결해야 합니다.

이점

Snowflake 내부 스테이지에 액세스하기 위해 비공개 엔드포인트를 구현할 때의 이점은 다음과 같습니다.

  • 내부 스테이지 데이터가 공용 인터넷을 트래버스하지 않습니다.

  • 온프레미스 클라이언트 및 SaaS 애플리케이션이 Google PSC 네트워크를 사용하여 Snowflake 내부 스테이지 버킷에 안전하게 액세스할 수 있습니다.

  • 내부 스테이지 데이터에 액세스할 수 있도록 관리자가 방화벽 설정을 수정할 필요가 없습니다.

  • 관리자가 일관된 보안 및 모니터링을 구현하여 내부 스테이지에 대한 액세스를 제한할 수 있습니다.

제한 사항

  • 최대 10개의 VPC 네트워크가 Snowflake 계정의 허용 목록에 추가될 수 있습니다.

Snowflake 내부 스테이지에 액세스하기 위한 비공개 엔드포인트 구성하기

Snowflake 내부 스테이지에 액세스하도록 비공개 엔드포인트를 구성하려면 다음 3가지 역할을 사용해야 합니다.

  • Snowflake ACCOUNTADMIN 시스템 역할.

  • Google Cloud 관리자.

  • 네트워크 관리자.

조직의 역할 계층 구조에 따라 두 명 이상의 사용자 또는 팀과 구성 작업을 조정해야 할 수도 있습니다.

Google PSC 엔드포인트를 통한 Snowflake 내부 스테이지로의 보안 액세스를 구성 및 구현하려면 다음 단계를 완료합니다.

  1. Google Cloud 관리자는 Google Cloud 콘솔을 사용하여 Snowflake가 네트워크 액세스를 제한하는 데 사용하는 정규화된 경로 값을 가져옵니다.

    1. https://console.cloud.google.com에서 Quick Access » VPC Network`로 이동한 후 |ra| :extui:`VPC Networks » :extui:`Name`에서 프로젝트를 선택합니다.

    2. VPC network details 에서 Equivalent REST 를 선택합니다.

    3. Equivalent REST Response`에서 `”selfLink”``의 값을 복사합니다.

      이 값은 :samp:`projects/{vpc_network_name}/global/networks/{network_name}`과 같아야 합니다.

      이 값을 다음 단계에서 시스템 함수에 대한 'google_cloud_vpc_network_name' 인자로 제공합니다.

  2. Snowflake에서 ACCOUNTADMIN 역할을 통해 SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS 함수를 호출하여 내부 스테이지에 대한 액세스 권한을 부여합니다. 예:

    USE ROLE ACCOUNTADMIN;
    SELECT SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
    
    Copy
  3. Google Cloud 관리자로 https://console.cloud.google.com/에 방문하고, Google PSC 엔드포인트를 생성한 후 Snowflake가 액세스할 VPC 네트워크에 연결합니다.

    1. 새 엔드포인트를 생성합니다. Network services » :extui:`Private Service Connect`에서 :extui:`Connect endpoint`를 선택합니다.

    2. :extui:`Target`에서, ``All Google APIs``를 대상으로 선택한 후 필수 필드를 채웁니다.

      참고

      ``All Google APIs``는 전역 엔드포인트에 적합합니다. 현재는 전역 엔드포인트만 지원됩니다.

    3. ADD ENDPOINT 을 선택합니다.

  4. 새로 생성된 Google PSC 엔드포인트 IP 주소 및 Google PSC 엔드포인트가 연결되는 VPC 네트워크 ID를 기록합니다.

  5. 네트워크 관리자로 DNS 설정을 구성하여 URLs를 확인합니다.

    1. :extui:`Network services`에서 :extui:`Cloud DNS`로 이동합니다.

    2. 다음 설정으로 새 DNS 영역을 생성합니다.

      • 영역 유형: private

      • DNS 이름: storage.googleapis.com

      • 선택 사항: Default (private)

      • 네트워크: prod

    3. CREATE 을 선택합니다.

  6. 새로운 비공개 DNS 영역에서 다음 값을 사용하여 새 레코드를 만듭니다.

    1. 내부 스테이지의 버킷 이름을 사용합니다.

    2. 리소스 레코드 유형: A

    3. IPv4 주소: 10.10.80.55 — 이전에 생성한 Google PSC 엔드포인트의 IP 주소를 사용합니다.

    4. CREATE 을 선택합니다.

  7. 동일한 VPC의 클라이언트에서, 내부 스테이지 URL이 nslookup 또는 dig 명령을 사용하여 엔트포인트의 IP 주소를 해석하는지 확인합니다.

    예를 들어, 다음 dig 명령을 사용하여 해석을 확인합니다.

    dig gcpeuropewest4-63osaw1-stage.storage.googleapis.com
    
    Copy

    올바르게 구성된 전역 엔드포인트는 다음과 같은 결과를 반환해야 합니다.

    DNS name: gcpeuropewest4-63osaw1-stage
    

Snowflake 내부 스테이지에 대한 액세스 취소하기

Google PSC 비공개 엔드포인트를 통한 Snowflake 내부 스테이지 액세스를 취소하려면 다음 단계를 완료합니다.

  1. Snowflake 관리자로서 ENABLE_INTERNAL_STAGES_PRIVATELINK 매개 변수가 ``TRUE``로 설정되어 있는지 확인합니다. 예:

    USE ROLE ACCOUNTADMIN;
    SHOW PARAMETERS LIKE 'enable_internal_stages_privatelink' IN ACCOUNT;
    
    Copy
  2. Snowflake 관리자로서, SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS 함수를 호출하고 비공개 엔드포인트에 대한 기존의 액세스를 승인하는 데 사용된 값과 동일한 google_cloud_vpc_network_name 값을 사용하여 비공개 엔드포인트에 대한 액세스 권한을 취소합니다. 예:

    USE ROLE ACCOUNTADMIN;
    SELECT SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
    
    Copy
  3. Google Cloud 관리자로서, Google Cloud 포털을 통해 비공개 엔드포인트를 삭제합니다.

  4. 네트워크 관리자로서, 저장소 계정 URL을 확인하는 데 사용된 DNS 및 별칭 레코드를 제거합니다.

해당 단계를 완료하면 VPC 네트워크에 대한 액세스 권한이 취소됩니다.