프라이빗 링크 구성

Azure Private Link 인스턴스를 구성하려면 다음을 수행해야 합니다.

  • 리소스를 사용하여 AMPLS(Azure Monitor Private Link 범위)를 만듭니다.
  • 네트워크에서 프라이빗 엔드포인트를 만들고 범위에 연결합니다.
  • Azure Monitor 리소스에 필요한 액세스를 구성합니다.

이 문서에서는 Azure Portal을 통해 구성이 수행되는 방법을 검토합니다. 프로세스를 자동화하는 예 ARM 템플릿(Azure Resource Manager 템플릿)을 제공합니다.

이 섹션에서는 Azure Portal을 통해 프라이빗 링크를 설정하는 프로세스를 단계별로 검토합니다. 명령줄 또는 ARM 템플릿을 사용하여 프라이빗 링크를 만들고 관리하려면 API 및 명령줄 사용을 참조하세요.

  1. Azure Portal에서 리소스 만들기로 이동하여 Azure Monitor Private Link 범위를 검색합니다.

    Screenshot showing finding Azure Monitor Private Link Scope.

  2. 만들기를 실행합니다.

  3. 구독 및 리소스 그룹을 선택합니다.

  4. AMPLS 이름을 지정합니다. AppServerProdTelem과 같이 의미 있고 명확한 이름을 사용합니다.

  5. 검토 + 만들기를 선택합니다.

    Screenshot that shows creating an Azure Monitor Private Link Scope.

  6. 유효성 검사를 통과하고 만들기를 선택합니다.

Azure Monitor 리소스 연결

Log Analytics 작업 영역, Application Insights 구성 요소 및 데이터 수집 엔드포인트와 같은 Azure Monitor 리소스를 AMPLS(Azure Monitor Private Link 범위)에 연결합니다.

  1. AMPLS의 왼쪽 메뉴에서 Azure Monitor 리소스를 선택합니다. 추가를 선택합니다.

  2. 작업 영역 또는 구성 요소를 추가합니다. 추가를 선택하면 Azure Monitor 리소스를 선택할 수 있는 대화 상자가 열립니다. 구독 및 리소스 그룹을 찾아볼 수 있습니다. 이름을 입력하여 필터링할 수도 있습니다. 작업 영역 또는 구성 요소를 선택하고, 적용을 클릭하여 이를 범위에 추가합니다.

    Screenshot that shows selecting a scope.

참고 항목

Azure Monitor 리소스를 삭제하려면 먼저 연결된 모든 AMPLS 개체에서 리소스의 연결을 끊어야 합니다. AMPLS에 연결된 리소스는 삭제할 수 없습니다.

프라이빗 엔드포인트에 연결

