Azure Container Apps의 안정성

이 문서에서는 Azure Container Apps의 안정성 지원을 설명하고 가용성 영역을 통한 지역 복원력과 재해 복구를 통한 지역 간 복원력을 모두 다룹니다. Azure의 안정성에 대한 포괄적인 개요는 Azure 안정성을 참조하세요.

가용성 영역 지원

Azure 가용성 영역은 각 Azure 지역 내에서 물리적으로 분리된 세 개 이상의 데이터 센터 그룹입니다. 각 영역 내의 데이터 센터에는 독립적인 전원, 냉각, 네트워킹 인프라가 장착되어 있습니다. 가용성 영역은 로컬 영역이 실패한 경우에 한 영역이 영향을 받는 경우 나머지 두 영역에서 지역 서비스, 용량 및 고가용성을 지원하도록 설계되었습니다.

오류는 소프트웨어 및 하드웨어 오류에서 지진, 홍수 및 화재와 같은 이벤트에 이르기까지 다양합니다. Azure 서비스의 중복성과 논리적 격리로 인해 오류 허용성에 도달합니다. Azure의 가용성 영역에 대한 자세한 내용은 지역 및 가용성 영역을 참조하세요.

Azure 가용성 영역 지원 서비스는 적절한 수준의 복원력과 유연성을 제공하도록 설계되었습니다. 두 가지 방법으로 구성할 수 있습니다. 영역 간 자동 복제를 사용하는 영역 중복 또는 특정 영역에 고정된 인스턴스를 사용하는 영역일 수 있습니다. 이러한 방식을 결합할 수도 있습니다. 영역 및 영역 중복 아키텍처에 대한 자세한 내용은 가용성 영역 및 지역 사용에 대한 권장 사항을 참조하세요.

Azure Container Apps는 데이터 센터 오류로부터 애플리케이션 및 데이터에 대한 고가용성 보호를 제공하는 데 사용할 수 있는 지역에서 가용성 영역을 사용합니다.

Container Apps의 영역 중복 기능을 사용하도록 설정하면 복제본이 자동으로 해당 지역의 영역에 분산됩니다. 트래픽 부하가 복제본 간에 분산됩니다. 영역 중단이 발생하면 트래픽이 자동으로 나머지 영역의 복제본으로 라우팅됩니다.

참고 항목

영역 중복을 사용하도록 설정하는 데 드는 추가 요금은 없지만 복제본이 2개 이상인 경우에만 이점을 제공합니다. 영역 중복을 지원하는 대부분의 지역에는 영역이 3개 있으므로 3개 이상이 이상적입니다.

필수 조건

Azure Container Apps는 플랜 유형에 관계없이 동일한 안정성 지원을 제공합니다.

Azure Container Apps는 사용 가능한 지역에서 가용성 영역을 사용합니다. 가용성 영역을 지원하는 지역 목록은 가용성 영역 서비스 및 지역 지원을 참조하세요.

SLA 개선 사항

Azure Container Apps에 대한 SLA는 증가하지 않습니다. Azure Container Apps SLA에 대한 자세한 내용은 Azure Container Apps 서비스 수준 계약을 참조하세요.

가용성 영역을 사용하도록 설정된 리소스 만들기

Container Apps 환경에서 영역 중복 설정

가용성 영역을 활용하려면 Container Apps 환경을 만들 때 영역 중복을 사용하도록 설정해야 합니다. 환경에는 사용 가능한 서브넷이 있는 가상 네트워크가 포함되어야 합니다. 복제본의 적절한 배포를 보장하려면 앱의 최소 복제본 수를 3으로 설정합니다.

Azure Portal에서 영역 중복 사용

Azure Portal을 사용하여 영역 중복이 사용하도록 설정된 환경에서 컨테이너 앱을 만들려면 다음을 수행합니다.

  1. Azure Portal로 이동합니다.
  2. 위쪽 검색 상자에서 Container Apps를 검색합니다.
  3. Container Apps를 선택합니다.
  4. ‘Container Apps 환경’ 필드에서 새로 만들기를 선택하여 ‘Container Apps 환경 만들기’ 패널을 엽니다.
  5. 환경 이름을 입력합니다.
  6. 영역 중복 필드에 대해 사용을 선택합니다.

영역 중복에는 인프라 서브넷이 있는 가상 네트워크가 필요합니다. 기존 가상 네트워크를 선택하거나 새로 만들 수 있습니다. 새 가상 네트워크를 만들 때 제공된 값을 수락하거나 설정을 사용자 지정할 수 있습니다.

  1. 네트워킹 탭을 선택합니다.
  2. 사용자 지정 가상 네트워크 이름을 할당하려면 Virtual Network 필드에서 새로 만들기를 선택합니다.
  3. 사용자 지정 인프라 서브넷 이름을 할당하려면 인프라 서브넷 필드에서 새로 만들기를 선택합니다.
  4. 가상 IP에 대해 내부 또는 외부를 선택할 수 있습니다.
  5. 만들기를 실행합니다.

