이 페이지에서는 Datastream API를 사용하여 비공개 연결 구성을 만들고, 관련 정보를 검색하고, 삭제하는 방법을 알아봅니다.
비공개 연결 구성에는 Datastream이 비공개 네트워크 (내부적으로 Google Cloud내 또는 VPN 또는 상호 연결을 통해 연결된 외부 소스)를 통해 데이터 소스와 통신하기 위해 사용하는 정보가 포함되어 있습니다. 이 통신은 Private Service Connect 인터페이스 또는 Virtual Private Cloud (VPC) 피어링 연결을 통해 이루어집니다.
VPC 피어링을 사용하여 비공개 연결 구성 만들기
비공개 연결 구성을 만들려면 먼저 다음을 확인해야 합니다.
- VPC 네트워크를 Datastream의 비공개 네트워크와 피어링합니다. VPC 네트워크 만들기에 대한 자세한 내용은 VPC 네트워크 피어링 사용을 참고하세요.
- VPC 네트워크에 사용 가능한 IP 범위 (최소 /29 CIDR 블록)가 있어야 합니다. Datastream은 이 IP 범위를 사용해서 제공된 VPC와 VPC 피어링을 만듭니다. 따라서 범위가 해당 VPC 내의 서브넷과 겹칠 수 없습니다. 그 결과 Datastream이 소스와 통신할 수 있습니다.
비공개 연결 구성을 만들 때는 연관된 매개변수가 2개 있습니다.
vpcName:
VPC 네트워크의 이름 및 경로를 지정합니다.subnet:
VPC 네트워크에서 사용 가능한 IP 범위를 제공합니다.
다음 코드는 비공개 연결 구성을 만들기 위한 요청을 보여주고 VPC 피어링을 사용하여 연결 방법을 지정합니다(vpcPeeringConfig
).
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID { "displayName": "DISPLAY_NAME", "vpcPeeringConfig": { "vpcName": "VPC_NAME", "subnet": "SUBNET" } }
예를 들면 다음과 같습니다.
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/privateConnections?privateConnectionId=myPrivateConnection { "displayName": "my-private-connection", "vpcPeeringConfig": { "vpcName": "projects/my-project/global/networks/my-vpc", "subnet": "10.11.12.13/29" } }
비공개 연결 구성이 생성되었으면 privateConnections/get
메서드를 호출하여 구성 정보를 확인할 수 있습니다. 다음과 비슷한 출력이 표시됩니다.
{ "name": "projects/projectId/location/us-central1/privateConnections/myPrivateConnection", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-22T16:17:37.159786963Z", "displayName": "my-private-connection", "state": "CREATED", "vpcPeeringConfig": { "vpcName": "projects/my-project/global/networks/my-vpc", "subnet": "10.11.12.13/29" } }
gcloud
gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION--display-name=DISPLAY_NAME --vpc=VPC_NAME --subnet=SUBNET
예를 들면 다음과 같습니다.
gcloud datastream private-connections create my-privateConnection --location=us-central1--display-name=my-private-connection --vpc=my-vpc --subnet=10.11.12.13/29
Private Service Connect 인터페이스를 사용하여 비공개 연결 구성 만들기
비공개 연결 구성을 만들려면 먼저 다음을 확인해야 합니다.
Datastream 비공개 네트워크에 연결할 VPC 네트워크가 있습니다. VPC 네트워크 생성에 대한 자세한 내용은 VPC 네트워크 만들기 및 관리를 참조하세요.
VPC 프로젝트에서 네트워크 연결을 만듭니다.
Google Cloud 및 온프레미스 방화벽이 네트워크 연결 IP 주소 범위에서 데이터를 스트리밍할 소스 데이터베이스로 트래픽을 허용하는지 확인합니다.
다음 코드는 Private Service Connect 인터페이스를 사용하여 비공개 연결 구성을 만드는 요청을 보여줍니다. 먼저 validateOnly
플래그 (Google Cloud CLI의 경우 --validate-only
)를 사용하여 비공개 연결 구성을 만드는 명령어를 실행해야 합니다.
REST
POST "https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID&validateOnly=true"
gcloud
gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION--display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME --validate-only
응답에서 승인할 프로듀서 프로젝트의 이름을 가져옵니다. 네트워크 연결 허용 프로젝트 목록에 추가해야 합니다.
describe
메서드를 사용하여 네트워크 연결의 현재producer-accept-list
를 가져옵니다. 자세한 내용은 Compute Engine Google Cloud SDK 문서를 참고하세요.update
메서드를 사용하여 이 목록에 프로듀서 프로젝트를 추가합니다. 자세한 내용은 Compute Engine Google Cloud SDK 문서를 참고하세요.
허용된 프로젝트 목록에 프로듀서 프로젝트를 추가한 후 이번에는 validateOnly
플래그 없이 비공개 연결 구성을 다시 만드는 명령어를 실행합니다.
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID { "displayName": "DISPLAY_NAME", "pscInterfaceConfig": { "networkAttachment": "NETWORK_ATTACHMENT_NAME" } }
예를 들면 다음과 같습니다.
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/privateConnections?privateConnectionId=myPrivateConnection { "displayName": "my-private-connection", "pscInterfaceConfig": { "networkAttachment": "projects/my-project/regions/us-central1/networkAttachments/my-na" } }
gcloud
gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION--display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME
예를 들면 다음과 같습니다.
gcloud datastream private-connections create my-private-connection --location=us-central1--display-name=my-private-connection --network-attachment=my-network-attachment
비공개 연결 구성 정보 가져오기
다음 코드는 생성된 비공개 연결 구성에 대한 정보 검색 요청을 보여줍니다.
REST
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections/PRIVATE_CONNECTIVITY_CONFIGURATION_ID
예를 들면 다음과 같습니다.
GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/privateConnections/myPrivateConnection
gcloud
gcloud
를 사용하여 비공개 연결 구성에 대해 정보를 검색하는 방법에 대한 자세한 내용은 Google Cloud SDK 문서를 참고하세요.
비공개 연결 구성 나열
다음 코드는 모든 비공개 연결 구성에 대한 정보 검색 요청을 보여줍니다.
REST
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections
gcloud
gcloud
를 사용하여 모든 비공개 연결 구성에 대해 정보를 검색하는 방법에 대한 자세한 내용은 Google Cloud SDK 문서를 참고하세요.
비공개 연결 구성 삭제
다음 코드는 비공개 연결 구성을 삭제하는 요청을 보여줍니다. 구성을 삭제하면 해당 구성을 사용하는 모든 연결 프로필이 작동하지 않습니다. 또한 이러한 연결 프로필을 사용하는 모든 스트림이 작동하지 않습니다.
이 문제를 해결하려면 각 연결 프로필에 다른 비공개 연결 구성을 할당합니다. 자세한 내용은 연결 프로필 업데이트를 참조하세요.
REST
DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/privateConnections/[private-connectivity-configuration-id] {"force": true}
예를 들면 다음과 같습니다.
DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/privateConnections/myPrivateConnection {"force": true}
gcloud
gcloud
를 사용하여 비공개 연결 구성을 삭제하는 방법에 대한 자세한 내용은 Google Cloud SDK 문서를 참고하세요.
다음 단계
- 비공개 연결에 대해 자세히 알아보세요.
- Datastream에서 사용할 수 있는 다른 네트워크 연결 옵션에 대해 알아보세요.
- Datastream API를 사용하여 연결 프로필을 관리하는 방법에 대해 알아보세요.
- Datastream API를 사용하여 스트림을 관리하는 방법에 대해 알아보세요.
- Datastream API 사용에 대한 자세한 내용은 참고 문서를 확인하세요.