이제 AMPLS에 연결된 리소스가 있으므로 네트워크를 연결 하는 프라이빗 엔드포인트를 만듭니다. 이 예에서와 같이 Azure Portal Private Link Center 또는 AMPLS 내에서 이 작업을 수행할 수 있습니다.

  1. 범위 리소스의 왼쪽 리소스 메뉴에서 프라이빗 엔드포인트 연결을 선택합니다. 엔드포인트 만들기 프로세스를 시작하려면 프라이빗 엔드포인트를 선택합니다. 그것들을 선택하고 승인을 클릭하여 여기 Private Link 센터에서 시작된 연결을 승인할 수도 있습니다.

    Screenshot that shows Private Endpoint connections.

  2. 기본 사항 탭에서 구독리소스 그룹을 선택합니다.

  3. 엔드포인트의 이름네트워크 인터페이스 이름을 입력합니다.

  4. 프라이빗 엔드포인트가 있어야 하는 지역을 선택합니다. 지역은 연결하는 가상 네트워크와 동일한 지역이어야 합니다.

  5. 다음: 리소스를 선택합니다.

    A screenshot showing the create private endpoint basics tab.

  6. 리소스 탭에서 Azure Monitor Private Link 범위 리소스가 포함된 구독을 선택합니다.

  7. 리소스 종류에서 Microsoft.insights/privateLinkScopes를 선택합니다.

  8. 리소스 드롭다운에서 이전에 만든 Private Link 범위를 선택합니다.

  9. 다음: Virtual Network를 선택합니다.

    Screenshot that shows the Create a private endpoint page in the Azure portal with the Resource tab selected.

  10. Virtual Network 탭에서 Azure Monitor 리소스에 연결할 가상 네트워크서브넷을 선택합니다.

  11. 프라이빗 엔드포인트에 대한 네트워크 정책에서 프라이빗 엔드포인트가 포함된 서브넷에 네트워크 보안 그룹 또는 경로 테이블을 적용하려면 편집을 선택합니다.

    서브넷 네트워크 정책 편집에서 네트워크 보안 그룹라우팅 테이블 옆의 확인란을 선택하고 저장을 선택합니다. 자세한 내용은 프라이빗 엔드포인트에 대한 네트워크 정책 관리를 참조하세요.

  12. 개인 IP 구성의 경우 기본적으로 동적 IP 주소 할당이 선택됩니다. 고정 IP 주소를 할당하려면 고정적으로 IP 주소 할당을 선택합니다. 그런 다음 이름과 개인 IP를 입력합니다.
    필요에 따라 애플리케이션 보안 그룹을 선택하거나 만들 수 있습니다. 애플리케이션 보안 그룹을 사용하여 가상 머신을 그룹화하고 해당 그룹을 기반으로 네트워크 보안 정책을 정의할 수 있습니다.

  13. 다음: DNS를 선택합니다.

    Screenshot that shows the Create a private endpoint page in the Azure portal with the Virtual Network tab selected.

  14. DNS 탭에서 프라이빗 DNS 영역과 통합에 대해 를 선택하고, 새 프라이빗 DNS 영역을 자동으로 만들도록 합니다. 실제 DNS 영역은 다음 스크린샷에 표시된 것과 다를 수 있습니다.

    참고 항목

    아니요를 선택하고 DNS 레코드를 수동으로 관리하려면 먼저 프라이빗 링크 설정을 완료합니다. 이 프라이빗 엔드포인트와 AMPLS 구성을 포함합니다. 그런 다음 Azure 프라이빗 엔드포인트 DNS 구성의 지침에 따라 DNS를 구성합니다. 프라이빗 링크 설정을 위한 준비로 빈 레코드를 만들지 않도록 합니다. 만드는 DNS 레코드는 기존 설정을 재정의하고 Azure Monitor와의 연결에 영향을 줄 수 있습니다.

  15. 다음: 태그를 선택하고 검토 + 만들기를 선택합니다.

    Screenshot that shows the Create a private endpoint page in the Azure portal with the DNS tab selected.

  16. 검토 + 만들기에서 유효성 검사가 통과되면 만들기를 선택합니다.

이제 이 AMPLS에 연결된 새 프라이빗 엔드포인트를 만들었습니다.

리소스에 대한 액세스 구성

지금까지 네트워크 구성을 다루었습니다. 그러나 Log Analytics 작업 영역, Application Insights 구성 요소 및 데이터 수집 엔드포인트와 같은 모니터링 리소스에 대한 네트워크 액세스를 구성하는 방법도 고려해야 합니다.

Azure Portal로 이동합니다. 리소스 메뉴의 왼쪽에서 네트워크 격리를 찾습니다. 이 페이지는 프라이빗 링크를 통해 리소스에 연결할 수 있는 네트워크와 다른 네트워크에서 리소스에 연결할 수 있는지 여부를 모두 제어합니다.

Screenshot that shows Network Isolation.

여기에서 AMPLS에 대한 리소스의 연결을 검토하고 구성할 수 있습니다. AMPLS에 연결하면 각 AMPLS에 연결된 가상 네트워크의 트래픽이 리소스에 도달할 수 있습니다. Azure Monitor 리소스 연결 섹션에서 수행한 것처럼 범위에서 연결하는 것과 동일한 효과가 있습니다.

새 연결을 추가하려면 추가를 선택하고 AMPLS를 선택합니다. 적용을 클릭하여 연결합니다. 리소스는 AMPLS 제한 고려에 언급된 대로 5개의 AMPLS 개체에 연결할 수 있습니다.

이 페이지의 맨 아래에 있는 설정은 공용 네트워크에서의 액세스를 제어합니다. 즉, 나열된 범위에 연결되지 않은 네트워크를 의미합니다.

Private Link 범위를 통해 연결되지 않은 공용 네트워크에서 데이터 수집 허용아니요로 설정하면 연결된 범위 밖에 있는 컴퓨터 또는 SDK와 같은 클라이언트에서 데이터를 업로드하거나 리소스에 로그를 보낼 수 없습니다.

Private Link 범위를 통해 연결되지 않은 공용 네트워크의 쿼리 허용아니요로 설정하면 연결된 범위 밖에 있는 컴퓨터 또는 SDK와 같은 클라이언트가 리소스의 데이터를 쿼리할 수 없습니다.