Screenshot of Networking tab in Create Container Apps Environment page.

Azure CLI를 사용하여 영역 중복을 사용하도록 설정

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
Azure CLI를 사용하여 영역 중복 확인

참고 항목

Azure Portal에는 영역 중복이 사용하도록 설정되었는지 여부가 표시되지 않습니다.

az container app env show 명령을 사용하여 Container Apps 환경에 영역 중복이 사용하도록 설정되어 있는지 확인합니다.

az containerapp env show \
  --name <CONTAINER_APP_ENV_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --subscription <SUBSCRIPTION_ID>

이 명령은 JSON 응답을 반환합니다. 응답에 "zoneRedundant": true가 포함되어 있는지 확인합니다.

안전한 배포 기술

컨테이너 앱에서 영역 중복을 설정하면 복제본이 해당 지역의 여러 영역에 자동으로 배포됩니다. 복제본이 배포된 후 트래픽 부하가 분산됩니다. 영역 중단이 발생하면 트래픽은 자동으로 나머지 영역의 복제본으로 라우팅됩니다.

파란색-녹색 배포와 같은 안전한 배포 기술을 계속 사용해야 합니다. Azure Container Apps는 한 번에 하나의 영역 배포 또는 업그레이드를 제공하지 않습니다.

세션 선호도를 사용하도록 설정한 경우 영역이 작동 중지되면 이전 복제본을 더 이상 사용할 수 없으므로 해당 영역의 클라이언트가 새 복제본으로 라우팅됩니다. 이전 복제본과 관련된 모든 상태가 손실됩니다.

가용성 영역 마이그레이션

가용성 영역을 활용하려면 Container Apps 환경을 만들 때 영역 중복을 사용하도록 설정합니다. 환경에는 사용 가능한 서브넷이 있는 가상 네트워크가 포함되어야 합니다. 기존 Container Apps 환경을 비가용성 영역 지원에서 가용성 영역 지원으로 마이그레이션할 수 없습니다.

지역 간 재해 복구 및 비즈니스 연속성

DR(재해 복구)은 가동 중지 시간 및 데이터 손실을 초래하는 자연 재해 또는 실패한 배포와 같은 영향이 큰 이벤트로부터 복구하는 것입니다. 원인에 관계없이 최상의 재해 해결책은 잘 정의되고 테스트된 DR 계획과 DR을 적극적으로 지원하는 애플리케이션 디자인입니다. 재해 복구 계획을 만들기 전에 재해 복구 전략을 디자인하기 위한 권장 사항을 참조하세요.

DR과 관련하여 Microsoft는 공동 책임 모델을 사용합니다. 공동 책임 모델에서 Microsoft는 기준 인프라 및 플랫폼 서비스를 사용할 수 있도록 합니다. 동시에 많은 Azure 서비스는 데이터를 자동으로 복제하거나 실패한 지역에서 대체하여 사용하도록 설정된 다른 지역으로 교차 복제하지 않습니다. 이러한 서비스의 경우 자신의 워크로드에 적합한 재해 복구 계획을 설정할 책임이 있습니다. Azure PaaS(Platform as a Service) 제품에서 실행되는 대부분의 서비스는 DR을 지원하는 기능과 지침을 제공하며, 서비스별 기능을 사용하여 빠른 복구를 지원하여 DR 계획을 개발하는 데 도움이 될 수 있습니다.

전체 지역 가동 중단이 발생할 가능성이 낮으면 다음 두 가지 전략 중 하나를 사용할 수 있습니다.

  • 수동 복구: 새 지역에 수동으로 배포하거나 지역이 복구될 때까지 기다린 다음, 모든 환경 및 앱을 수동으로 다시 배포합니다.

  • 복원력 있는 복구: 먼저 컨테이너 앱을 여러 지역에 미리 배포합니다. 다음으로, 들어오는 요청을 Azure Front Door 또는 Azure Traffic Manager에서 처리하고 주 지역에 대한 트래픽을 가리킵니다. 그런 다음, 중단이 발생하면 영향을 받는 지역에서 다른 지역으로 트래픽을 리디렉션할 수 있습니다. 자세한 내용은 Azure의 지역 간 복제를 참조하세요.

참고 항목

어떤 전략을 선택하든 배포 구성 파일이 소스 제어에 있는지 확인하여 필요한 경우 쉽게 다시 배포할 수 있습니다.

추가 지침

다음 리소스는 자체 재해 복구 계획을 수립하는 데 도움이 될 수 있습니다.

다음 단계