이 문서에서는 가상 네트워크 내에서 영역 중복 컨테이너 앱을 만드는 방법을 알아봅니다. Azure Container Apps 환경을 만들고, 영역 중복성을 사용하도록 설정하고, 인프라 서브넷이 있는 새 가상 네트워크 또는 기존 가상 네트워크로 구성합니다.
Container Apps에서 영역 중복성을 지원하는 방법에 대한 자세한 내용은 Container Apps의 안정성을 참조하세요.
필수 조건
영역 중복성은 Container Apps 및 가용성 영역을 지원하는 모든 지역에서 사용할 수 있습니다.
가용성 영역을 지원하는 지역을 확인하려면 가용성 영역 이 지원되는 Azure 지역을 참조하세요.
Container Apps를 지원하는 지역을 확인하려면 지역별 제품 가용성을 참조하세요.
영역 중복 컨테이너 앱 만들기
Azure Portal, Azure CLI 또는 PowerShell을 사용하여 영역 중복 컨테이너 앱을 만듭니다.
-
Azure Portal로 이동합니다.
- 위쪽 검색 상자에서 Container Apps를 검색합니다.
-
Container Apps를 선택합니다.
-
‘Container Apps 환경’ 필드에서 새로 만들기를 선택하여 ‘Container Apps 환경 만들기’ 패널을 엽니다.
- 환경 이름을 입력합니다.
-
영역 중복 필드에 대해 사용을 선택합니다.
영역 중복에는 인프라 서브넷이 있는 가상 네트워크가 필요합니다. 기존 가상 네트워크를 선택하거나 새로 만들 수 있습니다. 새 가상 네트워크를 만들 때 제공된 값을 수락하거나 설정을 사용자 지정할 수 있습니다.
-
네트워킹 탭을 선택합니다.
- 사용자 지정 가상 네트워크 이름을 할당하려면 Virtual Network 필드에서 새로 만들기를 선택합니다.
- 사용자 지정 인프라 서브넷 이름을 할당하려면 인프라 서브넷 필드에서 새로 만들기를 선택합니다.
-
가상 IP에 대해 내부 또는 외부를 선택할 수 있습니다.
-
선택하고생성합니다.
Container Apps 환경에 포함할 가상 네트워크 및 인프라 서브넷을 만듭니다.
이러한 명령을 사용하는 경우 <PLACEHOLDERS>를 원하는 값으로 바꿉니다.
비고
사용량 전용 환경에는 CIDR 범위가 /23 이상인 전용 서브넷이 필요합니다. 워크로드 프로필 환경에는 CIDR 범위가 /27 이상인 전용 서브넷이 필요합니다. 서브넷 크기 조정에 대해 자세히 알아보려면 네트워킹 아키텍처 개요를 참조하세요.
az network vnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--name <VNET_NAME> \
--location <LOCATION> \
--address-prefix 10.0.0.0/16
az network vnet subnet create \
--resource-group <RESOURCE_GROUP_NAME> \
--vnet-name <VNET_NAME> \
--name infrastructure \
--address-prefixes 10.0.0.0/21
인프라 서브넷 ID를 쿼리합니다.
INFRASTRUCTURE_SUBNET=`az network vnet subnet show --resource-group <RESOURCE_GROUP_NAME> --vnet-name <VNET_NAME> --name infrastructure --query "id" -o tsv | tr -d '[:space:]'`
매개 변수를 사용하여 환경을 만듭니다 --zone-redundant . 위치는 가상 네트워크를 만들 때 사용된 위치와 동일해야 합니다.
az containerapp env create \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--location "<LOCATION>" \
--infrastructure-subnet-resource-id $INFRASTRUCTURE_SUBNET \
--zone-redundant
Container Apps 환경에 포함할 가상 네트워크 및 인프라 서브넷을 만듭니다.
이러한 명령을 사용하는 경우 <PLACEHOLDERS>를 원하는 값으로 바꿉니다.
비고
사용량 전용 환경에는 CIDR 범위가 /23 이상인 전용 서브넷이 필요합니다. 워크로드 프로필 환경에는 CIDR 범위가 /27 이상인 전용 서브넷이 필요합니다. 서브넷 크기 조정에 대해 자세히 알아보려면 네트워킹 아키텍처 개요를 참조하세요.
$SubnetArgs = @{
Name = 'infrastructure-subnet'
AddressPrefix = '10.0.0.0/21'
}
$subnet = New-AzVirtualNetworkSubnetConfig @SubnetArgs
$VnetArgs = @{
Name = <VNetName>
Location = <Location>
ResourceGroupName = <ResourceGroupName>
AddressPrefix = '10.0.0.0/16'
Subnet = $subnet
}
$vnet = New-AzVirtualNetwork @VnetArgs
인프라 서브넷 ID를 쿼리합니다.
$InfrastructureSubnet=(Get-AzVirtualNetworkSubnetConfig -Name $SubnetArgs.Name -VirtualNetwork $vnet).Id
매개 변수를 사용하여 환경을 만듭니다 --zone-redundant . 위치는 가상 네트워크를 만들 때 사용된 위치와 동일해야 합니다.
Container Apps 환경에는 Log Analytics 작업 영역이 필요합니다. 다음 명령은 Log Analytics 작업 영역을 만들고 작업 영역 ID 및 기본 공유 키를 환경 변수에 저장합니다.
$WorkspaceArgs = @{
Name = 'myworkspace'
ResourceGroupName = <ResourceGroupName>
Location = <Location>
PublicNetworkAccessForIngestion = 'Enabled'
PublicNetworkAccessForQuery = 'Enabled'
}
New-AzOperationalInsightsWorkspace @WorkspaceArgs
$WorkspaceId = (Get-AzOperationalInsightsWorkspace -ResourceGroupName <ResourceGroupName> -Name $WorkspaceArgs.Name).CustomerId
$WorkspaceSharedKey = (Get-AzOperationalInsightsWorkspaceSharedKey -ResourceGroupName <ResourceGroupName> -Name $WorkspaceArgs.Name).PrimarySharedKey
다음 명령을 실행하여 환경을 만듭니다.
$EnvArgs = @{
EnvName = <EnvironmentName>
ResourceGroupName = <ResourceGroupName>
Location = <Location>
AppLogConfigurationDestination = "log-analytics"
LogAnalyticConfigurationCustomerId = $WorkspaceId
LogAnalyticConfigurationSharedKey = $WorkspaceSharedKey
VnetConfigurationInfrastructureSubnetId = $InfrastructureSubnet
VnetConfigurationInternal = $true
ZoneRedundant = $true
}
New-AzContainerAppManagedEnv @EnvArgs
영역 중복성 확인
Container Apps 환경에 대해 영역 중복이 사용하도록 설정되어 있는지 확인하려면 다음을 수행합니다.
Azure Portal로 이동합니다.
위쪽 검색 상자에서 Container Apps 환경을 검색합니다 .
Container Apps 환경을 선택합니다.
환경을 선택합니다.
JSON 보기 선택: 
응답에 다음이 포함되어 있는지 확인합니다 "zoneRedundant": true. 
az container app env show 명령을 실행합니다.
이 명령을 사용할 때 <PLACEHOLDERS>를 사용자 값으로 바꾸십시오.
az containerapp env show \
--name <CONTAINER_APP_ENV_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--subscription <SUBSCRIPTION_ID>
이 명령은 JSON 응답을 반환합니다. 응답에 .가 포함되어 있는지 확인합니다."zoneRedundant": true
az container app env show 명령을 실행합니다.
이 명령어를 사용할 때, <PLACEHOLDERS>을(를) 사용자의 값으로 바꾸십시오.
$Env = Get-AzContainerAppManagedEnv `
-Name <EnvironmentName> `
-ResourceGroupName <ResourceGroupName>
$Env.ZoneRedundant
이 명령은 환경이 영역 중복인 경우 True을(를) 표시하고, 그렇지 않은 경우 False을(를) 표시합니다.