사전 요구 사항
ClickHouse BYOC용 private load balancer 활성화
clickhouse-cloud-<spoken-name>-default라는 관리형 리소스 그룹에 BYOC infrastructure를 배포합니다. 아래 단계에서 BYOC VNet은 해당 리소스 그룹에서 찾을 수 있습니다.
VNet 피어링 설정
예시 단계는 VNet 하나가 BYOC VNet과 직접 피어링하는 단순한 시나리오를 대상으로 합니다. 허브 앤 스포크 토폴로지나 온프레미스 연결과 같은 고급 시나리오에서는 일부 조정이 필요합니다. 제한 사항을 참조하십시오.
피어링을 위한 추가 사전 요구 사항
Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write 및 Microsoft.Network/virtualNetworks/peer/action 권한이 필요합니다. 기본 제공 Network Contributor 역할에는 이러한 권한이 포함되어 있습니다. 가상 네트워크 피어링 권한을 참조하십시오.
1
BYOC 가상 네트워크에서 피어링 생성
- Azure Portal에 로그인한 후 BYOC subscription으로 전환합니다.
- Virtual networks를 검색하고
clickhouse-cloud-<spoken-name>-default리소스 그룹에 있는 BYOC VNet을 선택합니다. - Settings에서 Peerings를 선택한 다음 + Add를 선택합니다.
- 피어링의 양쪽 구성을 모두 입력합니다.
- Add를 클릭합니다.
2
자동으로 생성되지 않은 경우 반대 방향 피어링 생성
Azure 피어링은 각 방향에 하나씩 총 두 부분으로 구성되며, 두 부분이 모두 생성되어야 트래픽이 흐릅니다. 이전 단계에서 포털이 두 부분을 모두 생성했다면 이 단계를 건너뛰십시오.VNet이 다른 subscription 또는 테넌트에 있어 BYOC 측 피어링만 생성한 경우 상태는 Initiated로 표시됩니다. 자체 VNet에서 반대쪽 피어링을 생성합니다.
- VNet을 소유한 subscription으로 전환하고, 해당 subscription에 대한 Network Contributor 권한이 있는 계정으로 로그인합니다.
- VNet을 선택한 다음 Peerings → + Add를 선택합니다.
- I know my resource ID를 선택하고 BYOC VNet Resource ID를 붙여넣은 후 BYOC subscription을 소유한 Directory를 선택합니다. 메시지가 표시되면 Authenticate를 선택합니다.
- Add를 선택합니다.
3
양쪽 피어링이 모두 연결되었는지 확인
두 가상 네트워크 중 하나에서 Peerings를 엽니다. 양쪽 모두에서 Peering status가 Connected로 표시되어야 합니다. 계속 Initiated 상태로 남아 있는 피어링은 반대쪽 피어링이 없음을 의미하며, Disconnected로 표시되면 반대쪽 피어링이 삭제된 것입니다.라우팅 테이블을 변경할 필요는 없습니다. Azure가 양쪽의 피어링된 주소 공간에 대한 시스템 경로를 자동으로 추가합니다. VNet의 모든 네트워크 인터페이스에서 Effective routes를 확인하면 다음 홉 유형이 VNet peering인 BYOC 주소 공간을 확인할 수 있습니다.
4
네트워크 보안 그룹을 통해 피어링된 VNet 액세스 허용
BYOC 서브넷은 기본적으로 VNet 내부 트래픽을 거부하는 ClickHouse 관리형 네트워크 보안 그룹으로 보호됩니다.
VirtualNetwork 서비스 태그는 피어링된 VNet의 주소 공간을 포함하므로, 인바운드 허용 규칙을 추가하기 전까지 피어링을 통해 들어오는 트래픽이 삭제됩니다.피어링된 VNet의 CIDR 범위를 포함하는 인바운드 규칙 추가를 요청하려면 ClickHouse 지원팀에 문의하십시오. 이 단계를 수행하지 않으면 피어링은 Connected로 표시되지만 연결 시간이 초과됩니다.5
피어링을 통해 ClickHouse 서비스에 액세스
ClickHouse에 비공개로 액세스할 수 있도록 피어링된 VNet에서 안전하게 연결할 수 있는 private load balancer와 endpoint가 프로비저닝됩니다. private endpoint는 public endpoint 형식에
-private 접미사를 추가한 형태입니다. 예를 들면 다음과 같습니다.- Public endpoint:
h5ju65kv87.mhp0y4dmph.westus3.azure.clickhouse-byoc.com - Private endpoint:
h5ju65kv87-private.mhp0y4dmph.westus3.azure.clickhouse-byoc.com
제한 사항
피어링 삭제
Private Link 설정
1
ClickHouse 콘솔에서 Private Link를 활성화합니다
사전 요구 사항으로 프라이빗 로드 밸런서를 활성화해야 합니다.
2
엔드포인트 Service name 확인
- ClickHouse Cloud 콘솔에서 Private Link를 통해 연결할 서비스의 설정 페이지로 이동합니다.
- “Set up private endpoint”를 클릭합니다.
- 열린 플라이아웃에서
Service name(Private Link 서비스 별칭)과DNS name값을 복사합니다. 다음 단계에서 이 값들을 사용합니다. (Private Link를 활성화한 후 값이 생성되기까지 다소 시간이 걸릴 수 있습니다.)
3
네트워크에 Private Endpoint를 만듭니다
- 사용 중인 Azure Portal(즉, 클라이언트 애플리케이션이 있는 Azure subscription)을 엽니다 → Network Foundation → Private endpoints → Create를 선택합니다.
- Basics 탭에서 private endpoint의 subscription, 리소스 그룹, 이름, Region을 선택합니다. Region은 클라이언트 애플리케이션이 연결하는 VNet의 Region과 같아야 합니다.
- Resource 탭에서 Connect to an Azure resource by resource ID or alias를 선택하고 이전 단계에서 확인한
Service name을 입력합니다. - Virtual Network 탭에서 private endpoint를 생성할 가상 네트워크와 서브넷을 선택합니다. 필요에 따라 애플리케이션 보안 그룹을 연결하여 private endpoint로 향하는 트래픽을 필터링할 수 있습니다.
- 나머지 탭을 계속 진행한 후 Create를 클릭합니다. 생성된 private endpoint의 Connection status는 다음 단계에서 해당
Resource ID를 ClickHouse 서비스 허용 목록에 추가할 때까지 Pending 상태로 유지됩니다. - private endpoint와 연결된 네트워크 인터페이스를 열고 Private IPv4 address를 복사합니다. DNS 설정 단계에서 사용합니다.
4
Private Endpoint Resource ID를 ClickHouse 서비스 허용 목록에 추가합니다
프라이빗 엔드포인트 Resource ID를 확인하려면 Azure Portal에서 앞서 생성한 프라이빗 엔드포인트를 열고 JSON View를 클릭한 다음, 최상위 수준의
id 필드(보기 상단에 표시되는 Resource ID, 형식: /subscriptions/.../providers/Microsoft.Network/privateEndpoints/<name>)를 복사하십시오. properties 객체 내에 중첩된 id 필드는 사용하지 마십시오.- ClickHouse Cloud 콘솔에서 Private Link를 통해 연결하려는 ClickHouse 서비스의 설정 페이지로 이동하십시오.
- “Set up private endpoint”를 클릭하십시오.
- 열린 플라이아웃에서 위에서 확인한
Resource ID와 선택 사항인 설명을Endpoint ID필드에 입력하십시오. - “Create endpoint”를 클릭하십시오.
기존 Private Link 연결의 액세스를 허용하려면 기존 엔드포인트 드롭다운 메뉴를 사용하십시오.
드롭다운에는 동일한 인프라 내 서비스에 대한 기존 Private Link 연결이 표시됩니다.
Azure Portal에서 수동으로 승인할 필요가 없습니다.
Resource ID가 허용 목록에 추가되면 엔드포인트 연결이 자동으로 승인되고 해당 LinkID가 ClickHouse 서비스의 Istio AuthorizationPolicy에 자동으로 추가됩니다. 구독의 프라이빗 엔드포인트 Connection status가 Approved로 변경됩니다.5
endpoint의 Private DNS name 설정
DNS를 구성하는 방법은 다양합니다. 사용 사례에 맞게 DNS를 설정하십시오.
privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com)의 모든 하위 도메인(와일드카드)이 Private Endpoint IP 주소를 가리키도록 설정해야 합니다. 이렇게 하면 VNet 내의 서비스/구성 요소가 이를 올바르게 확인할 수 있습니다. Azure Private DNS를 사용하는 일반적인 설정 방법은 다음과 같습니다.- 서비스 ID를 제외한 “DNS name”을 이름으로 하는 Private DNS 존을 생성합니다. 예:
privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com. - 존에서 와일드카드 레코드 세트를 생성합니다. Name에는
*를 지정하고, IP Address에는 앞서 복사한 Private Endpoint IP 주소를 입력합니다. - VNet 내의 클라이언트가 존을 확인할 수 있도록 Private DNS 존을 가상 네트워크에 연결합니다.
6
Private Link를 통해 인스턴스에 액세스
- ClickHouse Cloud 콘솔에서 ClickHouse 서비스의 설정 페이지로 이동합니다.
- “Set up private endpoint”를 클릭합니다.
- 열리는 플라이아웃에서
DNS name을 복사합니다.Private Link를 통한 ClickHouse 서비스 액세스는 BYOC 인프라 내에서 ClickHouse가 관리하는 서비스 수준의 Istio Authorization Policy로 제어됩니다.