- Global Access를 사용하는 리전은 동일한 VPC에 속해야 합니다.
- Global Access는 PSC 수준에서 명시적으로 활성화해야 합니다(아래 스크린샷 참조).
- 방화벽 설정이 다른 리전에서 PSC로의 액세스를 차단하지 않는지 확인하십시오.
- GCP 리전 간 데이터 전송 요금이 발생할 수 있습니다.
- Private Service Connect용 GCP 서비스 어태치먼트를 가져옵니다.
- 서비스 엔드포인트를 생성합니다.
- “Endpoint ID”를 ClickHouse Cloud 서비스에 추가합니다.
- “Endpoint ID”를 ClickHouse 서비스 허용 목록에 추가합니다.
주의
시작하기 전에
아래 코드 예시는 ClickHouse Cloud 서비스에서 Private Service Connect를 설정하는 방법을 보여줍니다. 아래 예시에서는 다음 값을 사용합니다.
- GCP 리전:
us-central1 - GCP 프로젝트(고객 GCP 프로젝트):
my-gcp-project - 고객 GCP 프로젝트의 프라이빗 IP 주소:
10.128.0.2 - 고객 GCP 프로젝트의 GCP VPC:
default
INSTANCE_ID를 가져오십시오:
- ClickHouse 콘솔(Organization -> Organization Details)에서 조직 ID를 가져올 수 있습니다.
- 새 키를 생성하거나 기존 키를 사용할 수 있습니다.
Private Service Connect에 사용할 GCP 서비스 어태치먼트 및 DNS 이름 가져오기
옵션 1: ClickHouse Cloud 콘솔
endpointServiceId)과 DNS name(privateDnsHostname)을 메모해 두십시오. 다음 단계에서 이 값을 사용합니다.
옵션 2: API
이 단계를 수행하려면 해당 리전에 최소 1개의 인스턴스가 배포되어 있어야 합니다.
endpointServiceId와 privateDnsHostname를 기록해 두십시오. 다음 단계에서 사용합니다.
서비스 엔드포인트 생성
Private Service Connection 추가하기
옵션 1: Google Cloud console 사용
- Target: Published service를 사용합니다.
- Target service: Private Service Connect용 GCP 서비스 어태치먼트 및 DNS 이름 가져오기 단계의
endpointServiceIdAPI 또는Service nameconsole을 사용합니다. - Endpoint name: PSC Endpoint name에 사용할 이름을 설정합니다.
- Network/Subnetwork/IP address: 연결에 사용할 네트워크를 선택합니다. Private Service Connect 엔드포인트에 사용할 IP 주소를 새로 만들거나 기존 IP 주소를 사용해야 합니다. 이 예시에서는 your-ip-address라는 이름으로 주소를 미리 생성하고 IP 주소
10.128.0.2를 할당했습니다. - 엔드포인트를 모든 리전에서 사용할 수 있도록 하려면 Enable global access 체크박스를 활성화할 수 있습니다.
옵션 2: Terraform 사용하기
Private Service Connect용 GCP 서비스 어태치먼트 및 DNS 이름 가져오기 단계에서 확인한
endpointServiceIdAPI 또는 Service name콘솔을 사용하십시오엔드포인트의 프라이빗 DNS 이름 설정
DNS를 구성하는 방법은 여러 가지가 있습니다. 사용 환경에 맞게 DNS를 설정하십시오.
ClickHouse Cloud 조직에 Endpoint ID를 추가
옵션 1: ClickHouse Cloud 콘솔
PSC Connection ID를 서비스 허용 목록에 추가하면 조직에도 자동으로 추가됩니다.
엔드포인트를 제거하려면 Organization details -> Private Endpoints를 열고 삭제 버튼을 클릭하십시오.
옵션 2: API
ENDPOINT_ID를 Private Service Connection 추가 단계에 있는 Endpoint ID 값으로 바꾸십시오.
엔드포인트를 추가하려면 다음을 실행하십시오:
“Endpoint ID”를 ClickHouse 서비스 허용 목록에 추가
옵션 1: ClickHouse Cloud 콘솔
Endpoint ID를 입력합니다. 엔드포인트 생성을 클릭합니다.
기존 Private Service Connect 연결의 액세스를 허용하려면 기존 엔드포인트 드롭다운 메뉴를 사용합니다.
옵션 2: API
Private Service Connect를 사용해 인스턴스에 접속하기
privateDnsHostname입니다.
프라이빗 DNS 호스트명 확인하기
옵션 1: ClickHouse Cloud 콘솔
옵션 2: API
xxxxxxx.yy-xxxxN.p.gcp.clickhouse.cloud 호스트명에 대한 연결이 Private Service Connect로 전달됩니다. 반면 xxxxxxx.yy-xxxxN.gcp.clickhouse.cloud에 대한 연결은 인터넷을 통해 전달됩니다.
문제 해결
DNS 설정 테스트
privateDnsHostname을 사용합니다
peer에 의해 connection이 재설정됨
- Endpoint ID가 service 허용 목록에 추가되지 않았을 가능성이 높습니다. service 허용 목록에 Endpoint ID 추가 단계를 다시 확인하십시오.
연결 테스트
openssl로 연결 상태를 확인하십시오. Private Service Connect 엔드포인트 status가 Accepted인지 확인하십시오:
OpenSSL로 연결할 수 있어야 합니다(출력에 CONNECTED가 표시됨). errno=104는 정상입니다.
DNS_NAME - Private Service Connect용 GCP 서비스 어태치먼트 및 DNS 이름 가져오기 단계의 privateDnsHostname을 사용하십시오.
엔드포인트 필터 확인
REST API
원격 데이터베이스에 연결하기
서비스 지향 설계: 프로듀서 서비스는 컨슈머 VPC 네트워크에 단일 IP 주소를 노출하는 로드 밸런서를 통해 게시됩니다. 프로듀서 서비스에 액세스하는 컨슈머 트래픽은 단방향이며, 피어링된 전체 VPC 네트워크에 액세스하는 것이 아니라 서비스 IP 주소에만 액세스할 수 있습니다.이렇게 하려면 ClickHouse Cloud에서 내부/프라이빗 데이터베이스 서비스로의 연결을 허용하도록 GCP VPC 방화벽 규칙을 구성하십시오. ClickHouse Cloud 리전의 기본 egress IP 주소와 사용 가능한 고정 IP 주소도 함께 확인하십시오.