ASP.NET 웹앱 컨테이너화 및 Azure Kubernetes Service로 마이그레이션

이 문서에서는 Azure Migrate: 앱 컨테이너화 도구를 사용하여 ASP.NET 애플리케이션을 컨테이너화하고 AKS(Azure Kubernetes Service)로 마이그레이션하는 방법에 대해 알아봅니다. 컨테이너화 프로세스는 코드베이스에 액세스할 필요가 없으며 기존 애플리케이션을 컨테이너화하는 쉬운 방법을 제공합니다. 이 도구는 서버에서 애플리케이션의 실행 상태를 사용하여 애플리케이션 구성 요소를 결정하고 컨테이너 이미지에 패키지하도록 돕습니다. 그런 다음 컨테이너화된 애플리케이션을 AKS(Azure Kubernetes Service)에 배포할 수 있습니다.

Azure Migrate: 앱 컨테이너화 도구에서 현재 지원하는 작업은 다음과 같습니다.

  • ASP.NET 앱을 컨테이너화하여 Azure Kubernetes Service의 Windows 컨테이너에 배포
  • ASP.NET 앱을 컨테이너화하여 Azure App Service의 Windows 컨테이너에 배포. 자세히 알아보기.
  • Apache Tomcat(Linux 서버에 있는)의 Java 웹앱을 컨테이너화하고 AKS의 Linux 컨테이너에 배포 자세히 알아보기.
  • Apache Tomcat(Linux 서버에 있는)의 Java 웹앱을 컨테이너화하고 App Service의 Linux 컨테이너에 배포 자세히 알아보기.

Azure Migrate: 앱 컨테이너화 도구를 사용하면 다음 작업을 수행할 수 있습니다.

  • 애플리케이션 검색: 도구가 ASP.NET 애플리케이션을 실행하는 애플리케이션 서버에 원격으로 연결하여 애플리케이션 구성 요소를 검색합니다. 이 도구는 애플리케이션의 컨테이너 이미지를 만드는 데 사용할 수 있는 Dockerfile을 만듭니다.
  • 컨테이너 이미지 빌드: 애플리케이션 요구 사항에 따라 Dockerfile의 검사 및 추가 사용자 지정을 수행하고 이를 사용하여 애플리케이션 컨테이너 이미지를 빌드할 수 있습니다. 애플리케이션 컨테이너 이미지는 지정한 Azure Container Registry로 푸시됩니다.
  • Azure Kubernetes Service에 배포: 이 도구는 컨테이너화된 애플리케이션을 Azure Kubernetes Service 클러스터에 배포하는 데 필요한 Kubernetes 리소스 정의 YAML 파일을 생성합니다. YAML 파일을 사용자 지정하고 이 파일을 사용하여 AKS에 애플리케이션을 배포할 수 있습니다.

참고 항목

Azure Migrate: 앱 컨테이너화 도구를 사용하면 애플리케이션 서버에서 특정 애플리케이션 유형(Apache Tomcat의 ASP.NET 및 Java 웹앱) 및 해당 구성 요소를 검색할 수 있습니다. 온-프레미스 컴퓨터에서 실행되는 서버와 앱, 역할, 기능의 인벤토리를 검색하려면 Azure Migrate: 검색 및 평가 기능을 사용합니다. 자세한 정보

모든 애플리케이션을 상당한 재설계 없이 컨테이너로 직접 이동할 수 있는 것은 아니지만 기존 앱을 다시 작성하지 않고 컨테이너로 이동하면 다음과 같은 몇 가지 이점을 얻을 수 있습니다.

  • 향상된 인프라 사용률: 컨테이너를 사용하면 여러 애플리케이션이 리소스를 공유하고 동일한 인프라에서 호스트될 수 있습니다. 이를 통해 인프라를 통합하고 사용률을 향상할 수 있습니다.
  • 간소화된 관리: AKS, App Service 같은 최신 관리형 플랫폼에서 애플리케이션을 호스트하여 관리 방식을 간소화할 수 있습니다. 이는 일반적으로 소유한 인프라를 사용하여 수행하는 인프라 유지 관리 및 관리 프로세스를 사용 중지하거나 축소하는 방식으로 달성할 수 있습니다.
  • 애플리케이션 이식성: 컨테이너 사양 형식 및 플랫폼의 채택과 표준화가 증가하면서 애플리케이션 이식성은 더 이상 문제가 되지 않습니다.
  • DevOps를 사용하여 최신 관리 도입: 관리와 보안 및 DevOps로 전환을 위한 최신 방식을 도입하고 표준화하는 데 도움이 됩니다.

