Azure Data Explorer용 관리형 프라이빗 엔드포인트 만들기
고도로 보호되는 Azure 리소스에 연결하려면 관리형 프라이빗 엔드포인트가 필요합니다. Azure Data Explorer 다른 보호된 서비스에 연결할 수 있도록 하는 단방향 프라이빗 연결입니다. 이 문서에서는 관리형 프라이빗 엔드포인트를 만들고 데이터 원본에 연결하는 방법을 알아봅니다.
필수 구성 요소
- Azure 구독 평가판 Azure 계정을 만듭니다.
- 가상 네트워크에 삽입되지 않은 Azure Data Explorer 클러스터입니다.
- Microsoft.Network 리소스 공급자에 등록된 구독의 이벤트 허브 또는 Azure Storage Blob입니다. 자세한 내용은 리소스 공급자에 구독 등록을 참조하세요.
Azure Portal을 사용하여 관리형 프라이빗 엔드포인트 만들기
스토리지에 액세스할 때 사용할 클러스터용 포털을 사용하여 관리형 프라이빗 엔드포인트를 만들 수 있습니다.
Azure Portal에서 클러스터로 이동한 다음, 네트워킹을 선택합니다.
관리형 프라이빗 엔드포인트를 선택한 다음, + 추가를 선택합니다.
새 관리형 프라이빗 엔드포인트 창에서 다음 정보로 리소스 세부 정보를 입력한 후, 다음을 선택합니다.
설정 제안 값 필드 설명 Name mpeToStorage 관리형 프라이빗 엔드포인트의 이름 Subscription 사용자의 구독 클러스터에 사용할 Azure 구독 선택 리소스 유형 Microsoft.Storage/storageAccounts 데이터 원본에 대해 원하는 관련 리소스 유형을 선택합니다. 리소스 이름 공유 새 Azure 프라이빗 엔드포인트의 대상으로 사용해야 하는 클러스터 선택 대상 하위 리소스 blob 데이터 원본에 대한 관련 대상을 선택합니다. 만들기를 선택하여 관리형 프라이빗 엔드포인트 리소스를 만듭니다.
REST API를 사용하여 관리형 프라이빗 엔드포인트 만들기
관리형 프라이빗 엔드포인트를 만들려면 Kusto 리소스 공급자에 대한 단일 API 호출이 필요합니다. 다음 리소스 종류에 대한 관리형 프라이빗 엔드포인트를 설정할 수 있습니다.
- Microsoft. Storage/storageAccounts(하위 리소스는 "Blob" 또는 "dfs"일 수 있음)
- Microsoft.EventHub/namespaces(하위 리소스 "네임스페이스")
- Microsoft.Devices/IoTHubs(하위 리소스 "iotHub")
- Microsoft.KeyVault/vaults(하위 리소스 "자격 증명 모음")
- Microsoft.Sql/servers(하위 리소스 "sqlServer")
- Microsoft. Kusto/clusters(하위 리소스 "클러스터")
- Microsoft.DigitalTwins/digitalTwinsInstance(하위 리소스 "digitaltwinsinstance")
다음 이 예제에서는 PowerShell의 ARMclient를 통해 REST API를 사용하여 관리형 프라이빗 엔드포인트를 만듭니다.
참고
스토리지 계정에 "dfs" 리소스를 연결하려면 "Blob" 하위 리소스에 대한 추가 관리형 프라이빗 엔드포인트가 필요합니다.
REST API를 사용하기 위한 필수 구성 요소
choco 설치
ARMClient 설치
choco install armclient
ARMClient에 로그인
armclient login
Azure Event Hubs에 대한 관리형 프라이빗 엔드포인트 만들기
다음 REST API 호출을 사용하여 Event Hubs 서비스에 대한 관리형 프라이빗 엔드포인트를 사용하도록 설정합니다.
다음 명령을 실행하여 Event Hubs 서비스에 대한 관리형 프라이빗 엔드포인트를 만듭니다.
# Replace the <...> placeholders with the correct values armclient PUT /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01 @" { 'properties': { 'privateLinkResourceId':'/subscriptions/<subscriptionIdEventHub>/resourceGroups/<resourceGroupNameEventHub>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>', 'groupId':'namespace', 'requestMessage':'Please Approve.' } } "@
응답을 확인합니다.
{ "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>", "name": "<clusterName>/<newMpeName>", "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", "location": "DummyLocation", "properties": { "privateLinkResourceId": "/subscriptions/<subscriptionIdEventHub>/resourceGroups/<resourceGroupNameEventHub>/providers/Microsoft.EventHub/namespaces/<EventHubNamespace>", "groupId": "namespace", "requestMessage": "Please Approve.", "provisioningState": "Creating" } }
Azure Storage 계정에 대한 관리형 프라이빗 엔드포인트 만들기
다음 REST API 호출을 사용하여 Azure Storage Blob에 대한 관리형 프라이빗 엔드포인트를 사용하도록 설정합니다.
다음 명령을 실행하여 Event Hubs에 대한 관리형 프라이빗 엔드포인트를 만듭니다.
#replace the <...> placeholders with the correct values armclient PUT /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01 @" { 'properties': { 'privateLinkResourceId':'/subscriptions/<subscriptionIdStorage>/resourceGroups/<resourceGroupNameStorage>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>', 'groupId':'blob', 'requestMessage':'Please Approve.' } } "@
응답을 확인합니다.
{ "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>", "name": "<clusterName>/<newMpeName>", "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", "location": "DummyLocation", "properties": { "privateLinkResourceId": "/subscriptions/<subscriptionIdStorage>/resourceGroups/<resourceGroupNameStorage>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>", "groupId": "blob", "requestMessage": "Please Approve.", "provisioningState": "Creating" } }
진행률을 확인하는 방법
관리형 프라이빗 엔드포인트 마이그레이션의 진행률을 확인하려면 다음 명령을 사용합니다.
다음 명령 실행:
#replace the <...> placeholders with the correct values armclient GET /subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/clusters/<clusterName>/managedPrivateEndpoints/<newMpeName>?api-version=2022-02-01
응답을 확인합니다.
{ "id": "/subscriptions/<subscriptionIdADX>/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.Kusto/Clusters/<clusterName>/ManagedPrivateEndpoints/<newMpeName>", "name": "<clusterName>/<newMpeName>", "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", "location": "DummyLocation", "properties": { "privateLinkResourceId": "/subscriptions/02de0e00-8c52-405c-9088-1342de78293d/resourceGroups/<resourceGroupNameADX>/providers/Microsoft.<service>/<...>/<name>", "groupId": "<groupId>", "requestMessage": "Please Approve.", "provisioningState": "Succeeded" }, "systemData": { "createdBy": "<UserName>", "createdByType": "User", "createdAt": "2022-02-05T08:29:54.2912851Z", "lastModifiedBy": "chrisqpublic@contoso.com", "lastModifiedByType": "User", "lastModifiedAt": "2022-02-05T08:29:54.2912851Z" } }
관리형 프라이빗 엔드포인트 승인
관리형 프라이빗 엔드포인트를 만드는 데 사용한 방법이 무엇이든 대상 리소스에 대한 만들기를 승인해야 합니다. 다음 예제에서는 Event Hubs 서비스에 대한 관리형 프라이빗 엔드포인트의 승인을 보여 줍니다.
Azure Portal에서 Event Hubs 서비스로 이동한 다음, 네트워킹을 선택합니다.
프라이빗 엔드포인트 연결을 선택하고 사용자가 만든 관리형 프라이빗 엔드포인트를 선택한 다음, 승인을 선택합니다.
연결 상태 열에서 관리형 프라이빗 엔드포인트가 승인되었는지 확인합니다.
이제 클러스터가 관리형 프라이빗 엔드포인트 연결을 사용하여 리소스에 연결할 수 있습니다.