Azure 리소스 이해

완료됨

모든 Azure 리소스는 특정 유형으로 배포됩니다. 유형은 리소스 종류를 식별합니다. 리소스 ID는 Azure가 리소스의 특정 인스턴스를 식별하는 방식입니다. Bicep 템플릿을 작성할 때 중요한 정보를 제공하기 때문에 리소스 종류 및 리소스 ID가 어떻게 구성되는지 이해하는 것이 중요합니다.

리소스 공급자

Azure Resource Manager는 Resource Manager API 및 ARM 템플릿을 통해 다양한 리소스 공급자를 관리할 수 있도록 설계되었습니다. 리소스 공급자는 일반적으로 하나 또는 몇 개의 Azure 서비스와 관련된 리소스 유형의 논리적 그룹화입니다. 리소스 공급자의 예는 다음과 같습니다.

  • Microsoft.Compute: 가상 머신에 사용됩니다.
  • Microsoft.Network: 가상 네트워크, 네트워크 보안 그룹, 경로 테이블 등의 네트워킹 리소스에 사용됩니다.
  • Microsoft.Cache: Azure Cache for Redis에 사용됩니다.
  • Microsoft.Sql: Azure SQL에 사용됩니다.
  • Microsoft.Web: Azure App Service 및 Azure Functions에 사용됩니다.
  • Microsoft.DocumentDB: Azure Cosmos DB에 사용됩니다.

참고

리소스 공급자 이름 및 리소스 종류 이름이 해당하는 Azure 서비스 이름과 일치하지 않거나 이전 제품 또는 리소스 이름인 경우가 가끔 있습니다. 예를 들어 Log Analytics 작업 영역의 리소스 공급자는 Microsoft.OperationalInsights입니다.

각 리소스 유형의 ARM 템플릿 구문에 대한 설명서는 리소스 공급자에 따라 구성됩니다.

리소스 공급자가 제공하는 리소스 종류를 사용하려면 먼저 구독의 리소스 공급자를 등록해야 합니다. 등록은 일반적으로 일회성 프로세스입니다. Bicep 배포를 제출하면 리소스 관리자는 파일에 사용 되는 리소스 공급자를 자동으로 등록합니다. Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 리소스 공급자를 등록할 수도 있습니다.

리소스 종류

리소스 공급자는 여러 가지 종류를 노출합니다. 각 리소스 종류에는 리소스 및 리소스가 할 수 있는 일을 정의하는 고유한 속성과 동작 세트가 있습니다. 예를 들어 Microsoft.Web 리소스 공급자 내에는 다음을 비롯한 여러 리소스 종류가 있습니다.

  • sites: App Service 애플리케이션 또는 Azure Functions 애플리케이션을 정의합니다. 속성으로는 애플리케이션에서 사용하는 환경 변수와 애플리케이션에 액세스하는 데 지원되는 프로토콜(HTTP 및 HTTPS)이 있습니다.
  • serverFarms: 애플리케이션을 실행하는 인프라인 App Service 요금제를 정의합니다. 속성으로는 서버의 크기 및 SKU와 배포하려는 요금제의 인스턴스 수가 있습니다.

Bicep에서 리소스를 정의할 때 리소스 종류와 Bicep이 리소스에 사용할 리소스 공급자의 API 버전을 지정해야 합니다. 이 정보는 Bicep 도구와 Resource Manager가 리소스 정의에 제공해야 하는 속성을 이해하는 데 도움이 됩니다.

각 리소스에 최신 API 버전을 사용하는 것이 좋습니다. Azure 서비스의 새로운 기능은 경우에 따라 최신 API 버전에서만 사용할 수 있습니다.

리소스 공급자와 형식 이름을 결합하여 정규화된 리소스 종류 이름을 만듭니다. 정규화된 형식 이름은 리소스 공급자 이름, 슬래시(/) 및 리소스 종류로 구성됩니다. 예를 들어 스토리지 계정의 정규화된 형식 이름은 Microsoft.Storage/storageAccounts입니다. 이 인스턴스의 리소스 공급자 이름은 Microsoft.Storage이고 리소스 종류는 storageAccounts입니다.

리소스 ID

Azure 리소스마다 고유한 리소스 ID가 있습니다. 이 ID에는 같은 종류의 다른 리소스 또는 심지어 같은 이름을 공유할 수 있는 다른 리소스와 명확하게 구분하는 데 도움이 되는 정보가 포함됩니다. 스토리지 계정의 리소스 ID는 다음과 같습니다.

/subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c/resourceGroups/ToyDevelopment/providers/Microsoft.Storage/storageAccounts/secrettoys

동일한 정보의 시각적 표현을 살펴보겠습니다.

Resource ID for a storage account, split with key/value pair on a separate line.

리소스 ID가 배포한 리소스 종류 및 특정 리소스에 대한 정보를 인터리브하는 것을 볼 수 있습니다. 이 예제 리소스 ID를 구성 요소로 분할하겠습니다.

  • subscriptions/f0750bbe-ea75-4ae5-b24d-a92ca601da2c는 ID가 있는 Azure 구독에 이 리소스가 속해 있음을 나타냅니다. f0750bbe-ea75-4ae5-b24d-a92ca601da2c.
  • resourceGroups/ToyDevelopment는 리소스가 ToyDevelopment라는 리소스 그룹 내에 있음을 나타냅니다.
  • providers/Microsoft.Storage는 리소스가 Microsoft.Storage 리소스 공급자의 형식을 사용하고 있음을 나타냅니다.
  • storageAccounts는 리소스 종류입니다.
  • secrettoys는 스토리지 계정의 이름입니다.

기호 이름 및 id 속성을 사용하여 Bicep에서 모든 리소스의 ID에 액세스할 수 있습니다. 예를 들어 기호 이름이 toyDesignDocumentsStorageAccount인 스토리지 계정을 정의하는 경우 toyDesignDocumentsStorageAccount.id 식을 사용하여 해당 리소스 ID에 액세스할 수 있습니다.

리소스 종류 및 리소스 ID의 기본 사항을 이해했으므로, 이제 자식 리소스를 살펴보겠습니다.