Azure Automation 상태 구성

Azure Automation
Azure Monitor
Azure Virtual Machines

Azure Automation State Configuration은 클라우드 또는 온-프레미스 데이터 센터의 가상 머신과 실제 컴퓨터에서 상태를 구성하고 적용할 수 있게 해주는 Azure 구성 관리 서비스입니다. 보고 전용 모드에서 Azure Automation State Configuration을 사용하여 가상 또는 실제 컴퓨터에 대한 구성 준수 데이터를 볼 수 있습니다.

아키텍처

이 시나리오 예는 Azure Automation State Configuration을 사용하여 Windows 및 Linux Azure VM(Virtual Machines)에 웹 서버를 설치하는 방법을 보여 줍니다. 그런 다음 Azure Monitor를 사용하여 시스템이 규정을 준수하지 않을 때 경고를 발생시킬 수 있습니다.

Azure Automation State Configuration 아키텍처를 보여 주는 다이어그램.

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

이 솔루션에서는 다음 서비스 및 구성 요소를 사용합니다.

  • Azure Automation: Azure 및 Azure 이외의 환경에서 일관된 관리를 지원하는 클라우드 기반 자동화 및 구성 서비스를 제공하며,
  • PowerShell DSC(Desired State Configuration): 구성을 코드로 사용하여 IT 및 개발 인프라를 관리하는 데 사용할 수 있는 PowerShell의 관리 플랫폼입니다.
  • Azure Automation State Configuration: PowerShell Desired State Configuration을 사용하여 빌드된 구성 관리 솔루션입니다. State Configuration은 Azure VM, 온-프레미스 컴퓨터 및 비 Azure 클라우드의 컴퓨터에서 작동합니다. State Configuration을 사용하여 PowerShell DSC 리소스를 가져오고 중앙 위치에서 많은 가상 머신에 할당할 수 있습니다. 각 엔드포인트가 원하는 상태를 평가하거나 적용한 후 상태 규정 준수가 Azure에 보고되고 기본 제공 대시보드에 표시됩니다.
  • Azure Monitor: Azure Monitor는 Azure 서비스에 대한 메트릭 및 로그, 애플리케이션 원격 분석, 플랫폼 메트릭을 수집하고 저장합니다. 이 데이터를 사용하여 애플리케이션을 모니터링하고 경고 및 대시보드를 설정하며 장애의 근본 원인 분석을 수행합니다.
  • Azure Virtual Machines: Virtual Machines를 실행하기 위한 Azure IaaS 솔루션입니다.

구성 요소

시나리오 정보

구성

DSC 구성을 사용하여 Windows 및 Linux 시스템을 구성합니다. 이러한 구성은 Azure Automation State Configuration 서비스에 업로드되고 노드 구성으로 컴파일됩니다. 그런 다음 State Configuration 서비스에서 관리하는 모든 시스템에 할당할 수 있습니다.

구성은 모든 텍스트 편집기에서 또는 Azure Portal을 사용하여 구성할 수 있습니다. 다음 예제는 포함된 배포에서 Windows 및 Linux 시스템 모두에 웹 서버를 설치하는 데 사용됩니다.

configuration linuxpackage {

    Import-DSCResource -Module nx

    Node "localhost" {

        nxPackage nginx {
            Name = "nginx"
            Ensure = "Present"
        }
    }
}

구성 작성에 대한 자세한 내용은 DSC 구성 작성을 참조하세요.

모니터링

Azure Automation State Configuration은 노드 상태 데이터를 30일 동안 유지합니다. 더 오래 유지하려는 경우 노드 상태 데이터를 Log Analytics 작업 영역으로 보낼 수 있습니다. Azure Monitor 로그는 Automation State Configuration 데이터에 대한 운영 가시성을 높이고 인시던트 문제를 보다 신속하게 해결하는 데 도움이 됩니다. 예를 들어 Azure Monitor 통합을 사용하면 시스템이 비준수인 것으로 확인될 경우 이메일 경고가 발생할 수 있습니다.

Azure Monitor 통합은 포함된 배포로 구성됩니다. 다음 Azure Monitor 쿼리는 비준수 시스템이 검색될 때 감지하고 경고하는 데 사용됩니다.

AzureDiagnostics
| where Category == "DscNodeStatus"
| where ResultType != "Failed"

Azure Automation State Configuration 모니터링에 대한 자세한 내용은 Azure Monitor 로그와 통합을 참조하세요.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

구성 관리에는 구성 끌어오기 서비스 및 변경 내용 추적 기능이 포함됩니다. 요금은 서비스에 등록된 노드 수와 Azure Log Analytics 서비스에 저장된 로그 데이터의 양을 기반으로 합니다.

구성 관리 요금은 노드가 서비스에 등록될 때 시작되고 노드가 등록 해제되면 중지됩니다. 노드는 구성 관리를 통해 구성을 관리하는 모든 컴퓨터입니다. Azure VM, 온-프레미스 VM, 실제 호스트 또는 다른 퍼블릭 클라우드의 VM일 수 있습니다. 노드에 대한 청구는 시간당 일할 계산됩니다.

자세한 내용은 Automation 가격 책정을 참조하세요.

시나리오 배포

이 배포에는 Azure Automation 계정, Azure Automation State Configuration 기능, State Configuration에 온보딩된 하나 이상의 Windows 및 Linux VM이 포함됩니다. 배포 후 웹 서버를 설치하는 각 가상 머신에 구성이 적용됩니다.

배포를 위한 리소스 그룹을 만들려면 다음 명령을 실행합니다. 포함된 셸을 사용하려면 시도 단추를 선택합니다.

az group create --name state-configuration --location eastus

ARM 템플릿을 배포하려면 다음 명령을 실행합니다. 프롬프트에서 사용자 이름과 암호를 입력합니다. 이 값을 사용하여 만든 가상 머신에 로그인합니다.

az deployment group create --resource-group state-configuration \
    --template-uri https://raw.githubusercontent.com/mspnp/samples/master/solutions/azure-automation-state-configuration/azuredeploy.json

VM이 배포된 후 Azure Portal에서 Automation 계정 리소스를 선택한 다음 State Configuration(DSC)을 선택합니다. 모든 가상 머신이 컴퓨터에 추가되었으며 규정을 준수함을 알 수 있습니다. 이 모든 컴퓨터에는 각각에 웹 서버가 설치된 PowerShell DSC 구성이 적용되었습니다.

Azure Portal의 DSC 규정 준수 결과 스크린샷.

가상 머신의 공용 IP 주소로 이동하여 웹 서버가 실행 중인지 확인할 수도 있습니다.

자세한 정보 및 추가 배포 옵션은 이 솔루션을 배포하는 데 사용되는 ARM 템플릿을 참조하세요.

다음 단계