이 페이지에서는 내부 IP 주소로 Cloud Data Fusion 인스턴스를 만드는 방법을 보여줍니다. VPC 네트워크 또는 공유 VPC 네트워크에 인스턴스를 만듭니다.
비공개 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 액세스를 사용 설정하려면 비공개 Google 액세스 구성을 참조하세요.
IP 범위 할당
VPC 네트워크
공유 VPC 네트워크를 사용하지 않는 경우 Cloud Data Fusion는 사용자가 인스턴스를 만들 때 기본적으로 IP 범위를 할당합니다.
공유된 VPC 네트워크
공유 VPC 네트워크를 사용하려면 Cloud Data Fusion 인스턴스에 대해 IP 범위를 할당해야 합니다. 파이프라인은 Cloud Data Fusion 인스턴스에 할당된 것과 다른 IP 범위를 사용하는 Dataproc 클러스터에서 실행됩니다.
Cloud Data Fusion 인스턴스의 IP 범위를 할당하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
이름 열에서 비공개 Cloud Data Fusion 인스턴스를 만들려는 VPC 네트워크를 클릭합니다.
VPC 네트워크 세부정보 페이지가 열립니다.
비공개 서비스 연결을 클릭합니다. 메시지가 표시되면 API 사용 설정을 클릭하여 Service Networking API를 사용 설정합니다.
IP 범위 할당을 클릭합니다.
IP 범위에 이름을 지정합니다.
IP 범위에 대해 자동을 클릭합니다.
프리픽스 크기를
22
로 지정합니다.할당을 클릭합니다.
비공개 인스턴스 만들기
VPC 네트워크 또는 공유 VPC 네트워크에 Cloud Data Fusion 인스턴스를 만듭니다.
VPC 네트워크
VPC 네트워크에서 인스턴스를 만들려면 Google Cloud 콘솔이나 cURL을 사용합니다.
Google Cloud 콘솔을 사용하여 비공개 인스턴스를 만들면 Cloud Data Fusion에서 기본적으로 /22
IP 주소 범위를 할당합니다. 다른 IP 범위를 선택하려면 cURL 명령어를 사용해야 합니다.
Console
Data Fusion 인스턴스 만들기 페이지로 이동합니다.
인스턴스의 이름과 설명을 입력합니다.
인스턴스를 만들 리전을 선택합니다. 리전에 비공개 Google 액세스를 사용 설정해야 합니다.
Cloud Data Fusion 버전과 버전을 선택합니다.
Dataproc에서 Cloud Data Fusion 파이프라인을 실행하는 데 사용할 Dataproc 서비스 계정을 지정합니다. 기본값인 Compute Engine 계정이 미리 선택되어 있습니다.
고급 옵션 메뉴를 확장하고 비공개 IP 사용 설정을 클릭합니다.
네트워크 필드에서 인스턴스를 만들려는 네트워크를 선택합니다.
만들기를 클릭합니다. 인스턴스 생성 프로세스가 완료되는 데 최대 30분이 걸립니다.
cURL
편의를 위해 다음 변수를 내보내거나 다음 명령어에 이러한 값을 직접 대체할 수 있습니다.
export PROJECT=PROJECT_ID
export LOCATION=REGION
export DATA_FUSION_API_NAME=datafusion.googleapis.com
인스턴스를 만들려면 해당 create()
메서드를 호출합니다.
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_NAME", "ipAllocation": "IP_RANGE"}}'
다음을 바꿉니다.
INSTANCE_ID
: 인스턴스의 ID 문자열입니다.NETWORK_NAME
: 비공개 인스턴스를 만들려는 VPC 네트워크의 이름입니다.IP_RANGE
: 할당한 IP 범위입니다. Google Cloud 콘솔에서 IP 범위를 찾으려면 VPC 네트워크 세부정보 > 비공개 서비스 연결 > 내부 IP 범위로 이동합니다.
공유된 VPC 네트워크
공유 VPC 네트워크에서 인스턴스를 만들려면 Google Cloud 콘솔이 아닌 cURL을 사용합니다.
cURL
편의를 위해 다음 변수를 내보낼 수 있습니다. 또는 다음 명령어에서 이러한 값을 직접 대체할 수 있습니다.
export PROJECT=PROJECT_ID export LOCATION=REGION export DATA_FUSION_API_NAME=datafusion.googleapis.com
인스턴스를 만들려면 해당 create()
메서드를 호출합니다.
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_NAME", "ipAllocation": "IP_RANGE"}}'
다음을 바꿉니다.
INSTANCE_ID
: 인스턴스의 ID 문자열입니다.SHARED_VPC_HOST_PROJECT_ID
: 공유 VPC 네트워크를 호스팅하는 프로젝트의 ID입니다.NETWORK_NAME
: 비공개 인스턴스를 만들려는 VPC 네트워크의 이름입니다.IP_RANGE
: 할당한 IP 범위입니다. Google Cloud 콘솔에서 IP 범위를 찾으려면 VPC 네트워크 세부정보 페이지 > 비공개 서비스 연결 > 내부 IP 범위로 이동합니다.
VPC 네트워크 피어링 설정
Cloud Data Fusion은 VPC 네트워크 피어링을 사용하여 VPC 또는 공유 VPC 네트워크에 대한 네트워크 연결을 설정합니다. 그러면 Cloud Data Fusion이 내부 IP 주소를 통해 네트워크의 리소스에 액세스할 수 있습니다.
이 섹션에서는 개발자 네트워크와 Cloud Data Fusion 테넌트 프로젝트 네트워크 사이에 피어링 구성을 만드는 방법을 설명합니다.
외부 소스에 연결
외부 네트워크(온프레미스 네트워크 또는 다른 VPC 네트워크)의 리소스에 연결하려면 외부 네트워크와 Cloud Data Fusion 인스턴스가 동일한 VPC 네트워크를 통해 연결되어 있어야 합니다.
다음은 Cloud VPN 터널과 BGP 라우팅 또는 VLAN 연결을 사용하여 외부 네트워크를 Cloud Data Fusion VPC 네트워크에 연결하는 방법에 대한 설명입니다.
- Cloud VPN 터널 또는 Dedicated Interconnect 또는 Partner Interconnect에 대한 VLAN 연결을 사용하여 VPC 네트워크가 외부 네트워크에 연결되어 있는지 확인합니다.
- Cloud VPN 터널 또는 VLAN 연결을 관리하는 Cloud Router의 BGP 세션이 외부 네트워크에서 특정 프리픽스(대상)를 수신했는지 확인합니다.
네트워크에 자체 로컬 기본 경로가 있으므로 기본 경로(대상 0.0.0.0/0)를 Cloud Data Fusion VPC 네트워크로 가져올 수 없습니다. 대상의 로컬 경로는 Cloud Data Fusion 피어링이 VPC 네트워크에서 커스텀 경로를 가져오도록 구성되어 있더라도 항상 사용됩니다.
- 비공개 서비스 연결에서 생성한 피어링 연결을 식별합니다. 서비스에 따라 비공개 서비스 연결에서 다음 피어링 연결 중 하나 이상을 만들 수 있지만 반드시 모든 피어링 연결을 구성할 필요는 없습니다.
datafusion-googleapis-com
servicenetworking-googleapis-com
- 피어링 연결 모두를 업데이트하여 커스텀 경로 내보내기를 사용 설정합니다.
- 비공개 서비스 연결에 사용되는 할당 범위를 식별합니다.
- Cloud VPN 터널 또는 VLAN 연결의 BGP 세션을 관리하는 Cloud Router에 할당된 범위에 대해 Cloud Router 커스텀 경로 공지를 만듭니다.
테넌트 프로젝트 ID 가져오기
피어링 구성을 만들려면 테넌트 프로젝트 ID가 필요합니다.
Cloud Data Fusion 인스턴스 페이지로 이동합니다.
인스턴스 이름 열에서 인스턴스를 선택합니다.
인스턴스 세부정보 페이지에서 인스턴스의 서비스 계정 값을 복사합니다. 테넌트 프로젝트 ID는 'at' 기호(@)와 그 다음에 오는 마침표(.) 사이의 부분입니다. 예를 들어 서비스 계정 값이
cloud-datafusion-management-sa@r8170c9b5e7699803-tp.iam.gserviceaccount.com
이면,
테넌트 프로젝트 ID가r8170c9b5e7699803-tp
입니다.
피어링 연결 만들기
VPC 네트워크 피어링 페이지로 이동합니다.
피어링 연결 만들기를 클릭합니다.
계속을 클릭합니다.
내 피어링 연결의 이름을 입력합니다.
VPC 네트워크에 대해 Cloud Data Fusion 인스턴스를 만든 네트워크를 선택합니다.
피어링된 VPC 네트워크에 대해 다른 프로젝트 내를 선택합니다.
프로젝트 ID에 이 튜토리얼의 앞부분에서 확인한 테넌트 프로젝트 ID를 입력합니다.
VPC 네트워크 이름에 INSTANCE_REGION-INSTANCE_ID를 입력합니다.
- INSTANCE_REGION은 Cloud Data Fusion 인스턴스를 만든 리전입니다.
- INSTANCE_ID는 Cloud Data Fusion 인스턴스의 ID입니다.
커스텀 경로 교환을 클릭합니다. 커스텀 경로 내보내기를 선택합니다. 이렇게 하면 VPC 네트워크에서 정의된 모든 커스텀 경로를 테넌트 VPC 네트워크와 교환할 수 있습니다.
만들기를 클릭합니다.
IAM 권한 설정
VPC 네트워크
이 단계를 건너뛰고 방화벽 규칙 만들기로 이동합니다.
공유된 VPC 네트워크
공유 VPC 네트워크에서 Cloud Data Fusion 인스턴스를 만들 경우 Compute 네트워크 사용자 역할을 다음 서비스 계정에 부여해야 합니다. 모든 서브넷에 대한 권한을 부여하려면 공유 VPC 호스트 프로젝트에 역할을 부여합니다.
액세스 권한을 더 세부적으로 제어하려면 호스트 프로젝트의 네트워크 뷰어 역할과 함께 특정 서브넷에 역할을 부여합니다.
- 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 인스턴스에 속하는 Google Cloud 프로젝트 번호입니다.
자세한 내용은 필요한 서비스 계정에 대한 액세스 부여를 참조하세요.
방화벽 규칙 만들기
VPC 네트워크에서 비공개 Cloud Data Fusion 인스턴스를 만들 때 지정한 IP 범위에서 들어오는 SSH 연결을 허용하는 방화벽 규칙을 만듭니다.
이 단계는 Cloud Data Fusion 6.2.0 이전 버전에서 필요합니다.
이를 통해 Cloud Data Fusion과 파이프라인을 실행하는 Dataproc 클러스터 간의 통신을 허용합니다.
Google Cloud 콘솔을 사용하거나 gcloud CLI를 사용하영 방화벽 규칙을 만들 수 있습니다. gcloud
를 사용하려면 다음 명령어를 실행합니다.
Console
방화벽 규칙 만들기를 참조하세요.
gcloud
다음 명령어를 실행합니다.
gcloud compute firewall-rules create FIREWALL_NAME-allow-ssh --allow=tcp:22 --source-ranges=IP_RANGE --network=NETWORK_NAME --project=PROJECT_ID
다음을 바꿉니다.
FIREWALL_NAME
: 만들려는 방화벽 규칙의 이름입니다.IP_RANGE
: 할당한 IP 범위입니다.NETWORK_NAME
: 방화벽 규칙이 연결된 네트워크의 이름입니다. 비공개 인스턴스를 만든 VPC 네트워크의 이름입니다.PROJECT_ID
: VPC 네트워크를 호스팅하는 프로젝트의 ID입니다.
이제 비공개 Cloud Data Fusion 인스턴스를 사용할 수 있습니다.