본문 바로가기
Public Cloud/Azure

[Azure Administrator] Module3: Azure 리소스 관리

by SE_123 2023. 6. 8.
반응형

01. 리소스와 리소스 그룹

리소스와 리소스 그룹

Azure 리소스 그룹은 관련 Azure 리소스를 구성하고 관리할 수 있는 논리적 컨테이너입니다. Azure 환경 내의 리소스 경계 역할을 수행하여 리소스를 일관되고 통합된 방식으로 관리 및 모니터링할 수 있습니다. 리소스 그룹에는 가상 시스템, 스토리지 계정, 데이터베이스 등의 리소스가 포함됩니다. 

  • 리소스는 Azure 리소스 관리자가 관리하는 가상머신 ,가상 네트워크, 스토리지계정, 부하분산장치(LB)등을 말합니다. 
  • 이러한 리소스들을 필요에 따라 논리적으로 그룹화한 것을 리소스 그룹이라고 합니다.
  • 리소스는 반드시 하나의 리소스 그룹에 포함되어야 합니다. 
  • 리소스 그룹은 주로 프로젝트 단위나 역할 중심으로 생성합니다. (ex. 프런트엔드/백엔드)
  • 리소스 그룹과 각 리소스는 태그를 이용하여 구분이 가능합니다. 

리소스와 리소스그룹의 관계

  • 리소스는 하나의 리소스 그룹에만 존재해야 합니다.
  • 리소스와 리소스 그룹 이름은 생성 후 변경이 불가합니다. 
  • 동일한 구독 내에서 리소스 그룹 이름은 중복될 수 없습니다. 
  • 리소스 그룹과 리소스의 리전(지역)은 다를 수 있습니다.(꼭 같지 않아도 됩니다.)
  • 리소스 그룹의 수명이 곧 리소스의 수명입니다. (수명주기 관리가 용이합니다.)
  • 한 리소스 그룹 내의 리소스와 다른 리소스 그룹의 리소스는 상호작용이 가능합니다.
  • 한 리소스 그룹의 리소스는 다른 리소스 그룹으로 선택적으로 이동 가능합니다. 

 

Azure 리소스 관리자(Resource Manager)

Azure 리소스 관리자는 리소스의 배포, 구성, 모니터링을 단일한 단위로 관리할 수 있는 통합된 방식을 제공합니다. Azure 리소스 관리자는 리소스를 그룹으로 구성하여 배포, 업데이트, 모니터링 등의 작업을 통합적으로 수행할 수 있도록 지원합니다.

  • Azure용 배포 및 관리 서비스

Azure 리소스 공급자(Resource Provider)

Azure 리소스 공급자는 Azure 환경에서 특정 유형의 리소스를 관리하는 데 사용되는 서비스입니다. 리소스 공급자는 각각의 리소스 유형이 해당 리소스에 대한 작업을 수행하는 데 필요한 기능을 제공합니다. 예를 들어, 가상 머신, 스토리지 계정, 가상 네트워크 등 각각의 리소스 유형에는 해당 리소스를 생성, 관리, 모니터링하는 데 필요한 리소스 공급자가 존재합니다. 

리소스 락(Lock)

Azure 리소스 락은 Azure 리소스나 리소스 그룹에 대한 조작을 제한하는 기능입니다. 리소스 락을 설정하면 지정된 리소스에 대한 변경, 삭제, 이동과 같은 작업을 방지할 수 있습니다. 이를 통해 실수로 리소스를 수정하거나 삭제하는 것을 방지하고, 중요한 리소스의 보호를 강화할 수 있습니다.

  • 읽기전용 lock: 더 강력합니다. 
  • 삭제 lock : lock을 걸어도 리소스그룹 이동은 가능합니다. 

실습- Azure Portal을 이용한 리소스,리소스 그룹관리

  1. 리소스 그룹과 리소스 생성
  2. 리소스 그룹간의 리소스 이동
  3. 리소스 락 테스트

 

 