이 자습서에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • Azure 계정을 설정합니다.
  • Azure Migrate: 앱 컨테이너화 도구를 설치합니다.
  • ASP.NET 애플리케이션을 검색합니다.
  • 컨테이너 이미지를 빌드합니다.
  • AKS에 컨테이너화된 애플리케이션을 배포합니다.

참고 항목

자습서에서는 개념 증명을 빠르게 설정할 수 있도록 시나리오에 대한 가장 간단한 배포 경로를 보여 줍니다. 자습서는 가능한 경우 기본 옵션을 사용하며, 가능한 모든 설정과 경로는 보여 주지 않습니다.

필수 조건

이 자습서를 시작하기 전에 다음을 수행해야 합니다.

요구 사항 세부 정보
도구를 설치할 컴퓨터 식별 Azure Migrate: 앱 컨테이너화 도구를 설치하고 실행하는 Windows 컴퓨터입니다. Windows 컴퓨터는 서버(Windows Server 2016 이상) 또는 클라이언트(Windows 10) 운영 체제일 수 있습니다. 즉, 도구가 데스크톱에서도 실행될 수 있습니다.

도구를 실행하는 Windows 컴퓨터에는 컨테이너화될 수 있는 ASP.NET 애플리케이션을 호스트하는 서버/가상 머신에 대한 네트워크 연결이 있어야 합니다.

애플리케이션 아티팩트를 저장하기 위해 Azure Migrate: 앱 컨테이너화 도구를 실행하는 Windows 컴퓨터에서 6GB의 공간을 사용할 수 있어야 합니다.

Windows 컴퓨터에서 직접 또는 프록시를 통해 인터넷에 액세스할 수 있어야 합니다.

Microsoft 웹 배포 도구가 아직 설치되지 않은 경우 앱 컨테이너화 도우미 도구 및 애플리케이션 서버를 실행하는 컴퓨터에 Microsoft 웹 배포 도구를 설치하세요. 이 도구는 여기서 다운로드할 수 있습니다.
애플리케이션 서버 애플리케이션 서버에서 PowerShell 원격을 사용하도록 설정합니다. 애플리케이션 서버에 로그인하고 이러한 지침에 따라 PowerShell 원격을 설정합니다.

애플리케이션 서버에 PowerShell 5.1 이상이 설치되어 있는지 확인하세요. WMF 5.1 설치 및 구성의 지침에 따라 애플리케이션 서버에 PowerShell 5.1을 다운로드하고 설치합니다.

Microsoft 웹 배포 도구가 아직 설치되지 않은 경우 앱 컨테이너화 도우미 도구 및 애플리케이션 서버를 실행하는 컴퓨터에 Microsoft 웹 배포 도구를 설치하세요. 이 도구는 여기서 다운로드할 수 있습니다.
ASP.NET 애플리케이션 현재 이 도구는 다음을 지원합니다.
- Microsoft .NET Framework 3.5 이상을 사용하는 ASP.NET 애플리케이션
- Windows Server 2012 R2 이상을 실행하는 애플리케이션 서버(애플리케이션 서버가 PowerShell 버전 5.1을 실행해야 함).
-IIS(인터넷 정보 서비스) 7.5 이상에서 실행되는 애플리케이션

이 도구에서 현재 지원하지 않는 항목은 다음과 같습니다.
- Windows 인증이 필요한 애플리케이션(앱 컨테이너화 도구는 현재 gMSA를 지원하지 않음).
IIS 외부에서 호스트되는 다른 Windows 서비스를 사용하는 애플리케이션.