해당 데이터에는 로그, 메트릭 및 라이브 메트릭 스트림에 대한 액세스가 포함됩니다. 또한 통합 문서, 대시보드, 쿼리 API 기반 클라이언트 환경 및 Azure Portal의 인사이트와 같이 위에 빌드된 환경도 포함됩니다. Azure Portal 외부에서 실행 중인 경험과 이 쿼리 로그 분석 데이터도 프라이빗 링크된 가상 네트워크 내에서 실행되어야 합니다.

API 및 명령줄 사용

ARM 템플릿, REST 및 명령줄 인터페이스를 사용하여 앞에서 설명한 프로세스를 자동화할 수 있습니다.

Private Link 범위를 생성하고 관리하려면 REST API 또는 Azure CLI(az monitor private-link-scope)를 사용합니다.

개방형 액세스 모드로 AMPLS 만들기: CLI 예

다음 CLI 명령은 쿼리 및 수집 액세스 모드가 모두 Open으로 설정된 "my-scope"이라는 새 AMPLS 리소스를 만듭니다.

az resource create -g "my-resource-group" --name "my-scope" -l global --api-version "2021-07-01-preview" --resource-type Microsoft.Insights/privateLinkScopes --properties "{\"accessModeSettings\":{\"queryAccessMode\":\"Open\", \"ingestionAccessMode\":\"Open\"}}"

혼합 액세스 모드로 AMPLS 만들기: PowerShell 예

다음 PowerShell 스크립트는 쿼리 액세스 모드가 Open으로 설정되었지만 수집 액세스 모드가 PrivateOnly로 설정된 "my-scope"라는 새 AMPLS 리소스를 만듭니다. 이 설정은 AMPLS의 리소스에 대해서만 수집을 허용함을 의미합니다.

# scope details
$scopeSubscriptionId = "ab1800bd-ceac-48cd-...-..."
$scopeResourceGroup = "my-resource-group"
$scopeName = "my-scope"
$scopeProperties = @{
    accessModeSettings = @{
        queryAccessMode     = "Open"; 
        ingestionAccessMode = "PrivateOnly"
    } 
}

# login
Connect-AzAccount

# select subscription
Select-AzSubscription -SubscriptionId $scopeSubscriptionId

# create private link scope resource
$scope = New-AzResource -Location "Global" -Properties $scopeProperties -ResourceName $scopeName -ResourceType "Microsoft.Insights/privateLinkScopes" -ResourceGroupName $scopeResourceGroup -ApiVersion "2021-07-01-preview" -Force

AMPLS 만들기: ARM 템플릿

다음 ARM 템플릿은 다음을 만듭니다.

  • 쿼리 및 수집 액세스 모드가 Open으로 설정된 "my-scope"라는 AMPLS.
  • "my-workspace"라는 Log Analytics 작업 영역.
  • 그리고 범위가 지정된 리소스를 "my-workspace-connection"이라는 "my-scope" AMPLS에 추가합니다.

참고 항목

AMPLS 개체 만들기를 위해 새 API 버전(2021-07-01-preview 이상)을 사용해야 합니다(다음과 같이 microsoft.insights/privatelinkscopes 입력). 과거에 문서화된 ARM 템플릿은 이전 API 버전을 사용하여 QueryAccessMode="Open"IngestionAccessMode="PrivateOnly"로 설정된 AMPLS를 생성합니다.

{
    "$schema": https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#,
    "contentVersion": "1.0.0.0",
    "parameters": {
        "private_link_scope_name": {
            "defaultValue": "my-scope",
            "type": "String"
        },
        "workspace_name": {
            "defaultValue": "my-workspace",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "microsoft.insights/privatelinkscopes",
            "apiVersion": "2021-07-01-preview",
            "name": "[parameters('private_link_scope_name')]",
            "location": "global",
            "properties": {
                "accessModeSettings":{
                    "queryAccessMode":"Open",
                    "ingestionAccessMode":"Open"
                }
            }
        },
        {
            "type": "microsoft.operationalinsights/workspaces",
            "apiVersion": "2020-10-01",
            "name": "[parameters('workspace_name')]",
            "location": "westeurope",
            "properties": {
                "sku": {
                    "name": "pergb2018"
                },
                "publicNetworkAccessForIngestion": "Enabled",
                "publicNetworkAccessForQuery": "Enabled"
            }
        },
        {
            "type": "microsoft.insights/privatelinkscopes/scopedresources",
            "apiVersion": "2019-10-17-preview",
            "name": "[concat(parameters('private_link_scope_name'), '/', concat(parameters('workspace_name'), '-connection'))]",
            "dependsOn": [
                "[resourceId('microsoft.insights/privatelinkscopes', parameters('private_link_scope_name'))]",
                "[resourceId('microsoft.operationalinsights/workspaces', parameters('workspace_name'))]"
            ],
            "properties": {
                "linkedResourceId": "[resourceId('microsoft.operationalinsights/workspaces', parameters('workspace_name'))]"
            }
        }
    ]
}

