비공개 인스턴스 만들기

이 페이지에서는 비공개 IP 주소를 사용하여 Cloud Data Fusion 인스턴스를 만드는 방법을 설명합니다. VPC 네트워크 또는 공유 VPC 네트워크에서 비공개 Cloud Data Fusion 인스턴스를 만듭니다.

비공개 Cloud Data Fusion IP 인스턴스를 만들면 다음과 같은 이점이 있습니다.

  • Cloud Data Fusion 인스턴스에 대한 연결이 Google Cloud 프로젝트의 비공개 VPC 네트워크를 통해 설정됩니다. 이 네트워크의 트래픽은 공개 인터넷을 통해 전달되지 않습니다.

  • Cloud VPN 또는 Cloud Interconnect로 온프레미스 네트워크를 Google Cloud 비공개 VPC 네트워크에 연결하여 인스턴스가 관계형 데이터베이스와 같은 온프레미스 리소스에 연결할 수 있습니다. Google Cloud에 대한 액세스를 설정하지 않고 비공개 네트워크를 통해 데이터베이스와 같은 온프레미스 리소스에 안전하게 액세스할 수 있습니다.

VPC 네트워크 설정

아직 만들지 않았으면 VPC 네트워크 또는 공유 VPC 네트워크를 만듭니다.

이 섹션에서는 VPC 네트워크를 설정하는 데 필요한 비공개 Google 액세스를 사용 설정하고 IP 범위를 할당하는 방법을 설명합니다.

비공개 Google 액세스 사용 설정

비공개 Cloud Data Fusion 인스턴스를 만드는 리전에는 비공개 Google 액세스가 사용 설정된 서브넷이 있어야 합니다.

서브넷에 비공개 Google 액세스를 사용 설정하려면 다음 단계를 따르세요.

  1. Google Cloud Console에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크 페이지 열기

  2. 리전 열에서 비공개 Cloud Data Fusion 인스턴스를 만들려는 리전을 찾습니다. 이 리전의 서브넷을 클릭합니다.

  3. 수정을 클릭합니다.

  4. 비공개 Google 액세스에서 사용을 클릭합니다.

  5. 저장을 클릭합니다.

    이미지

IP 범위 할당

이 단계는 Cloud Data Fusion 인스턴스의 IP 범위를 할당하는 방법을 보여줍니다. 파이프라인은 Cloud Data Fusion 인스턴스에 할당된 것과 다른 IP 범위를 사용하는 Dataproc 클러스터에서 실행됩니다.

공유 VPC 네트워크를 사용할 경우에만 다음 단계를 수행합니다. 공유 VPC 네트워크를 사용하지 않으면 인스턴스를 만들 때 Cloud Data Fusion에서 IP 범위를 자동으로 할당합니다. 공유 VPC 네트워크를 사용하지 않을 경우에는 이 섹션을 건너뛰고 비공개 인스턴스 만들기로 이동합니다.

Cloud Data Fusion 인스턴스의 IP 범위를 할당하려면 다음 단계를 따르세요.

  1. Cloud Console에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. 이름에서 비공개 Cloud Data Fusion 인스턴스를 만들려는 VPC 네트워크를 클릭합니다.

  3. VPC 네트워크 세부정보 페이지에서 비공개 서비스 연결 탭을 클릭합니다. 메시지가 표시되면 API 사용 설정을 클릭하여 Service Networking API를 사용 설정합니다.

    이미지

  4. IP 범위 할당을 클릭합니다.

    1. IP 범위에 이름을 지정합니다.

    2. IP 범위에서 자동을 선택합니다.

    3. 프리픽스 크기를 22로 지정합니다.

    4. 할당을 클릭합니다.

      이미지

비공개 인스턴스 만들기

VPC 네트워크 또는 공유 VPC 네트워크에서 비공개 Cloud Data Fusion 인스턴스를 만듭니다. VPC 네트워크에서 인스턴스를 만들려면 Cloud Console 또는 cURL을 사용합니다. 공유 VPC 네트워크에서 인스턴스를 만들려면 cURL을 사용합니다.

VPC 네트워크에서 비공개 인스턴스 만들기