Azure 사용자 계정 준비

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

구독을 설정한 후에는 다음을 포함하는 Azure 사용자 계정이 필요합니다.

  • Azure 구독에 대한 소유자 권한
  • Microsoft Entra 앱을 등록하기 위한 권한입니다.

Azure 체험 계정을 방금 만든 경우 자신이 구독에 대한 소유자입니다. 구독 소유자가 아닌 경우 다음과 같이 소유자와 협력하여 권한을 할당합니다.

  1. Azure Portal에서 "구독"을 검색하여 서비스에서 구독을 선택합니다.

    Screenshot of search box to search for the Azure subscription.

  2. 구독 페이지에서 Azure Migrate 프로젝트를 만들려는 구독을 선택합니다.

  3. 액세스 제어(IAM) 를 선택합니다.

  4. 추가>역할 할당 추가를 선택하여 역할 할당 추가 페이지를 엽니다.

  5. 다음 역할을 할당합니다. 자세한 단계는 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.

    설정
    역할 담당자
    다음에 대한 액세스 할당 사용자
    멤버 azmigrateuser(이 예에서)

    Screenshot of add role assignment page in Azure portal.

  6. Azure 계정에는 Microsoft Entra 앱을 등록할 수 있는 권한도 필요합니다.

  7. Azure Portal에서 Microsoft Entra ID>사용자>사용자 설정으로 이동합니다.

  8. 사용자 설정에서 Microsoft Entra 사용자가 애플리케이션을 등록할 수 있는지 확인합니다(기본적으로 로 설정됨).

    Screenshot of verification in User Settings if users can register Active Directory apps.

  9. '앱 등록' 설정이 '아니요'로 설정된 경우 테넌트/전역 관리자에게 필요한 권한을 할당하도록 요청합니다. 또는 테넌트/전역 관리자가 계정에 애플리케이션 개발자 역할을 할당하여 Microsoft Entra 앱 등록을 허용할 수 있습니다. 자세히 알아보기.

Azure Migrate: 앱 컨테이너화 도구 다운로드 및 설치

  1. Windows 컴퓨터에서 Azure Migrate: 앱 컨테이너화 설치 프로그램을 다운로드합니다.

  2. 관리자 모드에서 PowerShell을 시작하고 PowerShell 디렉터리를 설치 프로그램이 포함된 폴더로 변경합니다.

  3. 명령을 사용하여 설치 스크립트를 실행합니다.

    .\AppContainerizationInstaller.ps1
    

참고 항목

Windows Server 2022의 경우 더 이상 지원되지 않으므로 135줄을 편집하고 기능 목록에서 제거 PowerShell-ISE 합니다.

앱 컨테이너화 도구 시작

  1. 앱 컨테이너화 도구를 실행하는 Windows 컴퓨터에 연결할 수 있는 머신에서 브라우저를 열고 도구 URL https://머신 이름 또는 IP 주소: 44369를 엽니다.

    또는 바탕 화면에서 앱 바로 가기를 선택하여 앱을 열 수 있습니다.

  2. 연결이 프라이빗이 아님을 나타내는 경고가 표시되는 경우 고급을 선택하고 웹 사이트로 이동하도록 선택합니다. 이 경고는 웹 인터페이스가 자체 서명된 TLS/SSL 인증서를 사용하기 때문에 표시되는 것입니다.

  3. 로그인 화면에서 컴퓨터의 로컬 관리자 계정을 사용하여 로그인합니다.

  4. 컨테이너화하려는 애플리케이션의 유형으로 ASP.NET 웹앱을 선택합니다.

  5. 대상 Azure 서비스를 지정하려면 Azure Kubernetes Service의 컨테이너를 선택합니다.

    Screenshot of default load-up for App Containerization tool.

