Azure Private Link를 사용하여 네트워크를 Azure Automation에 안전하게 연결

Azure 프라이빗 엔드포인트는 Azure Private Link가 제공하는, 서비스에 비공개로 안전하게 연결하는 네트워크 인터페이스입니다. 프라이빗 엔드포인트는 VNet의 개인 IP 주소를 사용하여 Automation 서비스를 VNet으로 효과적으로 가져옵니다. VNet에 있는 머신과 Automation 계정 간의 네트워크 트래픽은 Vnet과 Microsoft 백본 네트워크의 프라이빗 링크를 통해 트래버스하여 퍼블릭 인터넷 노출을 방지합니다.

예를 들어 아웃바운드 인터넷 액세스를 사용하지 않도록 설정한 VNet이 있습니다. 그러나 Automation 계정에 프라이빗 경로로 액세스하고 Hybrid Runbook Worker의 웹후크, 상태 구성 및 Runbook 작업 같은 자동화 기능을 사용하려고 합니다. 또한 사용자가 VNET을 통해서만 Automation 계정에 액세스할 수 있도록 하려고 합니다. 프라이빗 엔드포인트 배포는 해당 목표를 달성합니다.

이 문서에서는 프라이빗 엔드포인트를 사용하는 경우 및 Automation 계정으로 설정하는 방법을 설명합니다.

Conceptual overview of Private Link for Azure Automation

참고 항목

Azure Automation에 대한 Private Link 지원은 Azure Commercial 및 Azure US Government 클라우드에서만 사용할 수 있습니다.

장점

Private Link를 사용하면 다음을 수행할 수 있습니다.

  • 공용 네트워크 액세스를 개방하지 않고 Azure Automation에 비공개로 연결

  • 공용 네트워크 액세스를 개방하지 않고 Azure Monitor Log Analytics 작업 영역에 비공개로 연결

    참고 항목

    Log Analytics 작업 영역에 대한 별도의 프라이빗 엔드포인트는 작업 데이터를 전달하기 위해 Automation 계정이 Log Analytics 작업 영역에 연결되어 있고 업데이트 관리, 변경 내용 추적 및 인벤토리, State Configuration 또는 작업 시간 외 VM 시작/중지 같은 기능을 사용하도록 설정한 경우에 필요합니다. Azure Monitor에 대한 Private Link에 대한 자세한 내용은 Azure Private Link를 사용하여 네트워크를 Azure Monitor에 안전하게 연결을 참조하세요.

  • 권한 있는 개인 네트워크를 통해서만 Automation 데이터에 액세스할 수 있는지 확인합니다.

  • 프라이빗 엔드포인트를 통해 연결되는 Azure Automation 리소스를 정의하여 개인 네트워크에서 데이터 반출을 방지합니다.

  • ExpressRoute 및 Private Link를 사용하여 온-프레미스 개인 네트워크를 Azure Automation에 안전하게 연결합니다.

  • Microsoft Azure 백본 네트워크 내에서 모든 트래픽을 유지합니다.

자세한 내용은 Private Link의 주요 이점을 참조하세요.

제한 사항

  • 현재 Private Link 구현에서 Automation 계정 클라우드 작업은 프라이빗 엔드포인트를 사용하여 보호되는 Azure 리소스에 액세스할 수 없습니다. 예를 들어 Azure Key Vault, Azure SQL, Azure Storage 계정 등이 있습니다. 이를 해결하려면 Hybrid Runbook Worker를 대신 사용합니다. 따라서 온-프레미스 VM은 Private Link가 사용하도록 설정된 Automation 계정에 대해 Hybrid Runbook Worker를 실행하도록 지원합니다.
  • Windows 또는 Linux용 Log Analytics 에이전트의 최신 버전을 사용해야 합니다.
  • Log Analytics 게이트웨이에서 Private Link를 지원하지 않습니다.
  • Azure 경고(메트릭, 로그 및 활동 로그)는 Automation 계정이 공용 액세스사용 안 함으로 설정된 상태에서 구성된 경우 Automation 웹후크를 트리거하는 데 사용할 수 없습니다.

작동 방식

Azure Automation Private Link는 하나 이상의 프라이빗 엔드포인트(및 따라서 이들이 포함된 가상 네트워크)를 Automation 계정 리소스에 연결합니다. 해당 엔드포인트는 웹후크를 사용하여 Runbook을 시작하는 머신, Hybrid Runbook Worker 역할을 호스트하는 머신 및 DSC(Desired State Configuration) 노드를 사용합니다.

