다음을 통해 공유


Azure Monitor에서 Kubernetes 모니터링에 대해 프라이빗 링크 사용

Azure Private Link를 사용하면 프라이빗 엔드포인트를 사용하여 가상 네트워크에 대한 Azure PaaS(서비스 제공 플랫폼) 리소스에 액세스할 수 있습니다. AMPLS(Azure Monitor 프라이빗 링크 범위)는 프라이빗 엔드포인트를 모니터링 네트워크의 경계를 정의하는 Azure Monitor 리소스 세트에 연결합니다. 이 문서에서는 AKS(Azure Kubernetes Service) 클러스터에서 데이터를 수집하기 위해 프라이빗 링크를 사용하도록 컨테이너 인사이트와 관리되는 Prometheus를 구성하는 방법을 설명합니다.

참고 항목

필수 조건

  • 이 문서에서는 클러스터를 기존 AMPLS(Azure Monitor 프라이빗 링크 범위)에 연결하는 방법을 설명합니다. 프라이빗 링크 구성의 지침에 따라 AMPLS를 만듭니다.
  • Azure CLI 버전 2.61.0 이상

관리되는 Prometheus(Azure Monitor 작업 영역)

관리되는 Prometheus의 데이터는 Azure Monitor 작업 영역에 저장되므로 프라이빗 링크를 통해 이 작업 영역에 액세스할 수 있도록 해야 합니다.

DCE 구성

관리되는 Prometheus의 데이터 수집을 위한 프라이빗 링크는 데이터를 저장하는 Azure Monitor 작업 영역의 DCE(데이터 수집 엔드포인트)에서 구성됩니다. Azure Monitor 작업 영역과 연결된 DCE를 식별하려면 Azure Portal의 Azure Monitor 작업 영역에서 데이터 수집 엔드포인트를 선택합니다.

Azure Monitor 작업 영역에 대한 데이터 수집 엔드포인트 페이지를 보여 주는 스크린샷.

AKS 클러스터가 Azure Monitor 작업 영역과 동일한 지역에 없으면 AKS 클러스터와 동일한 지역에 다른 DCE를 만들어야 합니다. 이 경우 관리되는 Prometheus를 사용하도록 설정했을 때 만들어진 DCR(데이터 수집 규칙)을 엽니다. 이 DCR의 이름은 MSProm-<clusterName>-<clusterRegion>입니다. 클러스터는 리소스 페이지에 나열됩니다. 데이터 수집 엔드포인트 드롭다운에서 AKS 클러스터와 동일한 지역에 있는 DCE를 선택합니다.

Azure Monitor 작업 영역에 대한 데이터 수집 규칙 페이지를 보여 주는 스크린샷.

프라이빗 AKS 클러스터에서 수집

기본적으로 프라이빗 AKS 클러스터는 공용 데이터 수집 엔드포인트를 사용하여 공용 네트워크를 통해 관리되는 Prometheus 및 Azure Monitor 작업 영역으로 데이터를 전송할 수 있습니다.

Azure Firewall을 사용하여 클러스터에서 송신을 제한하는 경우 다음 중 하나를 구현할 수 있습니다.

  • 공용 수집 엔드포인트에 대한 경로를 엽니다. 다음 엔드포인트 2개를 사용하여 라우팅 테이블을 업데이트합니다.
    • *.handler.control.monitor.azure.com
    • *.ingest.monitor.azure.com
  • Azure Firewall이 데이터 수집에 사용되는 Azure Monitor 프라이빗 링크 범위와 DCE에 액세스할 수 있도록 설정합니다.

다음 단계에 따라 프라이빗 링크 가상 네트워크와 Azure Monitor 프라이빗 링크 범위를 통해 Kubernetes 클러스터에 대한 원격 쓰기를 설정합니다.

  1. Azure Virtual Network를 만듭니다.
  2. 온-프레미스 클러스터를 구성하여 프라이빗 피어링이 있는 VPN 게이트웨이 또는 ExpressRoutes를 사용해 Azure VNET에 연결합니다.
  3. Azure Monitor Private Link 범위를 만듭니다.
  4. Azure Monitor Private Link 범위를 온-프레미스 클러스터에서 사용한 가상 네트워크의 프라이빗 엔드포인트에 연결합니다. 이 프라이빗 엔드포인트는 DCE에 액세스하는 데 사용됩니다.
  5. 포털의 Azure Monitor 작업 영역에서 Azure Monitor 작업 영역 메뉴에서 데이터 수집 엔드포인트를 선택합니다.
  6. 작업 영역과 동일한 이름을 갖는 DCE가 하나 이상 있습니다. DCE를 클릭하여 세부 정보를 엽니다.
  7. DCE에 대한 네트워크 격리 페이지를 선택합니다.
  8. 추가를 클릭하고 Azure Monitor 프라이빗 링크 범위를 선택합니다. 설정이 전파되는 데 몇 분 정도 걸립니다. 완료되면 프라이빗 AKS 클러스터의 데이터가 프라이빗 링크를 통해 Azure Monitor 작업 영역에 수집됩니다.