02. Azure PowerShell과 CLI

Azure PowerShell

Azure PowerShell은 스크립트를 사용하여 Azure 환경에서 작업을 자동화하고 스크립트를 실행하는 데 사용하는 도구입니다. Azure PowerShell은 Azure 리소스 관리 및 배포, 가상 머신 관리, 스토리지 관리, 네트워크 구성 등 다양한 기능을 제공합니다. PowerShell의 강력한 기능과 Azure 서비스와의 통합으로 인해 사용자는 효율적으로 리소스를 관리하고 구성할 수 있습니다.

  • 명령줄 셸, 스크립팅 언어 및 구성 관리 프레임 워크로 구성된 플랫폼간 작업 자동화 솔루션입니다. 
  • Windows, Linux 및 macOS에서 실행 가능합니다. 윈도우에서만 실행가능하지 않습니다. 

Azure CLI

Azure CLI는 Azure 클라우드 환경에서 리소스 관리를 위한 명령줄 도구입니다. Azure CLI는 강력한 스크립팅 기능을 통해 Azure 리소스를 관리하고 배포할 수 있는 다양한 명령어를 제공합니다. CLI를 통해 사용자는 Azure Portal에 의존하지 않고 명령어를 실행하여 리소스를 관리할 수 있습니다. 또한 Azure PowerShell과 함께 사용할 수 있는 다른 옵션으로 선택할 수 있습니다. 

  • Azure 리소스를 만들고 관리하는 데 사용되는 명령도구입니다.
  • Azure CLI는 모든 Azure 서비스에서 사용할 수 있으며, Azure를 빠르게 사용할 수 있도록 지원합니다. 
  • Windows, Linux 및 macOS에서 실행 가능합니다. 윈도우에서만 실행가능하지 않습니다.

Azure PowerShell, Azure CLI 기본 명령

 

명령 PowerShell  Azure CLI
연결(로그인) Connect-AzAccount az login
연결끊기(로그아웃) Disconnect-AzAccount az logout
구독 검색 Get-AzSubscription az account list -o table
모든 리소스 검색 Get-AzResource Format-Table
특정 리소스 검색 Get-AzResource-ResourceGroupName Netw* Format-Table
모든 리소스 그룹 검색 Get-AzResourceGroup Format-Table
새로운 리소스 그룹 추가 New-AzResourceGroup az group —name 새로운 리소스 그룹 —location
가상 머신 생성 New-AzVM az vm
리소스 공급자 검색 Get-AzResourceProvider az provider list -o table
리소스 공급자 등록 Register-AzResourceProvider az provider register

ARM Template

Azure ARM 템플릿은 Azure 리소스 관리 및 배포를 자동화하기 위한 선언적인 구성 파일(IAC)입니다. JSON(JavaScript Object Notation) 형식으로 작성하며, 리소스, 가상 머신, 스토리지 계정, 가상 네트워크 등과 같은 Azure 서비스 및 구성을 정의할 수 있습니다. ARM은 Azure Resource Manager를 통해 배포되며, 리소스의 프로비저닝, 구성 및 관리를 자동화하는 데 사용됩니다.

  • ARM Template은 인프라를 정의하는 개념으로 IaC의 한 형태입니다. 
  • Azure Portal에서 VM, Stroage등을 생성하기 위해 key-value 쌍으로 이루어진 JSON 형태의 템플릿을 이용하여 리소스를 정의하고, Azure Resource Manager가 생성하게 하는 형태입니다. 

ARM Template을 사용하는 이유

  1. 선언적 구문 사용으로 일관되고 반복적인 배포가 가능합니다. 
  2. CI/CD 통합이 용이합니다.
  3. 오케스트레이션 기능이 있습니다. 

 


⭐️Azure Administrator 시리즈⭐️

[Azure Administrator] Module 1: Azure ID 서비스

[Azure Administrator] Module 2: 거버넌스 및 규정 준수

[Azure Administrator] Module3: Azure 리소스 관리