전체 도구 필수 구성 요소

  1. 사용 조건에 동의하고 타사 정보를 읽습니다.
  2. 도구 웹앱 >필수 구성 요소 설정에서 다음 단계를 수행합니다.
    • 연결: 도구가 Windows 컴퓨터에서 인터넷에 액세스할 수 있는지 확인합니다. 컴퓨터에서 프록시를 사용하는 경우:
      • 프록시 설정을 클릭하여 프록시 주소(IP 주소 또는 FQDN 형식) 및 수신 대기 포트를 지정합니다.
      • 프록시에 인증이 필요한 경우 자격 증명을 지정합니다.
      • HTTP 프록시만 지원됩니다.
      • 프록시 세부 정보를 추가했거나 프록시 및/또는 인증을 사용하지 않도록 설정한 경우 저장을 선택하여 연결 확인을 다시 시작합니다.
    • 업데이트 설치: 도구가 자동으로 최신 업데이트를 확인하고 설치합니다. 여기에서 수동으로 최신 버전의 도구를 설치할 수도 있습니다.
    • Microsoft 웹 배포 도구 설치: 도구가 Azure Migrate: 앱 컨테이너화 도구를 실행하는 Windows 컴퓨터에 Microsoft 웹 배포 도구가 설치되어 있는지 확인합니다.
    • PowerShell 원격 기능을 사용하도록 설정: 도구가 컨테이너화할 ASP.NET 애플리케이션을 실행하는 애플리케이션 서버에서 PowerShell 원격 기능이 켜졌는지 확인하라는 메시지를 표시합니다.

Azure에 로그인

  1. 로그인을 선택하여 Azure 계정에 로그인합니다.

  2. Azure로 인증하려면 디바이스 코드가 필요합니다. 로그인을 선택하면 디바이스 코드가 있는 모달이 열립니다.

  3. 코드 복사 및 로그인을 선택하여 디바이스 코드를 복사하고, 새 브라우저 탭에서 Azure 로그인 프롬프트를 엽니다. 표시되지 않으면 브라우저에서 팝업 차단을 사용하지 않도록 설정했는지 확인합니다.

    Screenshot of modal showing device code.

  4. 새 탭에서 디바이스 코드를 붙여넣고, Azure 계정 자격 증명을 사용하여 로그인을 완료합니다. 로그인이 완료되면 브라우저 탭을 닫고, 앱 컨테이너화 도구 화면으로 돌아갈 수 있습니다.

  5. 사용할 Azure 테넌트를 선택합니다.

  6. 사용할 Azure 구독을 지정합니다.

ASP.NET 애플리케이션 검색

앱 컨테이너화 도우미 도구는 제공된 자격 증명을 사용하여 애플리케이션 서버에 원격으로 연결하고 애플리케이션 서버에서 호스트되는 ASP.NET 애플리케이션을 검색합니다.

  1. 애플리케이션 검색을 위해 서버에 원격으로 연결하는 데 사용해야 하는 ASP.NET 애플리케이션의 실행 서버 IP 주소/FQDN 및 자격 증명을 지정합니다.

    • 애플리케이션 서버의 로컬 관리자(Windows)에 대한 자격 증명을 제공해야 합니다.
    • 도메인 계정의 경우(사용자가 애플리케이션 서버의 관리자여야 함) 사용자 이름 앞에 <domain\username> 형식으로 도메인 이름 접두사를 붙입니다.
    • 한 번에 최대 5대의 서버에 대해 애플리케이션 검색을 실행할 수 있습니다.
  2. 유효성 검사를 선택하여 도구를 실행하는 컴퓨터에서 애플리케이션 서버에 연결할 수 있고 자격 증명이 유효한지 확인합니다. 유효성 검사가 성공적으로 완료되면 상태 열에서 상태가 매핑됨으로 표시됩니다.

    Screenshot for server IP and credentials.

  3. 계속을 클릭하여 선택한 애플리케이션 서버에서 애플리케이션 검색을 시작합니다.

  4. 애플리케이션 검색이 성공적으로 완료되면 컨테이너화할 애플리케이션의 목록을 선택할 수 있습니다.

    Screenshot for discovered ASP.NET application.

  5. 확인란을 사용하여 컨테이너화할 애플리케이션을 선택합니다.

  6. 컨테이너 이름 지정: 선택한 애플리케이션 각각에 대한 대상 컨테이너의 이름을 지정합니다. 컨테이너 이름은 <name:tag>로 지정해야 합니다. 여기서 태그는 컨테이너 이미지에 사용됩니다. 예를 들어 대상 컨테이너 이름을 appname:v1으로 지정할 수 있습니다.