Automation를 위한 프라이빗 엔드포인트를 만든 후에는 각 퍼블릭 연결 Automation URL이 VNet의 하나의 프라이빗 엔드포인트에 매핑됩니다. 사용자 또는 머신에서 Automation URL에 직접 연결할 수 있습니다.

웹후크 시나리오

웹후크 URL에 POST를 수행하여 Runbook을 시작할 수 있습니다. 예를 들어 URL은 https://<automationAccountId>.webhooks.<region>.azure-automation.net/webhooks?token=gzGMz4SMpqNo8gidqPxAJ3E%3d입니다.

Hybrid Runbook Worker 시나리오

Azure Automation의 사용자 Hybrid Runbook Worker 기능을 사용하면 Azure Arc 지원 서버에 등록된 서버를 포함하여 Azure 또는 비 Azure 머신에서 직접 Runbook을 실행할 수 있습니다. 역할을 호스트하는 머신 또는 서버에서 직접 Runbook을 실행하고 환경의 리소스에 대해 해당 로컬 리소스를 관리할 수 있습니다.

JRDS 엔드포인트는 Hybrid Worker가 Runbook을 시작/중지하고, Runbook을 작업자에 다운로드하고, 작업 로그 스트림을 Automation 서비스로 다시 보내는 데 사용됩니다. JRDS 엔드포인트를 사용하도록 설정한 후 URL은 https://<automationaccountID>.jrds.<region>.privatelink.azure-automation.net과 같습니다. 이렇게 하면 Azure Virtual Network에 연결된 Hybrid Worker에서 Runbook을 실행하여 인터넷에 대한 아웃바운드 연결을 열지 않고도 작업을 실행할 수 있습니다.

참고 항목

Azure Automation에 대한 Private Link의 현재 구현을 사용하여 Azure 가상 네트워크에 연결된 Hybrid Runbook Worker에 대한 실행 작업만 지원하고 클라우드 작업은 지원하지 않습니다.

업데이트 관리에 대한 Hybrid Worker 시나리오

시스템 Hybrid Runbook Worker는 Windows 및 Linux 머신에 사용자 지정 업데이트를 설치하도록 디자인된 업데이트 관리 기능에서 사용하는 숨겨진 Runbook 집합을 지원합니다. Azure Automation 업데이트 관리를 사용하도록 설정하면 Log Analytics 작업 영역에 연결된 모든 컴퓨터가 시스템 Hybrid Runbook Worker로 자동으로 구성됩니다.

업데이트 관리를 이해 및 구성하려면 업데이트 관리에 대한 정보를 검토합니다. 업데이트 관리 기능은 Log Analytics 작업 영역에 종속되므로 작업 영역을 Automation 계정과 연결해야 합니다. Log Analytics 작업 영역은 솔루션이 수집한 데이터를 저장하고 로그 검색 및 보기를 호스트합니다.

업데이트 관리를 위해 구성된 머신이 Private Link 채널을 통해 안전한 방식으로 Automation & Log Analytics 작업 영역에 연결되도록 하려면, Private Link로 구성된 Automation 계정에 연결된 Log Analytics 작업 영역에 대한 Private Link를 사용하도록 설정해야 합니다.

Log Analytics 구성에 설명된 단계를 수행하여 Private Link 범위 외부에서 Log Analytics 작업 영역에 연결할 수 있는 방법을 제어할 수 있습니다. 수집을 위해 공용 네트워크 액세스 허용아니요로 설정하면 연결된 범위 외부의 머신에서 데이터를 이 작업 영역에 업로드할 수 없습니다. 쿼리를 위해 공용 네트워크 액세스 허용아니요로 설정하면 범위 외부의 머신에서 이 작업 영역의 데이터에 액세스할 수 없습니다.

DSCAndHybridWorker 대상 하위 리소스를 사용하여 사용자 & 시스템 Hybrid Worker에 대한 Private Link를 사용하도록 설정합니다.

참고 항목

업데이트 관리에서 관리하며 Azure 외부에서 호스트되는 머신은 ExpressRoute 개인 피어링, VPN 터널 및 프라이빗 엔드포인트를 사용하는 피어링 가상 네트워크를 통해 Azure VNet에 연결됩니다.

State Configuration(agentsvc) 시나리오

State Configuration은 Azure 구성 관리 서비스를 제공하는데, 이는 모든 클라우드 또는 온-프레미스 데이터 센터의 노드에 대한 PowerShell DSC(Desired State Configuratioin) 구성을 작성, 관리 및 컴파일합니다.