Cloud Console을 사용하여 비공개 인스턴스를 만들면 Cloud Data Fusion에서 자동으로 /22 IP 주소 범위를 할당합니다. 대신 원하는 IP 할당을 명시적으로 제공하려면 cURL 명령어를 사용하세요.

Console

API가 사용 설정된 경우 Cloud Console의 Cloud Data Fusion 섹션에 Cloud Data Fusion 인스턴스를 관리할 수 있는 인스턴스 페이지가 표시됩니다. 인스턴스가 존재하지 않는 경우 페이지에 인스턴스 생성을 위한 링크와 함께 유용한 몇 가지 문서 및 샘플 링크가 표시됩니다.

  1. Cloud Console에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기로 이동

  2. 인스턴스 이름을 입력합니다.

  3. 인스턴스의 설명을 입력합니다.

  4. 인스턴스를 만들려는 리전을 선택합니다. 이 리전은 비공개 Google 액세스가 사용 설정된 리전입니다.

  5. 원하는 Cloud Data Fusion 버전을 지정합니다.

  6. 원하는 Cloud Data Fusion 버전을 선택합니다.

  7. Cloud Data Fusion 버전 6.2.3 이상에서 Dataproc에서 Cloud Data Fusion 파이프라인을 실행하는 데 사용할 Dataproc 서비스 계정을 지정합니다. UI에서 기본 Compute Engine 계정을 미리 선택합니다. 버전에 관계없이 서비스 계정에 필요에 맞는 적절한 ID 및 액세스 관리 역할이 있는지 확인합니다. 자세한 내용은 서비스 계정 사용자 권한 부여를 참조하세요.

  8. 고급 옵션을 클릭합니다. 비공개 IP에서 비공개 IP 사용 설정을 선택합니다.

  9. 연결된 네트워킹에서 비공개 인스턴스를 만들려는 네트워크를 선택합니다.

  10. 만들기를 클릭합니다. 인스턴스 생성 프로세스가 완료되는 데 최대 30분이 걸립니다.

cURL

편의를 위해 다음 변수를 내보내거나 아래 명령어에 이러한 값을 직접 대체할 수 있습니다.

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

REST API로 Cloud Data Fusion 인스턴스를 만들려면 다음 create API 요청을 제출합니다.

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=instance_id -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "network", "ipAllocation": "ip_range"}}'
매개변수 설명
instance_id 인스턴스의 ID를 제공합니다.
network 비공개 인스턴스를 만들려는 VPC 네트워크의 이름입니다.
ip_range 할당한 IP 범위입니다. Cloud Console에서 VPC 네트워크 세부정보 페이지로 이동하여 비공개 서비스 연결 탭의 내부 IP 범위 아래에서 IP 범위를 확인할 수 있습니다.

공유 VPC 네트워크에서 비공개 인스턴스 만들기

편의를 위해 다음 변수를 내보낼 수 있습니다. 또는 아래 명령어에서 이 값을 직접 대체할 수 있습니다.

export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com

REST API로 Cloud Data Fusion 인스턴스를 만들려면 다음 create API 요청을 제출합니다.

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instanceId=instance_id -X POST -d '{"description": "Private CDF instance created through REST.", "type": "ENTERPRISE", "privateInstance": true, "networkConfig": {"network": "projects/shared_vpc_host_project_id/global/networks/network", "ipAllocation": "ip_range"}}'
  

매개변수 설명
instance_id 인스턴스의 ID를 제공합니다.
shared_vpc_host_project_id 공유 VPC 네트워크를 호스팅할 프로젝트의 ID입니다.
network 비공개 인스턴스를 만들려는 VPC 네트워크의 이름입니다.
ip_range 할당한 IP 범위입니다. Cloud Console에서 VPC 네트워크 세부정보 페이지로 이동하여 비공개 서비스 연결 탭의 내부 IP 범위 아래에서 IP 범위를 확인할 수 있습니다.

VPC 네트워크 피어링 설정

Cloud Data Fusion은 VPC 네트워크 피어링을 사용하여 VPC 네트워크에 대한 네트워크 연결을 설정합니다. 그러면 Cloud Data Fusion이 비공개 IP 주소를 통해 네트워크의 리소스에 액세스할 수 있습니다.

이 섹션에서는 개발자 네트워크와 Cloud Data Fusion 테넌트 프로젝트 네트워크 사이에 피어링 구성을 만드는 방법을 설명합니다.

