이 빠른 시작에서는 빠른 시작 문서 중 하나를 사용하여 만든 관리되는 애플리케이션 정의를 사용합니다. 배포는 두 개의 리소스 그룹을 만듭니다. 하나의 리소스 그룹에는 관리되는 애플리케이션이 포함되고 다른 하나는 배포된 리소스에 대한 관리되는 리소스 그룹입니다. 관리되는 애플리케이션 정의는 App Service 요금제, App Service 및 스토리지 계정을 배포합니다.
$mrgprefix 및 $mrgtimestamp 변수는 연결되고 $mrgname 변수에 저장됩니다. 변수의 값은 mrg-sampleManagedApplication-20230512103059 형식입니다. 관리되는 애플리케이션을 배포할 때 $mrgname 변수의 값을 사용합니다.
관리되는 애플리케이션의 배포 명령에 여러 매개 변수를 제공해야 합니다. JSON 형식 문자열을 사용하거나 JSON 파일을 만들 수 있습니다. 이 예에서는 JSON 형식의 문자열을 사용합니다. 인용 부호에 대한 PowerShell 이스케이프 문자는 백틱(`) 문자입니다. 명령이 여러 줄을 사용할 수 있도록 백틱은 줄 연속에도 사용됩니다.
appServicePlanName: 플랜 이름을 만듭니다. 최대 40자의 영숫자와 하이픈입니다. 예: demoAppServicePlan. App Service 요금제 이름은 구독의 리소스 그룹 내에서 고유해야 합니다.
appServiceNamePrefix: 플랜 이름의 접두사를 만듭니다. 최대 47자의 영숫자 문자 또는 하이픈입니다. 예: demoApp. 배포하는 동안 접두사는 고유한 문자열과 연결되어 Azure 전체에서 전역적으로 고유한 이름을 만듭니다.
storageAccountNamePrefix: 소문자와 숫자만 사용하고 최대 11자까지 사용할 수 있습니다. 예: demostg1234. 배포하는 동안 접두사는 고유한 문자열과 연결되어 Azure 전체에서 전역적으로 고유한 이름을 만듭니다. 접두사를 만들고 있지만 컨트롤은 Azure에서 기존 이름의 유효성을 검사하고 해당 이름이 이미 존재한다는 유효성 검사 메시지를 게시할 수 있습니다. 그렇다면 다른 접두사를 선택합니다.
storageAccountType: 옵션은 Premium_LRS, Standard_LRS 및 Standard_GRS입니다.
배포 중에 사용되는 관리되는 애플리케이션에 대한 리소스 그룹을 만듭니다.
az group create --name applicationGroup --location westus3
또한 관리되는 애플리케이션 리소스 그룹의 이름과 경로를 만들어야 합니다. 리소스 그룹은 관리되는 애플리케이션을 배포할 때 만들어집니다.
$mrgprefix 및 $mrgtimestamp 변수는 연결되고 $mrgname 변수에 저장됩니다. 변수의 값은 mrg-sampleManagedApplication-20230512103059 형식입니다. mrgname 및 subid 변수는 연결되어 배포 중에 관리되는 리소스 그룹을 만드는 mrgpath 변수 값을 만듭니다.
관리되는 애플리케이션의 배포 명령에 여러 매개 변수를 제공해야 합니다. JSON 형식 문자열을 사용하거나 JSON 파일을 만들 수 있습니다. 이 예에서는 JSON 형식의 문자열을 사용합니다. Bash에서 인용 부호의 이스케이프 문자는 백슬래시(\) 문자입니다. 명령이 여러 줄을 사용할 수 있도록 백슬래시는 줄 연속에도 사용됩니다.
appServicePlanName: 플랜 이름을 만듭니다. 최대 40자의 영숫자와 하이픈입니다. 예: demoAppServicePlan. App Service 요금제 이름은 구독의 리소스 그룹 내에서 고유해야 합니다.
appServiceNamePrefix: 플랜 이름의 접두사를 만듭니다. 최대 47자의 영숫자 문자 또는 하이픈입니다. 예: demoApp. 배포하는 동안 접두사는 고유한 문자열과 연결되어 Azure 전체에서 전역적으로 고유한 이름을 만듭니다.
storageAccountNamePrefix: 소문자와 숫자만 사용하고 최대 11자까지 사용할 수 있습니다. 예: demostg1234. 배포하는 동안 접두사는 고유한 문자열과 연결되어 Azure 전체에서 전역적으로 고유한 이름을 만듭니다. 접두사를 만들고 있지만 컨트롤은 Azure에서 기존 이름의 유효성을 검사하고 해당 이름이 이미 존재한다는 유효성 검사 메시지를 게시할 수 있습니다. 그렇다면 다른 접두사를 선택합니다.
storageAccountType: 옵션은 Premium_LRS, Standard_LRS 및 Standard_GRS입니다.
기본 탭에 값을 제공하고 다음: 웹앱 설정을 선택합니다.
구독: 관리되는 애플리케이션을 배포할 구독을 선택합니다.
리소스 그룹: 리소스 그룹을 선택합니다. 이 예에서는 applicationGroup이라는 리소스 그룹을 만듭니다.
지역: 리소스를 배포할 위치를 선택합니다.
애플리케이션 이름: 관리되는 애플리케이션의 이름을 입력합니다. 이 예에서는 demoManagedApplication을 사용합니다.
관리되는 리소스 그룹: 관리되는 애플리케이션에 대해 배포된 리소스가 포함된 관리되는 리소스 그룹의 이름입니다. 기본 이름은 mrg-{definitionName}-{dateTime} 형식이지만 이름을 변경할 수 있습니다.
웹앱 설정 탭에 값을 제공하고 다음: 스토리지 설정을 선택합니다.
App Service 요금제 이름: 플랜 이름을 만듭니다. 최대 40자의 영숫자와 하이픈입니다. 예: demoAppServicePlan. App Service 요금제 이름은 구독의 리소스 그룹 내에서 고유해야 합니다.
App Service 이름 접두사: 플랜 이름의 접두사를 만듭니다. 최대 47자의 영숫자 문자 또는 하이픈입니다. 예: demoApp. 배포하는 동안 접두사는 고유한 문자열과 연결되어 Azure 전체에서 전역적으로 고유한 이름을 만듭니다.
스토리지 계정 이름 접두사: 소문자와 숫자만 사용하고 최대 11자까지 사용할 수 있습니다. 예: demostg1234. 배포하는 동안 접두사는 고유한 문자열과 연결되어 Azure 전체에서 전역적으로 고유한 이름을 만듭니다. 접두사를 만들고 있지만 컨트롤은 Azure에서 기존 이름의 유효성을 검사하고 해당 이름이 이미 존재한다는 유효성 검사 메시지를 게시할 수 있습니다. 그렇다면 다른 접두사를 선택합니다.
스토리지 계정 유형: 형식 변경을 선택하여 스토리지 계정 유형을 선택합니다. 기본값은 표준 LRS입니다. 다른 옵션은 Premium_LRS, Standard_LRS 및 Standard_GRS입니다.
name: 관리되는 애플리케이션의 이름을 지정합니다. 이 예에서는 demoManagedApplication을 사용합니다.
resource-group: 관리되는 애플리케이션에 대해 만든 리소스 그룹의 이름입니다.
location: 리소스를 배포할 지역을 지정합니다. 이 예에서는 westus3을 사용합니다.
managed-rg-id: $mrgpath 변수의 값을 사용합니다. 관리되는 리소스 그룹은 관리되는 애플리케이션이 배포될 때 만들어집니다.
managedapp-definition-id: 관리되는 애플리케이션 정의의 리소스 ID에 대해 $definitionid 변수의 값을 사용합니다.
kind: 관리되는 애플리케이션 형식을 지정합니다. 이 예에서는 ServiceCatalog를 사용합니다.
parameters: JSON 형식 문자열에서 $params 변수의 값을 사용합니다.
선택한 값의 요약을 검토하고 Validation Passed가 표시되는지 유효성을 검사합니다. 만들기를 선택하여 관리되는 애플리케이션을 배포합니다.
결과 보기
서비스 카탈로그 관리되는 애플리케이션이 배포되면 두 개의 새 리소스 그룹이 생깁니다. 하나의 리소스 그룹에는 관리되는 애플리케이션이 포함됩니다. 다른 리소스 그룹에는 배포된 관리되는 리소스가 포함되어 있습니다. 이 예에서는 App Service, App Service 요금제 및 스토리지 계정입니다.
관리되는 리소스 그룹의 리소스를 표시하려면 다음 명령을 실행합니다. 매개 변수를 만들 때 $mrgname 변수를 만들었습니다.
az resource list --resource-group $mrgname
다음 명령을 실행하여 관리되는 리소스의 이름, 형식 및 프로비전 상태만 나열합니다.
az resource list --resource-group $mrgname --query "[].{Name:name, Type:type, provisioningState:provisioningState}"
다음 명령을 실행하여 관리되는 애플리케이션의 정의에 사용된 그룹에 대한 역할 할당을 나열합니다.
az role assignment list --resource-group $mrgname
다음 명령은 그룹의 역할 할당을 위해 데이터를 구문 분석합니다.
az role assignment list --resource-group $mrgname --role Owner --query "[].{ResourceGroup:resourceGroup, GroupName:principalName, RoleDefinition:roleDefinitionId, Role:roleDefinitionName}"
관리되는 리소스 그룹의 거부 할당을 검토하려면 Azure Portal 또는 Azure PowerShell 명령을 사용합니다.
이름 접두사가 mrg-sampleManagedApplication인 관리되는 리소스 그룹으로 이동하고 개요를 선택하여 배포된 리소스를 표시합니다. 리소스 그룹에는 App Service, App Service 요금제 및 스토리지 계정이 포함됩니다.
관리되는 리소스 그룹 및 관리되는 애플리케이션에서 만든 각 리소스에는 역할 할당이 있습니다. 빠른 시작 문서를 사용하여 정의를 만들 때 Microsoft Entra 그룹을 만들었습니다. 해당 그룹은 관리되는 애플리케이션 정의에서 사용되었습니다. 관리되는 애플리케이션을 배포할 때 해당 그룹에 대한 역할 할당이 관리되는 리소스에 추가되었습니다.
Azure Portal에서 역할 할당을 보려면 다음을 수행합니다.
mrg-sampleManagedApplication 리소스 그룹으로 이동합니다.
액세스 제어(IAM)>역할 할당을 선택합니다.
리소스의 할당 거부를 볼 수도 있습니다.
역할 할당은 스토리지 계정을 관리할 수 있는 애플리케이션의 게시자 액세스 권한을 부여합니다. 이 예에서 게시자는 IT 부서일 수 있습니다. 할당 거부는 고객이 관리되는 리소스의 구성을 변경할 수 없도록 합니다. 관리되는 앱은 고객이 리소스를 유지 관리할 필요가 없도록 설계되었습니다. 거부 할당은 역할 할당에서 할당된 Microsoft Entra 그룹을 제외합니다.
리소스 정리
관리되는 애플리케이션을 완료하면 리소스 그룹을 삭제할 수 있으며 그러면 만든 모든 리소스가 제거됩니다. 예를 들어, 이 빠른 시작에서는 applicationGroup 리소스 그룹과 mrg-sampleManagedApplication 접두사가 있는 관리되는 리소스 그룹을 만들었습니다.