애플리케이션 구성 매개 변수화

구성을 매개 변수화하여 배포 시간 매개 변수로 사용할 수 있습니다. 이렇게 하면 컨테이너 이미지의 특정 값으로 하드 코딩하는 대신 애플리케이션을 배포하는 동안 이 설정을 구성할 수 있습니다. 예를 들어 이 옵션은 데이터베이스 연결 문자열과 같은 매개 변수에 유용합니다.

  1. 앱 구성을 선택하여 검색된 구성을 검토합니다.

  2. 검색된 애플리케이션 구성을 매개 변수화하는 확인란을 선택합니다.

  3. 매개 변수화할 구성을 선택한 후 적용을 선택합니다.

    Screenshot for app configuration parameterization ASP.NET application.

파일 시스템 종속성 외부화

애플리케이션이 사용하는 다른 폴더를 추가할 수 있습니다. 해당 폴더가 컨테이너 이미지의 일부여야 하는지 아니면 Azure 파일 공유의 영구적 볼륨을 통해 외부화되어야 하는지를 지정합니다. 영구 볼륨을 사용하는 것은 컨테이너 외부에 상태를 저장하거나 파일 시스템에 다른 정적 콘텐츠가 저장되는 상태 저장 애플리케이션에 적합합니다. 자세히 알아보기.

  1. 앱 폴더 아래에서 편집을 선택하여 검색된 애플리케이션 폴더를 검토합니다. 검색된 애플리케이션 폴더는 애플리케이션에 필요한 필수 아티팩트로 식별된 것이며 컨테이너 이미지에 복사됩니다.

  2. 폴더 추가를 클릭하고 추가할 폴더 경로를 지정합니다.

  3. 동일한 볼륨에 여러 폴더를 추가하려면 쉼표(,)로 구분된 값을 제공합니다.

  4. 폴더를 컨테이너 외부의 영구 볼륨에 저장하려면 스토리지 옵션으로 영구 볼륨을 선택합니다.

  5. 애플리케이션 폴더를 검토한 후 저장을 선택합니다. Screenshot for app volumes storage selection.

  6. 계속을 선택하여 컨테이너 이미지 빌드 단계로 진행합니다.

컨테이너 이미지 만들기

Important

AKS 1.23 이상을 사용하는 경우 원활한 마이그레이션을 위해 docker 이미지를 빌드하기 전에 아래와 같이 스크립트를 편집합니다.

아래 스크립트 변경

# Run entrypoint script.
COPY ./Entryscript.ps1 c:/Entryscript.ps1
ENTRYPOINT powershell c:/Entryscript.ps1

to

# Run entrypoint script.
COPY ["./Entryscript.ps1", "c:/Entryscript.ps1"]
ENTRYPOINT ["powershell", "c:/Entryscript.ps1"]

컨테이너 이미지를 빌드하려면 다음 단계를 따릅니다.

  1. Azure Container Registry 선택: 드롭다운을 사용하여 앱의 컨테이너 이미지를 빌드하고 저장하는 데 사용할 Azure Container Registry를 선택합니다. 기존 Azure Container Registry를 사용하거나 새 레지스트리 만들기 옵션을 사용하여 새로 만들도록 선택할 수 있습니다.

    Screenshot for app ACR selection.

  2. Dockerfile 검토: 선택한 각 애플리케이션의 컨테이너 이미지를 빌드하는 데 필요한 Dockerfile이 빌드 단계를 시작할 때 생성됩니다. 검토를 선택하여 Dockerfile을 검토합니다. 검토 단계에서 Dockerfile에 필요한 사용자 지정 항목을 추가하고 변경 내용을 저장한 후에 빌드 프로세스를 시작할 수도 있습니다.

  3. 빌드 프로세스 트리거: 이미지를 빌드할 애플리케이션을 선택하고 빌드를 선택합니다. 빌드를 선택하면 각 애플리케이션에 대한 컨테이너 이미지 빌드가 시작됩니다. 이 도구는 빌드 상태를 지속적으로 모니터링하고 빌드가 성공적으로 완료되면 다음 단계를 진행하도록 합니다.

  4. 빌드 상태 추적: 상태 열에서 빌드 진행 중 링크를 선택하여 빌드 단계의 진행률을 모니터링할 수도 있습니다. 빌드 프로세스를 트리거한 후 링크가 활성화하는 데 몇 분 정도 걸립니다.

  5. 빌드가 완료되면 계속을 선택하여 배포 설정을 지정합니다.

    Screenshot for app container image build completion.