AMPLS 액세스 모드 설정: PowerShell 예제

AMPLS에서 액세스 모드 플래그를 설정하려면 다음 PowerShell 스크립트를 사용할 수 있습니다. 다음 스크립트는 플래그를 Open으로 설정합니다. 프라이빗 전용 모드를 사용하려면 "PrivateOnly" 값을 사용합니다.

AMPLS 액세스 모드 업데이트가 적용될 때까지 약 10분 정도 기다립니다.

# scope details
$scopeSubscriptionId = "ab1800bd-ceac-48cd-...-..."
$scopeResourceGroup = "my-resource-group-name"
$scopeName = "my-scope"

# login
Connect-AzAccount

# select subscription
Select-AzSubscription -SubscriptionId $scopeSubscriptionId

# get private link scope resource
$scope = Get-AzResource -ResourceType Microsoft.Insights/privateLinkScopes -ResourceGroupName $scopeResourceGroup -ResourceName $scopeName -ApiVersion "2021-07-01-preview"

# set access mode settings
$scope.Properties.AccessModeSettings.QueryAccessMode = "Open";
$scope.Properties.AccessModeSettings.IngestionAccessMode = "Open";
$scope | Set-AzResource -Force

리소스 액세스 플래그 설정

작업 영역 또는 구성 요소 액세스 플래그를 관리하려면 az monitor log-analytics 작업 영역 또는 az monitor app-insights 구성 요소[--ingestion-access {Disabled, Enabled}][--query-access {Disabled, Enabled}] 플래그를 사용합니다.

이 섹션의 단계에 따라 프라이빗 링크 설정을 검토하고 유효성 검사합니다.

엔드포인트의 DNS 설정 검토

만든 프라이빗 엔드포인트에는 5개의 DNS 영역이 구성되어 있어야 합니다.

  • privatelink.monitor.azure.com
  • privatelink.oms.opinsights.azure.com
  • privatelink.ods.opinsights.azure.com
  • privatelink.agentsvc.azure.automation.net
  • privatelink.blob.core.windows.net

이러한 각 영역은 특정 Azure Monitor 엔드포인트를 가상 네트워크의 IP 풀에서 개인 IP로 매핑합니다. 다음 이미지에 표시된 IP 주소는 예일 뿐입니다. 대신 구성에 사용자 네트워크의 프라이빗 IP가 표시되어야 합니다.

Important

2021년 12월 1일부터 만들어진 AMPLS 및 프라이빗 엔드포인트 리소스는 엔드포인트 압축이라는 메커니즘을 사용합니다. 이제 리소스별 엔드포인트(예: OMS, ODS 및 AgentSVC 엔드포인트)이 지역 및 DNS 영역별로 동일한 IP 주소를 공유함을 의미합니다. 이 메커니즘은 가상 네트워크의 IP 풀에서 가져오는 IP 수가 적고 AMPLS에 더 많은 리소스를 추가할 수 있음을 의미합니다.

이 영역은 Azure Monitor에서 사용하는 글로벌 엔드포인트를 다룹니다. 즉, 엔드포인트는 리소스 관련 요청이 아니라 전역/지역적으로 요청을 처리합니다. 이 영역에는 다음에 대한 엔드포인트가 매핑되어야 합니다.

  • in.ai: Application Insights 수집 엔드포인트(글로벌 항목과 지역 항목 모두)입니다.
  • api: Application Insights 및 Log Analytics API 엔드포인트입니다.
  • live: Application Insights 라이브 메트릭 엔드포인트입니다.
  • profiler: Application Insights 프로파일러 엔드포인트입니다.
  • snapshot: Application Insights 스냅샷 엔드포인트.
  • diagservices-query: Application Insights Profiler 및 스냅샷 디버거(Azure Portal에서 프로파일러/디버거 결과에 액세스할 때 사용됨)입니다.

