다음을 통해 공유


자습서: 지역 복제된 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에서 App Service에 배포

"웹앱에 배포"를 사용하지 않도록 설정된 경우 첫 번째 자습서의 컨테이너 레지스트리 만들기에 설명된 대로 레지스트리 관리 사용자를 사용하도록 설정하지 않은 것일 수 있습니다. Azure Portal의 설정>액세스 키에서 관리 사용자를 사용하도록 설정할 수 있습니다.

"웹앱에 배포"를 선택하면 표시되는 컨테이너용 웹앱에서 각 설정에 대해 다음 값을 지정합니다.

설정
사이트 이름 웹앱에 대한 전역적으로 고유한 이름입니다. 이 예제에서는 <acrName>-westus 형식을 사용하여 웹앱이 배포된 레지스트리 및 영역을 쉽게 식별합니다.
리소스 그룹 기존 항목 사용>myResourceGroup
App Service 계획/위치 미국 서부 영역에 plan-westus라는 새 계획을 만듭니다.
이미지 acr-helloworld:v1
운영 체제 Linux

참고 항목

컨테이너형 앱을 배포하기 위한 새 앱 서비스 계획을 만들 때 애플리케이션을 호스팅하기 위한 기본 계획이 자동으로 선택됩니다. 기본 계획은 운영 체제 설정에 따라 달라집니다.

웹앱을 미국 서부 영역에 프로비저닝하려면 만들기를 선택합니다.

스크린샷은 만들기 단추가 강조 표시된 Web App for Containers를 보여줍니다.

배포된 웹앱 보기

배포가 완료되면 브라우저에서 해당 URL로 이동하여 실행 중인 애플리케이션을 볼 수 있습니다.

포털에서 App Services를 선택한 다음 이전 단계에서 프로비저닝된 웹앱을 선택합니다. 이 예제에서 웹앱 이름은 uniqueregistryname-westus입니다.

브라우저에서 실행 중인 애플리케이션을 보려면 App Service 개요의 오른쪽 위에 있는 웹앱의 하이퍼링크 URL을 선택합니다.

스크린샷은 웹앱 URL이 강조 표시된 App Service 개요를 보여줍니다.

Docker 이미지가 지리적 복제 컨테이너 레지스트리에서 배포되면 사이트에서 컨테이너 레지스트리를 호스팅하는 Azure 영역을 나타내는 이미지를 표시합니다.

스크린샷은 브라우저에 표시되는 배포된 웹 애플리케이션을 보여줍니다.

두 번째 Web App for Containers 인스턴스 배포

이전 섹션에서 설명한 절차를 사용하여 미국 동부 영역에 두 번째 웹앱을 배포합니다. Web App for Containers에서 다음 값을 지정합니다.

설정
사이트 이름 웹앱에 대한 전역적으로 고유한 이름입니다. 이 예제에서는 <acrName>-eastus 형식을 사용하여 웹앱이 배포된 레지스트리 및 영역을 쉽게 식별합니다.
리소스 그룹 기존 항목 사용>myResourceGroup
App Service 계획/위치 미국 동부 영역에 plan-eastus라는 새 계획을 만듭니다.
이미지 acr-helloworld:v1
운영 체제 Linux

웹앱을 미국 동부 영역에 프로비저닝하려면 만들기를 선택합니다.

스크린샷은 만들기 단추가 강조 표시된 Web App for Containers 만들기 창을 보여줍니다.

두 번째로 배포된 웹앱 보기

이전과 마찬가지로 브라우저에서 해당 URL로 이동하여 실행 중인 애플리케이션을 볼 수 있습니다.

포털에서 App Services를 선택한 다음 이전 단계에서 프로비저닝된 웹앱을 선택합니다. 이 예제에서 웹앱 이름은 uniqueregistryname-eastus입니다.

브라우저에서 실행 중인 애플리케이션을 보려면 App Service 개요의 오른쪽 위에 있는 웹앱의 하이퍼링크 URL을 선택합니다.

Azure Portal에서 Linux의 웹앱 구성

Docker 이미지가 지리적 복제 컨테이너 레지스트리에서 배포되면 사이트에서 컨테이너 레지스트리를 호스팅하는 Azure 영역을 나타내는 이미지를 표시합니다.

브라우저에 표시된 배포된 웹 애플리케이션

다음 단계

이 자습서에서는 지리적 복제 Azure Container Registry에서 Web App for Containers 인스턴스 2개를 배포했습니다.

다음 자습서로 이동하여 새 컨테이너 이미지를 업데이트하고 컨테이너 레지스트리에 배포한 다음 두 영역에서 실행 중인 웹앱이 자동으로 업데이트되었는지 확인합니다.