자습서: 지역 복제된 Azure Container Registry에서 웹앱 배포
세 부분으로 이루어진 자습서 시리즈의 두 번째 부분입니다. 1부에서 지리적 복제 프라이빗 컨테이너 레지스트리가 작성되었으며 컨테이너 이미지가 원본에서 빌드되어 레지스트리로 푸시되었습니다. 이 문서에서는 서로 다른 두 Azure 지역에 있는 두 웹앱 인스턴스에 컨테이너를 배포하여 지리적 복제 레지스트리의 네트워크-인접 측면을 활용합니다. 그러면 각 인스턴스는 가장 가까운 레지스트리에서 컨테이너 이미지를 가져옵니다.
이 자습서는 시리즈의 2부입니다.
- 두 개의 Web App for Containers 인스턴스에 컨테이너 이미지 배포
- 배포된 애플리케이션 확인
지리적 복제 레지스트리를 아직 만들지 않았고 컨테이너화된 샘플 애플리케이션의 이미지를 레지스트리에 푸시한 경우 시리즈의 이전 자습서인 지리적 복제 Azure Container Registry 준비로 돌아갑니다.
이 시리즈의 그 다음 문서에서는 애플리케이션을 업데이트한 다음, 업데이트된 컨테이너 이미지를 레지스트리로 푸시합니다. 마지막으로, 실행 중인 각 웹앱 인스턴스를 탐색하여 변경 사항이 자동으로 적용되어 Azure Container Registry 지역에서 복제 및 webhook가 실제로 작동하고 있음을 보여 줍니다.
Web App for Containers에 자동 배포
Azure Container Registry는 컨테이너화된 애플리케이션을 Web App for Containers에 직접 배포할 수 있도록 지원합니다. 이 자습서에서는 Azure Portal을 사용하여 이전 자습서에서 만든 컨테이너 이미지를 다른 Azure 영역에 있는 두 개의 웹앱 계획에 배포합니다.
레지스트리의 컨테이너 이미지에서 웹앱을 배포하고 같은 영역에 지리적 복제 레지스트리가 있는 경우 Azure Container Registry는 이미지 배포 webhook를 만듭니다. 새 이미지를 컨테이너 리포지토리로 푸시하면 webhook가 변경 사항을 선택하고 새 컨테이너 이미지를 웹앱에 자동으로 배포합니다.
Web App for Containers 인스턴스 배포
이 단계에서는 미국 서부 영역에 Web App for Containers를 만듭니다.
Azure Portal에 로그인하고 이전 자습서에서 만든 레지스트리로 이동합니다.
리포지토리>acr-helloworld를 선택하고 태그의 v1 태그를 마우스 오른쪽 단추로 클릭한 다음 웹앱에 배포를 선택합니다.
"웹앱에 배포"를 사용하지 않도록 설정된 경우 첫 번째 자습서의 컨테이너 레지스트리 만들기에 설명된 대로 레지스트리 관리 사용자를 사용하도록 설정하지 않은 것일 수 있습니다. Azure Portal의 설정>액세스 키에서 관리 사용자를 사용하도록 설정할 수 있습니다.
"웹앱에 배포"를 선택하면 표시되는 컨테이너용 웹앱에서 각 설정에 대해 다음 값을 지정합니다.
설정 | 값 |
---|---|
사이트 이름 | 웹앱에 대한 전역적으로 고유한 이름입니다. 이 예제에서는 <acrName>-westus 형식을 사용하여 웹앱이 배포된 레지스트리 및 영역을 쉽게 식별합니다. |
리소스 그룹 | 기존 항목 사용>myResourceGroup |
App Service 계획/위치 | 미국 서부 영역에 plan-westus 라는 새 계획을 만듭니다. |
이미지 | acr-helloworld:v1 |
운영 체제 | Linux |
참고 항목
컨테이너형 앱을 배포하기 위한 새 앱 서비스 계획을 만들 때 애플리케이션을 호스팅하기 위한 기본 계획이 자동으로 선택됩니다. 기본 계획은 운영 체제 설정에 따라 달라집니다.
웹앱을 미국 서부 영역에 프로비저닝하려면 만들기를 선택합니다.
배포된 웹앱 보기
배포가 완료되면 브라우저에서 해당 URL로 이동하여 실행 중인 애플리케이션을 볼 수 있습니다.
포털에서 App Services를 선택한 다음 이전 단계에서 프로비저닝된 웹앱을 선택합니다. 이 예제에서 웹앱 이름은 uniqueregistryname-westus입니다.
브라우저에서 실행 중인 애플리케이션을 보려면 App Service 개요의 오른쪽 위에 있는 웹앱의 하이퍼링크 URL을 선택합니다.
Docker 이미지가 지리적 복제 컨테이너 레지스트리에서 배포되면 사이트에서 컨테이너 레지스트리를 호스팅하는 Azure 영역을 나타내는 이미지를 표시합니다.
두 번째 Web App for Containers 인스턴스 배포
이전 섹션에서 설명한 절차를 사용하여 미국 동부 영역에 두 번째 웹앱을 배포합니다. Web App for Containers에서 다음 값을 지정합니다.
설정 | 값 |
---|---|
사이트 이름 | 웹앱에 대한 전역적으로 고유한 이름입니다. 이 예제에서는 <acrName>-eastus 형식을 사용하여 웹앱이 배포된 레지스트리 및 영역을 쉽게 식별합니다. |
리소스 그룹 | 기존 항목 사용>myResourceGroup |
App Service 계획/위치 | 미국 동부 영역에 plan-eastus 라는 새 계획을 만듭니다. |
이미지 | acr-helloworld:v1 |
운영 체제 | Linux |
웹앱을 미국 동부 영역에 프로비저닝하려면 만들기를 선택합니다.
두 번째로 배포된 웹앱 보기
이전과 마찬가지로 브라우저에서 해당 URL로 이동하여 실행 중인 애플리케이션을 볼 수 있습니다.
포털에서 App Services를 선택한 다음 이전 단계에서 프로비저닝된 웹앱을 선택합니다. 이 예제에서 웹앱 이름은 uniqueregistryname-eastus입니다.
브라우저에서 실행 중인 애플리케이션을 보려면 App Service 개요의 오른쪽 위에 있는 웹앱의 하이퍼링크 URL을 선택합니다.
Docker 이미지가 지리적 복제 컨테이너 레지스트리에서 배포되면 사이트에서 컨테이너 레지스트리를 호스팅하는 Azure 영역을 나타내는 이미지를 표시합니다.
다음 단계
이 자습서에서는 지리적 복제 Azure Container Registry에서 Web App for Containers 인스턴스 2개를 배포했습니다.
다음 자습서로 이동하여 새 컨테이너 이미지를 업데이트하고 컨테이너 레지스트리에 배포한 다음 두 영역에서 실행 중인 웹앱이 자동으로 업데이트되었는지 확인합니다.