Azure Resource Manager 및 Azure ARM 템플릿

jung_ho9 개발일지·2022년 12월 17일
0

[AZ-900] Microsoft Azure

목록 보기
39/43
post-thumbnail

Azure Resource Manager 및 Azure ARM 템플릿 설명


ARM(Azure Resource Manager)은 Azure용 배포 및 관리 서비스입니다. Azure 계정에서 리소스를 만들고, 업데이트하고, 삭제할 수 있는 관리 계층을 제공합니다. Azure 리소스를 사용하여 무엇인가 할 때마다 ARM이 관련됩니다.

사용자가 Azure 도구, API 또는 SDK에서 요청을 보내면 ARM이 요청을 받습니다. ARM은 요청을 인증하고 권한을 부여합니다. 이후, ARM은 요청된 작업을 수행하는 Azure 서비스에 요청을 보냅니다. 모든 요청이 동일한 API를 통해 처리되므로 모든 여러 도구에서 일관적인 결과 및 기능을 볼 수 있습니다.

Azure Resource Manager의 장점


Azure Resource Manager를 사용하여 다음을 수행할 수 있습니다.

  • 스크립트가 아니라 선언적 템플릿을 통해 인프라를 관리합니다. Resource Manager 템플릿은 Azure에 무엇을 배포하는지 정의하는 JSON 파일입니다.
  • 이 리소스를 개별적으로 처리하는 대신, 솔루션의 모든 리소스를 그룹으로 배포, 관리 및 모니터링합니다.
  • 개발 수명 주기 내내 솔루션을 다시 배포합니다(리소스가 일관된 상태로 배포됨을 확신할 수 있음).
  • 리소스가 올바른 순서로 배포되도록 리소스 간의 종속성을 정의합니다.
  • 모든 서비스에 액세스 제어를 적용합니다. RBAC가 기본적으로 관리 플랫폼에 통합되기 때문입니다.
  • 리소스에 태그를 적용하여 구독의 모든 리소스를 논리적으로 구성합니다.
  • 동일한 태그를 공유하는 리소스 그룹에 대한 비용을 확인하여 조직의 청구를 명확히 합니다.

다음 비디오에서는 ARM과 함께 다양한 Azure 도구를 사용하여 환경을 관리하는 방법에 대한 개요를 제공합니다.

ARM 템플릿


코드로서의 인프라는 인프라를 코드 줄로 관리하는 개념입니다. Azure Cloud Shell, Azure PowerShell 또는 Azure CLI를 활용하는 것은 코드를 사용하여 클라우드 인프라를 배포하는 몇 가지 예입니다. ARM 템플릿은 작업 중인 코드로서의 인프라의 또 다른 예입니다.

ARM 템플릿을 사용하면 선언적 JSON 형식에서 사용하려는 리소스를 설명할 수 있습니다. ARM 템플릿을 사용하면 코드를 실행하기 전에 배포 코드가 확인됩니다. 이렇게 하면 리소스가 올바르게 만들어져 연결됩니다. 그런 다음, 템플릿이 이러한 리소스의 생성을 병렬로 오케스트레이션합니다. 즉, 동일한 리소스의 50개의 인스턴스가 필요한 경우 50개 인스턴스가 모두 동시에 생성됩니다.

따라서 개발자, DevOps 전문가 또는 IT 전문가는 ARM 템플릿에서 각 리소스의 원하는 상태와 구성을 정의하기만 하면 되며 나머지는 템플릿에서 처리합니다. 템플릿은 리소스가 설정되기 전 또는 후에 PowerShell 및 Bash 스크립트를 실행할 수도 있습니다.

ARM 템플릿 사용의 이점


ARM 템플릿은 Azure 리소스 배포를 계획할 때 많은 이점을 제공합니다.

  • 선언적 구문: ARM 템플릿을 사용하면 전체 Azure 인프라를 선언적으로 생성하고 배포할 수 있습니다. 선언적 구문이란 무엇을 배포할 지 선언하면서도 리소스 배포를 위해 실제 프로그래밍 명령어와 시퀀스를 쓸 필요는 없는 경우를 의미합니다.
  • 반복 가능한 결과: 개발 수명 주기 내내 인프라를 반복적으로 배포하며, 안정적이고 일관된 리소스 배포를 보장할 수 있습니다. 모든 환경이 동일하다는 것을 아는 상태로 동일한 ARM 템플릿을 사용하여 여러 개발/테스트 환경을 배포할 수 있습니다.
  • 오케스트레이션: 복잡한 작업 순서 지정 작업에 대해 우려할 필요가 없습니다. ARM이 상호 종속된 리소스 배포를 오케스트레이션하므로 이러한 리소스가 올바른 순서로 작성됩니다. 가능한 경우 ARM은 리소스를 병렬로 배포하여, 직렬로 배포될 때보다 배포가 빠르게 완료되도록 합니다. 다수의 명령어가 아닌 하나의 명령으로 템플릿을 배포합니다.
  • 모듈식 파일: 템플릿을 재사용 가능한 소규모 구성 요소로 분할하고, 배포 시 서로 연결할 수 있습니다. 다른 템플릿 내에 하나의 템플릿을 중첩할 수도 있습니다. 예를 들어 VM 스택에 대한 템플릿을 만든 다음 전체 환경을 배포하는 템플릿 내에 해당 템플릿을 중첩할 수 있으며 해당 VM 스택은 각 환경 템플릿에 일관되게 배포됩니다.
  • 확장성: 배포 스크립트를 사용하여 템플릿에 PowerShell 또는 Bash 스크립트를 추가할 수 있습니다. 배포 스크립트는 배포 중에 리소스를 설정하는 능력을 확장합니다. 스크립트는 템플릿에 포함될 수도 있고, 외부 소스에 저장되어 템플릿이 해당 스크립트를 참조할 수도 있습니다. 배포 스크립트를 사용하면 단일 ARM 템플릿에서 엔드투엔드 환경 설정을 완료할 수 있습니다.
profile
꾸준하게 기록하기

0개의 댓글