머신의 에이전트는 DSC 서비스를 사용하여 등록한 다음 서비스 엔드포인트를 사용하여 DSC 구성을 가져옵니다. 에이전트 서비스 엔드포인트는 https://<automationAccountId>.agentsvc.<region>.azure-automation.net과 같습니다.

퍼블릭 & 프라이빗 엔드포인트의 URL은 동일하지만 Private Link를 사용하는 경우 개인 IP 주소에 매핑됩니다.

네트워크 기반 계획 수립

Automation 계정 리소스를 설정하기 전에 네트워크 격리 요구 사항을 고려합니다. 퍼블릭 인터넷에 대한 가상 네트워크 액세스 및 Automation 계정에 대한 액세스 제한(Automation 계정과 통합된 경우 Private Link 그룹 범위를 Azure Monitor 로그로 설정 포함)을 평가합니다. 또한 지원되는 기능이 문제없이 작동하는지 확인하기 위한 계획의 일부로 Automation 서비스 DNS 레코드 검토를 포함합니다.

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

아래 단계에 따라 Automation 계정에 대한 프라이빗 엔드포인트를 만듭니다.

  1. Azure Portal에서 Private Link 센터로 이동하여 네트워크를 연결하는 프라이빗 엔드포인트를 만듭니다.

  2. Private Link 센터에서 프라이빗 엔드포인트 만들기를 선택합니다.

    Screenshot of how to create a private endpoint.

  3. 기본에서 다음 세부 정보를 입력합니다.

    • 구독
    • 리소스 그룹
    • 이름
    • 네트워크 인터페이스 이름
    • 지역을 선택하고 다음: 리소스를 선택합니다.

    Screenshot of how to create a private endpoint in Basics tab.

  4. 리소스에서 다음 세부 정보를 입력합니다.

    • 연결 방법에서 기본 옵션인 내 디렉터리의 Azure 리소스에 연결을 선택합니다.
    • 구독
    • 리소스 종류
    • 리소스.
    • 대상 하위 리소스는 시나리오에 따라 Webhook 또는 DSCAndHybridWorker일 수 있으며 다음 : Virtual Network를 선택합니다.

    Screenshot of how to create a private endpoint in Resource tab.

  5. Virtual Network에서 다음 세부 정보를 입력합니다.

    • 가상 네트워크
    • 서브넷
    • 이 서브넷의 모든 프라이빗 엔드포인트에 대해 네트워크 정책 사용에 대한 확인란을 사용하도록 설정합니다.
    • 동적으로 IP 주소 할당을 선택하고 다음: DNS를 선택합니다.

    Screenshot of how to create a private endpoint in Virtual network tab.

  6. DNS에서 데이터는 기본 사항, 리소스, Virtual Network 탭에 입력된 정보에 따라 채워지고 프라이빗 DNS 영역을 만듭니다. 다음 세부 정보를 입력합니다.

    • 프라이빗 DNS 영역과 통합
    • 구독
    • 리소스 그룹을 선택하고 다음: 태그를 선택합니다.

    Screenshot of how to create a private endpoint in DNS tab.

  7. 태그에서 리소스를 분류할 수 있습니다. 이름을 선택하고 검토 + 만들기를 선택합니다.

Azure에서 구성의 유효성을 검사하는 검토 + 만들기 페이지로 이동합니다. 공용 네트워크 액세스 및 Private Link에 대한 변경 내용이 적용되면 적용되는 데 최대 35분이 걸릴 수 있습니다.

Private Link 센터에서 프라이빗 엔드포인트를 선택하여 프라이빗 링크 리소스를 확인합니다.

Screenshot Automation resource private link.

모든 세부 정보를 보려면 리소스를 선택합니다. 이렇게 하면 Automation 계정에 대한 새 프라이빗 엔드포인트를 만들고 가상 네트워크에서 개인 IP를 할당합니다. 연결 상태승인됨으로 표시됩니다.

마찬가지로, State Configuration(agentsvc)과 Hybrid Runbook Worker 작업 런타임(jrds)에 대한 고유 FQDN(정규화된 도메인 이름)이 만들어집니다. 각 항목에는 VNet과는 별도인 IP가 할당되며 연결 상태승인됨으로 표시됩니다.

서비스 소비자에게 Automation 리소스에 대한 Azure RBAC 권한이 있는 경우 자동 승인 방법을 선택할 수 있습니다. 이 경우 요청이 Automation 공급자 리소스에 도달하면 서비스 공급자의 작업이 필요하지 않으며 연결이 자동으로 승인됩니다.