이 영역은 DCE(데이터 수집 엔드포인트)에 대한 리소스별 엔드포인트도 포함합니다.

  • <unique-dce-identifier>.<regionname>.handler.control: DCE 리소스의 일부인 프라이빗용 구성 엔드포인트.
  • <unique-dce-identifier>.<regionname>.ingest: DCE 리소스의 일부인 프라이빗용 수집 엔드포인트.

Screenshot that shows Private DNS zone monitor-azure-com.

Log Analytics 엔드포인트

Important

2021년 12월 1일부터 만들어진 AMPLS 및 프라이빗 엔드포인트는 엔드포인트 압축이라는 메커니즘을 사용합니다. 이제 OMS, ODS 및 AgentSVC와 같은 각 리소스별 엔드포인트는 해당 지역의 모든 작업 영역에 대해 지역 및 DNS 영역별로 단일 IP 주소를 사용합니다. 이 메커니즘은 가상 네트워크의 IP 풀에서 가져오는 IP 수가 적고 AMPLS에 더 많은 리소스를 추가할 수 있음을 의미합니다.

Log Analytics는 4개의 DNS 영역을 사용합니다.

  • privatelink-oms-opinsights-azure-com: OMS 엔드포인트에 대한 작업 영역별 매핑을 다룹니다. 이 프라이빗 엔드포인트와 연결된 AMPLS에 연결된 각 작업 영역에 대한 항목이 표시됩니다.
  • privatelink-ods-opinsights-azure-com: Log Analytics의 수집 엔드포인트인 ODS 엔드포인트에 대한 작업 영역별 매핑을 다룹니다. 이 프라이빗 엔드포인트와 연결된 AMPLS에 연결된 각 작업 영역에 대한 항목이 표시됩니다.
  • privatelink-agentsvc-azure-automation-net: 에이전트 서비스 자동화 엔드포인트에 대한 작업 영역별 매핑을 다룹니다. 이 프라이빗 엔드포인트와 연결된 AMPLS에 연결된 각 작업 영역에 대한 항목이 표시됩니다.
  • privatelink-blob-core-windows-net: 글로벌 에이전트의 솔루션 팩 스토리지 계정에 대한 연결을 구성합니다. 이를 통해 에이전트는 관리 팩이라고도 하는 신규 또는 업데이트된 솔루션 팩을 다운로드할 수 있습니다. 사용된 작업 영역 수에 관계없이 모든 Log Analytics 에이전트를 처리하려면 하나의 항목만 필요합니다. 이 항목은 2021년 4월 19일 이후에(또는 Azure 소버린 클라우드에서 2021년 6월부터) 만든 프라이빗 링크 설정에만 추가됩니다.

다음 스크린샷은 미국 동부에 2개의 작업 영역과 서유럽에 1개의 작업 영역이 있는 AMPLS에 대해 매핑된 엔드포인트를 보여 줍니다. 미국 동부 작업 영역은 IP 주소를 공유합니다. 서유럽 작업 영역 엔드포인트는 다른 IP 주소에 매핑됩니다. Blob 엔드포인트는 이 이미지에 나타나지 않지만 구성되어 있습니다.

Screenshot that shows private link compressed endpoints.

프라이빗 링크가 제대로 작동하는지 확인합니다.

  • 이제 프라이빗 엔드포인트를 통해 요청이 전송되어 있는지 확인하려면 네트워크 추적 도구 또는 브라우저를 사용하여 검토할 수 있습니다. 예를 들어, 작업 영역 또는 애플리케이션을 쿼리하려고 할 때 요청이 API 엔드포인트에 매핑된 개인 IP로 전송되는지 확인합니다. 이 예시에서는 172.17.0.9입니다.

    참고 항목

    일부 브라우저는 다른 DNS 설정을 사용할 수 있습니다. 자세한 내용은 브라우저 DNS 설정을 참조하세요. DNS 설정이 적용되는지 확인합니다.

  • 작업 영역 또는 구성 요소가 공용 네트워크에서 요청을 받지 않도록 하려면(AMPLS을 통해 연결되지 않음), 리소스에 대한 액세스 구성에 설명된 대로 리소스의 공개 수집 및 쿼리 플래그를 아니요로 설정합니다.

  • 보호된 네트워크의 클라이언트에서 nslookup DNS 영역에 나열된 엔드포인트 중 하나를 사용합니다. DNS 서버에서 기본적으로 확인되는 공용 IP 대신 매핑된 프라이빗 IP로 확인되어야 합니다.

다음 단계