컨테이너 인사이트(Log Analytics 작업 영역)

컨테이너 인사이트에 대한 데이터는 Log Analytics 작업 영역에 저장되므로 프라이빗 링크를 통해 이 작업 영역에 액세스할 수 있도록 해야 합니다.

참고 항목

이 섹션에서는 CLI를 사용하여 컨테이너 인사이트에 대한 프라이빗 링크를 사용하도록 설정하는 방법을 설명합니다. ARM 템플릿 사용에 대한 자세한 내용은 컨테이너 인사이트 사용을 참조하고 매개 변수 useAzureMonitorPrivateLinkScopeazureMonitorPrivateLinkScopeResourceId를 기록해 둡니다.

관리 ID 인증을 사용하는 클러스터

기본 Log Analytics 작업 영역이 있는 기존 AKS 클러스터

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

예시:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

기존 Log Analytics 작업 영역이 있는 기존 AKS 클러스터

az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --ampls-resource-id "<azure-monitor-private-link-scope-resource-id>"

예시:

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

새 AKS 클러스터

az aks create --resource-group rgName --name clusterName --enable-addons monitoring --workspace-resource-id "workspaceResourceId" --ampls-resource-id "azure-monitor-private-link-scope-resource-id"

예시:

az aks create --resource-group "my-resource-group"  --name "my-cluster"  --enable-addons monitoring --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace" --ampls-resource-id "/subscriptions/my-subscription /resourceGroups/ my-resource-group/providers/microsoft.insights/privatelinkscopes/my-ampls-resource"

레거시 인증을 사용하는 클러스터링

클러스터가 관리 ID 인증을 사용하지 않는 경우 다음 절차를 사용하여 Azure Private Link를 통해 클러스터를 Log Analytics 작업 영역에 연결하여 네트워크 격리를 사용하도록 설정합니다. 이를 위해서는 프라이빗 AKS 클러스터가 필요합니다.

  1. 프라이빗 Azure Kubernetes Service 클러스터 만들기의 지침에 따라 프라이빗 AKS 클러스터를 만듭니다.

  2. Log Analytics 작업 영역에서 공용 수집을 사용하지 않도록 설정합니다.

    다음 명령을 사용하여 기존 작업 영역에서 공용 수집을 사용하지 않도록 설정합니다.

    az monitor log-analytics workspace update --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName>  --ingestion-access Disabled
    

    다음 명령을 사용하여 공용 수집을 사용하지 않도록 설정된 새 작업 영역을 만듭니다.

    az monitor log-analytics workspace create --resource-group <azureLogAnalyticsWorkspaceResourceGroup> --workspace-name <azureLogAnalyticsWorkspaceName>  --ingestion-access Disabled
    
  3. 프라이빗 링크 구성의 지침에 따라 프라이빗 링크를 구성합니다. 수집 액세스 권한을 퍼블릭으로 설정한 다음, 프라이빗 엔드포인트를 만든 후 모니터링을 사용하도록 설정하기 전에 프라이빗으로 설정합니다. 프라이빗 링크 리소스 지역은 AKS 클러스터 지역과 동일해야 합니다.

  4. AKS 클러스터에 대한 모니터링을 사용하도록 설정합니다.

    az aks enable-addons -a monitoring --resource-group <AKSClusterResourceGorup> --name <AKSClusterName> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
    

다음 단계

  • 솔루션을 온보딩하는 동안 문제가 발생하는 경우 문제 해결 가이드를 검토하세요.
  • 모니터링을 사용하여 AKS 클러스터의 상태 및 리소스 사용률을 수집하고 해당 작업에서 실행되는 작업을 수집합니다. Container 인사이트 사용 방법을 알아보세요.