배포 슬롯을 교환하여 웹앱 배포
슬롯을 교환할 때 웹앱의 동작과 구성을 정확하게 제어할 수 있습니다.
프로덕션 및 스테이징의 배포 슬롯을 설정한다고 가정해 보겠습니다. 스테이징 슬롯에서 소셜 미디어 웹앱의 새 버전을 테스트합니다. 이제 새 버전을 프로덕션에 배포해야 합니다. 앱을 올바른 구성으로 원활하게 배포하기를 원합니다.
여기서는 웹앱을 프로덕션으로 교환하기 위한 올바른 구성을 알아봅니다.
교환에 대한 구성 관리
두 슬롯을 교환할 경우 앱의 구성이 앱과 함께 새 슬롯으로 이동됩니다. 이 동작은 개별 애플리케이션 설정 및 구성 문자열에 대해 슬롯 설정으로 구성하여 재정의할 수 있습니다.
예를 들어 두 개의 데이터베이스가 있다고 가정해 보겠습니다. 각각 프로덕션과 수용 테스트에 사용합니다. 항상 스테이징 슬롯의 앱 버전에서 테스트 데이터베이스를 사용하도록 하고 싶습니다. 프로덕션 슬롯의 앱 버전은 항상 프로덕션 데이터베이스를 사용해야 합니다. 이 작업을 위해 데이터베이스 연결 문자열을 슬롯 설정으로 구성할 수 있습니다.
슬롯 설정 구성
전환에 대한 설정을 보고 구성하려면 웹앱 리소스로 이동하고 다음 단계를 수행합니다.
Azure Portal 메뉴 또는 홈 페이지에서 모든 리소스를 선택하고 구성하려는 배포 슬롯을 선택합니다.
구성 창으로 이동합니다.
애플리케이션 설정 탭에서 원하는 설정의 배포 슬롯 설정 필드에 확인 표시가 있는지를 확인합니다. 지정된 설정에서 확인 표시를 설정하거나 해제하려면 설정의 연필 단추를 선택하여 편집한 후 배포 슬롯 설정 확인란을 원하는 값으로 전환한 후 확인을 선택합니다.
설정을 저장했으면 구성 창에서 저장을 선택합니다.
Azure Portal에서 슬롯 전환
Azure Portal에서 두 슬롯을 전환하려면 다음과 같이 진행합니다.
Azure Portal 메뉴 또는 홈 페이지에서 모든 리소스를 선택한 후 웹앱의 배포 슬롯으로 이동한 후 배포 슬롯 창을 선택합니다.
전환을 선택합니다.
교환 대화 상자에서 원본 슬롯과 대상 슬롯을 선택하고, 교환된 슬롯에 적용되는 설정 요약을 확인할 수 있습니다.
슬롯 교환 미리 보기 이해
슬롯을 교환할 때 대상 슬롯(일반적으로 프로덕션 슬롯)의 설정이 소스 슬롯의 앱 버전에 적용된 후 호스트 이름이 교환됩니다. 이 시점에서 문제를 발생할 수 있습니다. 예를 들어 데이터베이스 연결 문자열이 슬롯 설정으로 구성된 경우 새 버전의 웹앱이 기존 프로덕션 데이터베이스를 사용합니다. 교환 전에 프로덕션 데이터베이스에서 데이터베이스 스키마를 업그레이드하는 것을 잊어버린 경우 새 앱 버전이 이전 스키마를 사용하려고 할 때 오류 및 예외를 발생할 수 있습니다.
앱이 프로덕션에 게시되기 전에 문제를 확인할 수 있도록 Azure App Service에서는 미리 보기를 사용한 교환 기능을 제공합니다. 이 옵션을 선택하면 교환이 두 단계로 진행됩니다.
- 1단계: 대상 슬롯의 슬롯 설정이 소스 슬롯의 웹앱에 적용됩니다. 그러면 Azure는 원본 슬롯을 준비합니다. 이때 교환 작업이 일시 중지되므로, 소스 슬롯의 앱을 테스트하여 대상 슬롯 구성에서 작동하는지 확인할 수 있습니다. 문제가 없으면 다음 단계를 시작합니다.
- 2단계: 두 사이트의 호스트 이름이 교환됩니다. 현재 소스 슬롯에 있는 앱 버전이 해당 슬롯 설정을 받습니다.
중요
스테이징 슬롯에 있을 때 웹앱을 철저히 테스트합니다. 코드 버그와 슬롯 외 설정 관련 문제를 제거합니다. 미리 보기를 사용한 교환 기능은 프로덕션 슬롯 설정에 의해 발생한 문제만 찾아서 제거할 수 있습니다. 어떤 종류이든 프로덕션으로 교환을 시작하기 전에 다른 모든 사항이 정상임을 확인해야 합니다.
미리 보기 슬롯 교환
미리 보기를 사용한 교환 기능을 사용하려면 미리 보기를 사용하여 교환 수행을 선택하고 설정을 검토한 다음 교환 시작을 선택합니다.
링크를 따라 새 버전의 사이트를 미리 봅니다. 미리 보기에서는 대상 슬롯의 슬롯 설정이 적용됩니다. 계속하려면 전체 전환을 선택합니다.
자동 전환
자동 교환은 자동화된 배포 파이프라인에 교환 기반 배포의 가동 중지 시간 0 및 편리한 롤백 혜택을 제공합니다. 슬롯의 자동 교환을 구성할 경우 해당 슬롯에 코드 또는 콘텐츠를 푸시할 때마다 Azure에서 자동으로 교환합니다.
자동 교환을 사용하는 경우 교환하기 전에 스테이징 슬롯에서 새 앱 버전을 테스트할 수 없습니다. 자동 교환은 주로 가동 중지 시간이 없는 배포와 간단한 자동화된 배포 파이프라인을 원하는 사용자에게 유용합니다.
교환하기 전에 테스트할 수 있으려면 슬롯 교환 자체를 요청하는 더 복잡한 배포 파이프라인이 필요합니다. 또는 테스트 전용의 별도 슬롯에 배포할 수도 있습니다.
참고
App Service on Linux에서는 자동 교환을 사용할 수 없습니다.
자동 전환 구성
슬롯에 대해 자동 전환을 구성하려면 Azure Portal에서 슬롯에 대한 구성 > 일반 설정 창으로 이동합니다. 배포 슬롯에서 자동 전환 사용을 켜기로 설정하고 드롭다운 목록에서 대상 슬롯을 선택한 후 상단 메뉴 모음에서 저장을 선택합니다.
이 옵션은 프로덕션 슬롯이 아닌 슬롯에서만 사용할 수 있습니다.