AKS에 컨테이너화된 앱 배포

컨테이너 이미지를 빌드한 후 다음 단계는 애플리케이션을 AKS(Azure Kubernetes Service)의 컨테이너로 배포하는 것입니다.

  1. Azure Kubernetes Service 클러스터 선택: 애플리케이션을 배포해야 하는 AKS 클러스터를 지정합니다.

    • 선택한 AKS 클러스터에는 Windows 노드 풀이 있어야 합니다.
    • 이미지를 저장하기 위해 선택한 Azure Container Registry에서 이미지를 끌어올 수 있도록 클러스터를 구성해야 합니다.
      • Azure CLI에서 다음 명령을 실행하여 AKS 클러스터를 ACR에 연결합니다.
        az aks update -n <cluster-name> -g <cluster-resource-group> --attach-acr <acr-name>
        
    • AKS 클러스터가 없거나 새 AKS 클러스터를 만들어 애플리케이션을 배포하려는 경우 새 AKS 클러스터 만들기를 선택하여 도구에서 만들도록 선택할 수 있습니다.
      • 도구를 사용하여 만든 AKS 클러스터는 Windows 노드 풀을 사용하여 생성됩니다. 클러스터가 이전에 만든 Azure Container Registry에서 이미지를 끌어올 수 있도록 구성됩니다(새 레지스트리 만들기 옵션을 선택한 경우).
    • AKS 클러스터를 선택한 후 계속을 선택합니다.
  2. 비밀 저장소 지정: 애플리케이션 구성을 매개 변수화하도록 선택한 경우 애플리케이션에 사용할 비밀 저장소를 지정합니다. 애플리케이션 비밀을 관리하기 위해 Azure Key Vault 또는 App Service 애플리케이션 설정을 선택할 수 있습니다. 자세한 정보

    • 비밀 관리를 위해 App Service 애플리케이션 설정을 선택한 경우 계속을 선택합니다.
    • Azure Key Vault를 사용하여 애플리케이션 비밀을 관리하려는 경우 사용할 Azure Key Vault를 지정합니다.
      • Azure Key Vault가 없거나 새 Key Vault를 만들려는 경우 새 Azure Key Vault 만들기를 선택하여 도구에서 만들도록 선택할 수 있습니다.
      • 이 도구는 Key Vault를 통해 비밀을 관리하는 데 필요한 권한을 자동으로 할당합니다.
  3. Azure 파일 공유 지정: 더 많은 폴더를 추가했고 영구 볼륨 옵션을 선택한 경우 배포 프로세스 중에 Azure Migrate: 앱 컨테이너화 도구에서 사용할 Azure 파일 공유를 지정합니다. 이 도구는 이 Azure 파일 공유에 영구 볼륨 스토리지로 구성된 새 디렉터리를 만들어 애플리케이션 폴더를 복사합니다. 애플리케이션 배포가 완료되면 도구는 앞서 만든 디렉터리를 삭제하여 Azure 파일 공유를 정리합니다.

    • Azure 파일 공유가 없거나 새 Azure 파일 공유를 만들려는 경우 새 스토리지 계정 및 파일 공유 만들기를 선택하여 도구에서 만들도록 선택할 수 있습니다.
  4. 애플리케이션 배포 구성: 위 단계를 완료한 후 애플리케이션의 배포 구성을 지정해야 합니다. 구성을 선택하여 애플리케이션 배포를 사용자 지정합니다. 구성 단계에서 다음과 같은 사용자 지정을 제공할 수 있습니다.

    • 접두사 문자열: AKS 클러스터에서 컨테이너화된 애플리케이션에 대해 생성되는 모든 리소스의 이름에 사용할 접두사 문자열을 지정합니다.
    • SSL 인증서: 애플리케이션에 https 사이트 바인딩이 필요한 경우 바인딩에 사용할 인증서가 포함된 PFX 파일을 지정합니다. PFX 파일은 암호로 보호되지 않아야 하며 원본 사이트에는 여러 개의 바인딩이 없어야 합니다.
    • 복제본 세트: 컨테이너 내에서 실행해야 하는 애플리케이션 인스턴스(Pod)의 수를 지정합니다.
    • 부하 분산 장치 유형: 공용 네트워크에서 컨테이너화된 애플리케이션에 연결할 수 있어야 하는 경우 ‘외부’를 선택합니다.
    • 애플리케이션 구성: 매개 변수화된 애플리케이션 구성에 대해 현재 배포에 사용할 값을 제공합니다.
    • 스토리지: 영구 볼륨 스토리지로 구성된 모든 애플리케이션 폴더에 대해 볼륨을 애플리케이션 인스턴스 간에 공유해야 하는지 아니면 컨테이너의 각 인스턴스와 함께 개별적으로 초기화해야 하는지 지정합니다. 기본적으로 영구 볼륨의 모든 애플리케이션 폴더는 공유로 구성됩니다.
    • 적용을 선택하여 배포 구성을 저장합니다.
    • 계속을 선택하여 애플리케이션을 배포합니다.

    Screenshot for deployment app configuration.

  5. 애플리케이션 배포: 애플리케이션 배포 구성이 저장되면 도구는 애플리케이션에 대한 Kubernetes 배포 YAML을 생성합니다.

    • 편집을 선택하여 애플리케이션의 Kubernetes 배포 YAML을 검토하고 사용자 지정합니다.

    • 배포할 애플리케이션을 선택합니다.

    • 배포를 선택하여 선택한 애플리케이션에 대한 배포를 시작합니다.

      Screenshot for app deployment configuration.

    • 애플리케이션이 배포되면 배포 상태 열을 선택하여 애플리케이션에 대해 배포된 리소스를 추적할 수 있습니다.

