Azure 리소스 공급자는 특정 Azure 서비스에 대한 기능을 지원하는 REST 작업 집합입니다. 예를 들어 Azure Key Vault 서비스는 Microsoft.KeyVault라는 리소스 공급자로 구성됩니다. 리소스 공급자는 자격 증명 모음, 비밀, 키 및 인증서를 관리하기 위한 REST 작업을 정의합니다.
리소스 공급자는 계정에 배포할 수 있는 Azure 리소스를 정의합니다. 리소스 종류의 이름은 {resource-provider}/{resource-type} 형식을 따릅니다. 키 자격 증명 모음의 리소스 유형은 Microsoft.KeyVault/vaults입니다.
이 문서에서는 다음 방법을 설명합니다.
Azure의 모든 리소스 공급자를 봅니다.
리소스 공급자의 등록 상태를 확인합니다.
리소스 공급자를 등록합니다.
리소스 공급자에 대한 리소스 종류를 봅니다.
리소스 종류에 대한 유효한 위치를 봅니다.
리소스 종류에 대한 유효한 API 버전을 봅니다.
리소스 공급자를 Azure 서비스에 매핑하는 목록은 Azure 리소스 공급자 및 유형을 참조 하세요.
리소스 공급자 등록
리소스 공급자를 사용하기 전에 Azure 구독이 리소스 공급자에 등록되어 있는지 확인합니다. 등록을 통해 구독이 리소스 공급자에서 작동하도록 구성합니다.
중요
리소스 공급자는 사용할 준비가 된 경우에만 등록합니다. 이런 등록 단계는 구독 내에서 최소한의 권한을 유지하는 데 도움이 됩니다. 등록되지 않은 리소스 공급자는 악의적인 사용자가 사용할 수 없습니다.
리소스 공급자를 등록할 때 Microsoft는 리소스 공급자에 대한 앱을 추가합니다. 불필요한 리소스 공급자를 등록하면 인식할 수 없는 앱이 Microsoft Entra 테넌트에 표시될 수 있습니다. Windows Azure 서비스 관리 API는 일반적으로 이러한 앱을 추가합니다. 테넌트에서 불필요한 앱을 제한하려면 필요한 리소스 공급자만 등록합니다.
일부 리소스 공급자는 기본적으로 등록됩니다. 예제 목록은 Azure 서비스에 대한 리소스 공급자를 참조 하세요.
특정 작업을 수행하면 Azure는 다른 리소스 공급자를 자동으로 등록합니다. Azure Portal에서 리소스를 만들 때 포털은 일반적으로 리소스 공급자를 등록합니다. Azure Resource Manager 템플릿 또는 Bicep 파일을 배포하는 경우 Azure는 템플릿에 정의된 리소스 공급자를 자동으로 등록합니다. 템플릿의 리소스에 템플릿에 없는 지원 리소스가 필요한 경우가 있습니다. 일반적인 예로는 모니터링 또는 보안 리소스가 있습니다. 이러한 리소스 공급자는 수동으로 등록해야 합니다.
다른 시나리오에서 리소스 공급자를 수동으로 등록해야 할 수도 있습니다.
중요
애플리케이션 코드는 등록 상태에 있는 리소스 공급자에 대한 리소스 생성을 차단해서는 안 됩니다. 리소스 공급자를 등록하면 지원되는 각 지역에 대해 작업이 개별적으로 수행됩니다. 지역에 리소스를 생성하려면 해당 지역에서만 등록을 완료하면 됩니다. 애플리케이션이 등록 상태에서 리소스 공급자를 차단하지 않는 경우 모든 지역이 완료될 때까지 기다리는 것보다 더 빨리 계속할 수 있습니다.
리소스 공급자에 대한 /register/action 작업을 수행하기 위해서는 권한이 있어야 합니다. 해당 권한은 기여자 및 소유자 역할에 포함되어 있습니다.
구독에 해당 리소스 공급자의 리소스 종류가 아직 포함되어 있으면 해당 리소스 공급자를 등록 취소할 수 없습니다.
# List available resource providers with RegistrationState "Registered" and select ProviderNamespace and RegistrationState
providers = resource_management_client.providers.list()
registered_providers = [provider for provider in providers if provider.registration_state == "Registered"]
# Sort by ProviderNamespace
sorted_registered_providers = sorted(registered_providers, key=lambda x: x.namespace)
for provider in sorted_registered_providers:
print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}")
구독에서 권한을 유지하려면 사용할 준비가 된 리소스 공급자만 등록합니다. 리소스 공급자를 등록하려면 다음을 사용합니다.
앞에서 설명한 것처럼 등록 상태에 있는 리소스 공급자에 대한 리소스 생성을 차단하지 마세요. 애플리케이션이 등록 상태에서 리소스 공급자를 차단하지 않는 경우 모든 지역이 완료될 때까지 기다리는 것보다 더 빨리 계속할 수 있습니다.
이전 등록 이후 Azure에서 추가한 위치를 사용하도록 리소스 공급자를 다시 등록합니다. 다시 등록하려면 등록 명령을 다시 실행합니다.
특정 리소스 공급자에 대한 정보를 보려면 다음을 사용합니다.
Python
import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
# Authentication
credential = DefaultAzureCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]
# Initialize Resource Management client
resource_management_client = ResourceManagementClient(credential, subscription_id)
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
print(f"ProviderNamespace: {provider.namespace}, RegistrationState: {provider.registration_state}\n")
# Add resource types, locations, and API versions with new lines to separate results for resource_type in provider.resource_types:
print(f"ResourceType: {resource_type.resource_type}\nLocations: {', '.join(resource_type.locations)}\nAPIVersions: {', '.join(resource_type.api_versions)}\n")
이 명령은 다음을 반환합니다.
출력
ProviderNamespace: Microsoft.Batch, RegistrationState: Registered
ResourceType: batchAccounts
Locations: West Europe, East US, East US 2, West US, North Central US, Brazil South, North Europe, Central US, East Asia, Japan East, Australia Southeast, Japan West, Korea South, Korea Central, Southeast Asia, South Central US, Australia East, Jio India West, South India, Central India, West India, Canada Central, Canada East, UK South, UK West, West Central US, West US 2, France Central, South Africa North, UAE North, Australia Central, Germany West Central, Switzerland North, Norway East, Brazil Southeast, West US 3, Sweden Central, Qatar Central, Poland Central, East US 2 EUAP, Central US EUAP
APIVersions: 2023-05-01, 2022-10-01, 2022-06-01, 2022-01-01, 2021-06-01, 2021-01-01, 2020-09-01, 2020-05-01, 2020-03-01-preview, 2020-03-01, 2019-08-01, 2019-04-01, 2018-12-01, 2017-09-01, 2017-05-01, 2017-01-01, 2015-12-01, 2015-09-01, 2015-07-01, 2014-05-01-privatepreview
...
리소스 공급자에 대한 리소스 종류를 보려면 다음을 사용합니다.
Python
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
# Get ResourceTypeName of the resource types
resource_type_names = [resource_type.resource_type for resource_type in provider.resource_types]
for resource_type_name in resource_type_names:
print(resource_type_name)
API 버전은 리소스 공급자의 REST API 작업 버전에 해당합니다. 리소스 공급자는 새 기능을 사용하도록 설정할 때 새 버전의 REST API를 릴리스합니다.
리소스 종류의 사용 가능한 API 버전을 가져오려면 다음을 사용합니다.
Python
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
# Filter resource type by ResourceTypeName and get its ApiVersions
resource_type_name = "batchAccounts"
api_versions = [
resource_type.api_versions
for resource_type in provider.resource_types
if resource_type.resource_type == resource_type_name
]
for api_version in api_versions[0]:
print(api_version)
이 명령은 다음을 반환합니다.
출력
2023-05-01
2022-10-01
2022-06-01
2022-01-01
...
리소스 관리자는 모든 지역에서 지원되지만 배포한 리소스는 모든 지역에서 지원되지 않을 수 있습니다. 또한 리소스를 지원하는 일부 지역을 사용하지 못하게 하는 구독에 제한 사항이 있을 수 있습니다.
리소스 종류에 대해 지원되는 위치를 가져오려면 다음을 사용합니다.
Python
# Get resource provider by ProviderNamespace
provider_namespace = "Microsoft.Batch"
provider = resource_management_client.providers.get(provider_namespace)
# Filter resource type by ResourceTypeName and get its Locations
resource_type_name = "batchAccounts"
locations = [
resource_type.locations
for resource_type in provider.resource_types
if resource_type.resource_type == resource_type_name
]
for location in locations[0]:
print(location)
Azure HPC는 최고의 애플리케이션 성능, 스케일링 기능 및 가치를 제공하기 위해 최첨단 프로세서와 HPC급 InfiniBand 상호 연결을 사용하는 HPC 및 AI 워크로드용으로 특화된 클라우드 기능입니다. 사용자는 Azure HPC를 사용하여 비즈니스 및 기술 요구 사항이 달라질 때 동적으로 할당될 수 있는 고가용성의 HPC 및 AI 기술을 통해 뛰어난 혁신, 생산성 및 비즈니스 민첩성을 얻을 수 있습니다. 이 학습 경로는 Azure HPC에서 시작하는 데 도움이 되는 모듈 시리즈입니다. 가장 관심 있는 토픽을 선택하거나 하나씩 진행할 수 있습니다.