공용 네트워크 액세스 플래그 설정

모든 퍼블릭 구성을 거부하도록 Automation 계정을 구성하고, 프라이빗 엔드포인트를 통해서만 연결을 허용하여 네트워크 보안을 더욱 향상시킬 수 있습니다. VNet 내에서만 Automation 계정에 대한 액세스를 제한하고 퍼블릭 인터넷에서의 액세스를 허용하지 않으려면 publicNetworkAccess 속성을 $false로 설정할 수 있습니다.

공용 네트워크 액세스 설정을 $false으로 설정하면 프라이빗 엔드포인트를 통한 연결만 허용되며, 퍼블릭 엔드포인트를 통한 모든 연결은 권한이 없는 오류 메시지 및 401의 HTTP 상태와 함께 거부됩니다.

다음 PowerShell 스크립트는 GetSet Automation 계정 수준에서 공용 네트워크 액세스 속성을 보여 줍니다.

$account = Get-AzResource -ResourceType Microsoft.Automation/automationAccounts -ResourceGroupName "<resourceGroupName>" -Name "<automationAccountName>" -ApiVersion "2020-01-13-preview"
$account.Properties | Add-Member -Name 'publicNetworkAccess' -Type NoteProperty -Value $false -Force
$account | Set-AzResource -Force -ApiVersion "2020-01-13-preview"

Azure Portal에서 공용 네트워크 액세스 속성을 제어할 수도 있습니다. Automation 계정의 계정 설정 섹션의 왼쪽 창에서 네트워크 격리를 선택합니다. 공용 네트워크 액세스 설정이 아니요로 설정된 경우 프라이빗 엔드포인트를 통한 연결만 허용되며 퍼블릭 엔드포인트를 통한 모든 연결은 거부됩니다.

Public Network Access setting

DNS 구성

연결 문자열의 일부로 FQDN(정규화된 도메인 이름)을 사용하여 프라이빗 링크 리소스에 연결하는 경우 할당된 프라이빗 IP 주소를 확인하도록 DNS 설정을 올바르게 구성하는 것이 중요합니다. 기존 Azure 서비스에는 공용 엔드포인트를 통해 연결할 때 사용할 DNS 구성이 이미 있을 수 있습니다. DNS 구성을 검토하고 프라이빗 엔드포인트를 사용하여 연결하도록 업데이트해야 합니다.

프라이빗 엔드포인트와 연결된 네트워크 인터페이스에는 지정된 프라이빗 링크 리소스에 대해 할당된 프라이빗 IP 주소 및 FQDN을 포함하여 DNS를 구성하는 데 필요한 전체 정보 집합이 포함되어 있습니다.

다음 옵션을 사용하여 프라이빗 엔드포인트에 대한 DNS 설정을 구성할 수 있습니다.

  • 호스트 파일을 사용합니다(테스트에만 권장) . 가상 머신의 호스트 파일을 사용하여 DNS를 먼저 이름 확인에 사용하는 것을 재정의할 수 있습니다. DNS 항목은 다음 예제의 privatelinkFQDN.jrds.sea.azure-automation.net과 비슷합니다.

  • 프라이빗 DNS 영역 사용. 프라이빗 DNS 영역을 사용하여 특정 프라이빗 엔드포인트에 대한 DNS 확인을 재정의할 수 있습니다. 프라이빗 DNS 영역을 가상 네트워크에 연결하여 특정 도메인을 확인할 수 있습니다. 가상 머신에서 에이전트가 프라이빗 엔드포인트를 통해 통신할 수 있도록 하려면 privatelink.azure-automation.net로 프라이빗 DNS 레코드를 만듭니다. 새 DNS A 레코드 매핑을 프라이빗 엔드포인트의 IP에 추가합니다.

  • DNS 전달자를 사용합니다(선택 사항) . DNS 전달자를 사용하여 특정 프라이빗 링크 리소스에 대한 DNS 확인을 재정의할 수 있습니다. DNS 서버가 가상 네트워크에서 호스트되는 경우 프라이빗 DNS 영역을 사용하여 모든 프라이빗 링크 리소스에 대한 구성을 간소화하는 DNS 전달 규칙을 만들 수 있습니다.

자세한 내용은 Azure 프라이빗 엔드포인트 DNS 구성을 참조하세요.

다음 단계

프라이빗 엔드포인트에 대한 자세한 정보는 Azure 개인 엔드포인트란 무엇인가요?를 참조하세요.