생성된 아티팩트 다운로드

Dockerfile 및 Kubernetes YAML 사양 파일을 포함하여 애플리케이션을 빌드하고 AKS로 배포하는 데 사용되는 모든 아티팩트는 도구를 실행하는 컴퓨터에 저장됩니다. 아티팩트는 C:\ProgramData\Microsoft Azure Migrate App Containerization에 있습니다.

각 애플리케이션 서버에 대해 단일 폴더가 만들어집니다. 이 폴더로 이동하여 컨테이너화 프로세스에서 사용되는 모든 중간 아티팩트를 보고 다운로드할 수 있습니다. 애플리케이션 서버에 해당하는 폴더는 특정 서버에 대한 각 도구 실행이 시작될 때 정리됩니다.

문제 해결

도구와 관련된 문제를 해결하기 위해 앱 컨테이너화 도구를 실행하는 Windows 컴퓨터에서 로그 파일을 확인할 수 있습니다. 도구 로그 파일은 C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs 폴더에 있습니다.

다음 단계

  • ASP.NET 웹앱을 컨테이너화하고 App Service의 Windows 컨테이너에 배포. 자세히 알아보기.
  • Apache Tomcat(Linux 서버에 있는)의 Java 웹앱을 컨테이너화하고 AKS의 Linux 컨테이너에 배포. 자세히 알아보기.
  • Apache Tomcat(Linux 서버에 있는)의 Java 웹앱을 컨테이너화하고 App Service의 Linux 컨테이너에 배포. 자세한 정보.