Automation runbook 빌드

완료됨

Azure Automation 작동 방식을 살펴보았으며, 자동화 계정 및 자동화 Runbook을 만드는 데 필요한 단계를 살펴보겠습니다.

Automation runbook을 빌드하려면 먼저 Automation 계정을 만들어야 합니다. 아래 이미지는 Azure Marketplace에서 Azure Automation을 선택한 후 Azure Portal에서의 이 프로세스를 보여줍니다.

Azure Portal Automation 계정을 만드는 방법에 대한 스크린샷

이 예제 Runbook에서는 PowerShell을 사용하여 Azure SQL Database에 연결합니다. 즉, 이러한 cmdlet을 지원하는 모듈을 가져와야 합니다. Runbook을 생성하기 전에 Azure Automation 계정으로 모듈을 가져옵니다. 이 가져오기를 수행하려면 Automation 계정용 기본 블레이드의 공유 리소스 섹션으로 이동하여 모듈 갤러리를 선택합니다. 가져올 첫 번째 모듈은 Az.SQL 모듈이 종속된 Az.Accounts입니다.

계정의 모듈을 검색하는 모듈 갤러리의 스크린샷

위 이미지와 같이 갤러리에서 모듈을 검색합니다. 모듈을 선택한 후 아래 이미지와 같이 가져오기를 선택합니다.

계정으로 모듈을 가져오는 방법에 대한 스크린샷

이는 모듈을 계정으로 가져옵니다. 이 예에서는 Az.SQL 및 SqlServer PowerShell 모듈에 대해 프로세스가 반복되었습니다.

그런 다음 Runbook에서 활용할 수 있는 자격 증명을 선택적으로 만들 수 있습니다. 아래 이미지에 표시된 대로 Automation 계정용 기본 블레이드의 공유 리소스 섹션에서 자격 증명을 클릭하여 자격 증명을 만들 수 있습니다. Azure Automation을 사용하기 위해 자격 증명을 만들 필요는 없지만 이 예에서는 하나를 참조합니다.

Azure Automation의 자격 증명을 만드는 방법에 대한 스크린샷

Automation 계정의 프로세스 자동화 섹션에서 Runbook을 선택하여 Runbook을 만듭니다. 계정에는 두 개의 샘플 Runbook이 함께 제공됩니다.

Azure Portal의 Runbook 만들기 스크린샷

Runbook을 만들려면 이름, Runbook 유형, 런타임 버전 및 설명(선택 사항)을 제공해야 합니다. 이 예에서는 PowerShell을 유형으로 지정했으므로 PowerShell 편집기가 열립니다.

샘플 Azure Automation Runbook의 스크린샷

위의 이미지는 실행 중인 코드를 정의하는 Runbook 편집 화면을 보여줍니다. 이 예제에서 runbook은 Azure 구독에 연결하여 Azure SQL Database에 관한 정보를 가져오고 쿼리를 실행한 다음 결과를 반환합니다.

1-21행에서는 일련의 cmdlet을 실행하여 Azure 계정에 연결합니다. 그런 다음 Get-AzSQLDatabase cmdlet에서 데이터베이스 이름을 가져오고 get-AutomationPSCredentail cmdlet을 사용하여 자격 증명을 변수에 할당합니다.

마지막으로 invoke-sqlcmd cmdlet을 할당하여 Azure SQL Database에 대한 쿼리를 실행하고 write-output cmdlet을 사용하여 쿼리 결과를 반환합니다.

포털에서 코드를 완료한 후 Azure Portal의 코드 편집기에서 테스트 창을 선택합니다. 그러면 Azure Automation 컨텍스트에서 코드를 테스트할 수 있습니다. 일반적인 개발 프로세스는 PowerShell 코드를 로컬로 생성된 다음 자동화 환경에서 테스트하는 것입니다. 그러면 자동화 실행 컨텍스트에서 생성될 수 있는 오류로부터 모든 PowerShell 오류를 구분할 수 있습니다. 코드 자체에 오류가 없도록 항상 자동화 내에서 코드를 테스트합니다.

Azure Portal에서 완료된 테스트 Runbook의 스크린샷

아래 이미지는 완료된 Runbook의 결과를 보여줍니다. 하이브리드 runbook을 참조하는 화면 왼쪽의 정보 풍선 도움말을 참고하세요. 하이브리드 Runbook은 가상 머신 내에서 cmdlet을 실행해야 하는 경우 사용됩니다. 가상 머신 및 Azure Automation 계정에 대한 구성이 필요합니다. 이 개념은 약간 혼란스러울 수 있지만, Azure 리소스를 Azure Resource Manager에서 관리하는 상자로 생각하는 것이 가장 쉬운 방법입니다. 하이브리드 Runbook이 없으면 해당 상자의 상태를 관리할 수 있지만, 상자 내의 모든 항목에 액세스하거나 관리할 수는 없습니다. 하이브리드 runbook은 상자 내의 기능을 제어하는 옵션을 제공합니다.

Azure Portal에서 완료된 Runbook 결과 스크린샷

Runbook을 성공적으로 테스트한 후 Runbook 편집기 화면에서 게시를 선택할 수 있습니다.

Runbook을 게시해야 Azure 서비스에서 실행할 수 있습니다. Runbook을 게시한 후 Automation 계정 블레이드의 공유 리소스 섹션에서 일정을 선택하여 일정을 만들 수 있습니다.

Azure Automation의 일정 만들기 페이지 스크린샷

위의 이미지는 새 일정의 생성 프로세스를 보여줍니다. 기본 설정은 작업이 반복되지 않게 하는 것입니다. 위의 예에서 작업은 중부 시간으로 매일 오후 4:00에 한 번 실행되도록 구성되었습니다.

일정을 만들면 Runbook으로 다시 이동하고 아래 이미지에 표시된 대로 Runbook 페이지에서 일정에 대한 링크를 선택하여 Runbook에 연결할 수 있습니다.

Runbook을 Azure Automation의 일정에 연결하는 방법에 대한 스크린샷