테넌트 프로젝트 ID 확인

피어링 구성을 만들려면 테넌트 프로젝트 ID가 필요합니다.

  1. Cloud Console에서 Cloud Data Fusion 인스턴스 페이지로 이동합니다.

    인스턴스로 이동

  2. 인스턴스 이름에서 인스턴스를 선택합니다.

  3. 인스턴스 세부정보 페이지에서 인스턴스의 서비스 계정 값을 복사합니다. 테넌트 프로젝트 ID는 'at' 기호(@)와 그 다음에 오는 마침표(.) 사이의 부분입니다. 예를 들어 서비스 계정 값이
    cloud-datafusion-management-sa@r8170c9b5e7699803-tp.iam.gserviceaccount.com
    이면 테넌트 프로젝트 ID는 r8170c9b5e7699803-tp입니다.

    이미지

피어링 연결 만들기

  1. Cloud Console에서 VPC 네트워크 피어링 페이지로 이동합니다.

    VPC 네트워크 피어링으로 이동

  2. 피어링 연결 만들기를 클릭합니다.

  3. 계속을 클릭합니다.

  4. 피어링 연결 이름을 입력합니다.

  5. VPC 네트워크에서 Cloud Data Fusion 인스턴스를 만든 네트워크를 선택합니다.

  6. 피어링된 VPC 네트워크에서 다른 프로젝트 내를 선택합니다.

  7. 프로젝트 ID에 이 가이드의 앞부분에서 확인한 테넌트 프로젝트 ID를 입력합니다.

  8. VPC 네트워크 이름instance_region-instance_id를 입력합니다.

    • instance_region은 Cloud Data Fusion 인스턴스를 만든 리전입니다.
    • instance_id는 Cloud Data Fusion 인스턴스의 ID입니다.
  9. 커스텀 경로 교환을 클릭합니다. 커스텀 경로 내보내기를 선택합니다. 이렇게 하면 VPC 네트워크에서 정의된 모든 커스텀 경로를 테넌트 VPC 네트워크와 교환할 수 있습니다.

  10. 만들기를 클릭합니다.

    이미지

IAM 권한 설정

공유 VPC 네트워크를 사용할 경우에만 다음 단계를 수행합니다. 공유 VPC 네트워크를 사용하지 않을 경우에는 이 섹션을 건너뛰고 방화벽 규칙 만들기로 이동합니다.

공유 VPC 네트워크에서 Cloud Data Fusion 인스턴스를 만들 경우 공유 VPC 호스트 프로젝트에 액세스할 수 있도록 Compute 네트워크 사용자 역할을 다음 서비스 계정에 부여해야 합니다.

  • Cloud Data Fusion 서비스 계정: service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com
  • Dataproc 서비스 계정: service-project-number@dataproc-accounts.iam.gserviceaccount.com

project-number는 Cloud Data Fusion 인스턴스가 속한 Cloud Console 프로젝트 번호입니다.

필요한 서비스 계정에 액세스 권한을 부여하려면 단계를 따르세요.

방화벽 규칙 만들기

VPC 네트워크에서 비공개 Cloud Data Fusion 인스턴스를 만들 때 지정한 IP 범위에서 들어오는 SSH 연결을 허용하는 방화벽 규칙을 만듭니다.

Cloud Console 또는 gcloud를 사용하여 방화벽 규칙을 만들 수 있습니다. gcloud를 사용하려면 다음 명령어를 실행합니다.

  gcloud compute firewall-rules create name-allow-ssh --allow=tcp:22 --source-ranges=ip_range --network=network --project=project
  

매개변수 설명
name 만들려는 방화벽 규칙의 이름입니다.
ip_range 할당한 IP 범위입니다. Cloud Console에서 VPC 네트워크 세부정보 페이지로 이동하여 비공개 서비스 연결 탭의 내부 IP 범위 아래에서 IP 범위를 확인할 수 있습니다.
network 이 규칙이 연결된 네트워크입니다. 비공개 인스턴스를 만든 VPC 네트워크의 이름입니다.
project VPC 네트워크를 호스팅할 프로젝트의 ID입니다.


이제 비공개 Cloud Data Fusion 인스턴스를 사용할 수 있습니다.

다음 단계