Java Web アプリのコンテナ化と Azure Kubernetes Service への移行Java web app containerization and migration to Azure Kubernetes Service

この記事では、Azure Migrate: App Containerization ツールを使用して、(Apache Tomcat で実行されている) Java Web アプリケーションをコンテナー化し、それらを Azure Kubernetes Service (AKS) に移行する方法について説明します。In this article, you'll learn how to containerize Java web applications (running on Apache Tomcat) and migrate them to Azure Kubernetes Service (AKS) using the Azure Migrate: App Containerization tool. コンテナー化プロセスでは、コードベースへのアクセスは不要で、既存のアプリケーションを簡単な方法でコンテナー化できます。The containerization process doesn’t require access to your codebase and provides an easy way to containerize existing applications. このツールは、サーバー上のアプリケーションの実行状態を使用して動作し、アプリケーション コンポーネントを判別し、それらをコンテナー イメージにパッケージ化できるように支援します。The tool works by using the running state of the applications on a server to determine the application components and helps you package them in a container image. コンテナー化されたアプリケーションは、Azure Kubernetes Service (AKS) にデプロイできます。The containerized application can then be deployed on Azure Kubernetes Service (AKS).

Azure Migrate: App Containerization ツールは、現時点で以下をサポートしています。The Azure Migrate: App Containerization tool currently supports -

  • ASP.NET アプリをコンテナー化し、それらを AKS の Windows コンテナーにデプロイする。Containerizing ASP.NET apps and deploying them on Windows containers on AKS. 詳細情報Learn more
  • (Linux サーバーの) Apache Tomcat 上の Java Web アプリをコンテナー化し、それらを AKS の Linux コンテナーにデプロイする。Containerizing Java Web Apps on Apache Tomcat (on Linux servers) and deploying them on Linux containers on AKS.

Azure Migrate: App Containerization ツールを使用すると、以下を行うことができます。The Azure Migrate: App Containerization tool helps you to -

  • アプリケーションを検出する: このツールは、(Apache Tomcat で実行されている) Java Web アプリケーションを実行しているアプリケーション サーバーにリモート接続し、アプリケーション コンポーネントを検出します。Discover your application: The tool remotely connects to the application servers running your Java web application (running on Apache Tomcat) and discovers the application components. このツールにより、アプリケーションのコンテナー イメージを作成するために使用できる Dockerfile が作成されます。The tool creates a Dockerfile that can be used to create a container image for the application.
  • コンテナー イメージをビルドする: Dockerfile を検査し、アプリケーションの要件に従ってさらにカスタマイズし、それを使用してアプリケーション コンテナー イメージをビルドできます。Build the container image: You can inspect and further customize the Dockerfile as per your application requirements and use that to build your application container image. アプリケーション コンテナー イメージは、指定した Azure Container Registry にプッシュされます。The application container image is pushed to an Azure Container Registry you specify.
  • Azure Kubernetes Service にデプロイする: このツールにより、コンテナー化されたアプリケーションを Azure Kubernetes Service クラスターにデプロイするために必要な Kubernetes リソース定義 YAML ファイルが生成されます。Deploy to Azure Kubernetes Service: The tool then generates the Kubernetes resource definition YAML files needed to deploy the containerized application to your Azure Kubernetes Service cluster. YAML ファイルをカスタマイズし、それらを使用して AKS にアプリケーションをデプロイできます。You can customize the YAML files and use them to deploy the application on AKS.

注意

Azure Migrate: App Containerization ツールを使用すると、アプリケーション サーバー上の特定のアプリケーションの種類 (ASP.NET と Apache Tomcat 上の Java Web アプリ) とそのコンポーネントを検出できます。The Azure Migrate: App Containerization tool helps you discover specific application types (ASP.NET and Java web apps on Apache Tomcat) and their components on an application server. オンプレミスのマシンで実行されているサーバーと、アプリ、ロール、機能のインベントリを検出するには、Azure Migrate: 検出および評価機能を使用します。To discover servers and the inventory of apps, roles, and features running on on-premises machines, use Azure Migrate: Discovery and assessment capability. 詳細情報Learn more

どのアプリケーションも大幅な再設計なしでコンテナーに直接シフトしてもメリットを得られませんが、既存のアプリを再記述せずにコンテナーに移動した場合、次のようなメリットがあります。While all applications won't benefit from a straight shift to containers without significant rearchitecting, some of the benefits of moving existing apps to containers without rewriting include:

  • インフラストラクチャ使用率の向上: コンテナーを使用すると、複数のアプリケーションがリソースを共有でき、それらのアプリケーションを同じインフラストラクチャでホストできます。Improved infrastructure utilization: With containers, multiple applications can share resources and be hosted on the same infrastructure. これにより、インフラストラクチャを統合し、使用率を向上させることができます。This can help you consolidate infrastructure and improve utilization.
  • 管理の簡略化: AKS のような最新のマネージド インフラストラクチャ プラットフォームでアプリケーションをホストすることにより、インフラストラクチャの制御を維持しながら管理プラクティスを簡素化できます。Simplified management: By hosting your applications on a modern managed infrastructure platform like AKS, you can simplify your management practices while still retaining control over your infrastructure. 所有するインフラストラクチャでこれまで実行していた、インフラストラクチャの保守および管理のプロセスを廃止または削減することで、これを実現できます。You can achieve this by retiring or reducing the infrastructure maintenance and management processes that you'd traditionally perform with owned infrastructure.
  • アプリケーションの移植性: コンテナー仕様の形式とオーケストレーション プラットフォームの導入と標準化が改善されたため、アプリケーションの移植性は問題になりません。Application portability: With increased adoption and standardization of container specification formats and orchestration platforms, application portability is no longer a concern.
  • DevOps を使用した最新の管理の導入: コードとしてのインフラストラクチャおよび DevOps への移行により、管理とセキュリティのための最新の手法を導入し、それらを標準化できます。Adopt modern management with DevOps: Helps you adopt and standardize on modern practices for management and security with Infrastructure as Code and transition to DevOps.

このチュートリアルで学習する内容は次のとおりです。In this tutorial, you'll learn how to:

  • Azure アカウントを設定します。Set up an Azure account.
  • Azure Migrate: App Containerization ツールをインストールします。Install the Azure Migrate: App Containerization tool.
  • Java Web アプリケーションを検出します。Discover your Java web application.
  • コンテナー イメージをビルドします。Build the container image.
  • コンテナー化されたアプリケーションを AKS にデプロイします。Deploy the containerized application on AKS.

注意

チュートリアルでは、概念実証をすばやく設定できるように、シナリオの最も簡単なデプロイ パスを示します。Tutorials show you the simplest deployment path for a scenario so that you can quickly set up a proof-of-concept. チュートリアルではできるだけ既定のオプションを使用しており、使用可能な設定とパスをすべて示しているわけではありません。Tutorials use default options where possible, and don't show all possible settings and paths.

前提条件Prerequisites

このチュートリアルを始める前に、次の準備が必要です。Before you begin this tutorial, you should:

要件Requirement 詳細Details
ツールをインストールするコンピューターを特定するIdentify a machine to install the tool Azure Migrate: App Containerization ツールをインストールして実行する Windows コンピューター。A Windows machine to install and run the Azure Migrate: App Containerization tool. Windows コンピューターとして、サーバー (Windows Server 2016 以降) またはクライアント (Windows 10) オペレーティング システムを使用できます。これは、このツールをデスクトップでも実行できることを意味します。The Windows machine could be a server (Windows Server 2016 or later) or client (Windows 10) operating system, meaning that the tool can run on your desktop as well.

ツールを実行する Windows マシンには、コンテナー化する Java Web アプリケーションをホストするサーバーまたは仮想マシンへのネットワーク接続が必要です。The Windows machine running the tool should have network connectivity to the servers/virtual machines hosting the Java web applications to be containerized.

アプリケーション アーティファクトを保存するために、Azure Migrate: App Containerization ツールを実行する Windows コンピューターで 6 GB の領域が使用可能であることを確認します。Ensure that 6-GB space is available on the Windows machine running the Azure Migrate: App Containerization tool for storing application artifacts.

Windows コンピューターは、直接またはプロキシ経由でインターネットにアクセスできる必要があります。The Windows machine should have internet access, directly or via a proxy.
アプリケーション サーバーApplication servers - コンテナー化する Java アプリケーションを実行するサーバーのポート 22 で Secure Shell (SSH) 接続を有効にします。- Enable Secure Shell (SSH) connection on port 22 on the server(s) running the Java application(s) to be containerized.
Java Web アプリケーションJava web application このツールは、現在以下をサポートしています。The tool currently supports

- Tomcat 8 以降で実行されるアプリケーション。- Applications running on Tomcat 8 or later.
- Ubuntu Linux 16.04/18.04/20.04、Debian 7/8、CentOS 6/7、Red Hat Enterprise Linux 5/6/7 上のアプリケーション サーバー。- Application servers on Ubuntu Linux 16.04/18.04/20.04, Debian 7/8, CentOS 6/7, Red Hat Enterprise Linux 5/6/7.
- Java バージョン 7 以降を使用するアプリケーション。- Applications using Java version 7 or later.

このツールは現在以下をサポートしていません。The tool currently doesn't support

- 複数の Tomcat インスタンスを実行するアプリケーション サーバー- Applications servers running multiple Tomcat instances

Azure ユーザー アカウントを準備するPrepare an Azure user account

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

サブスクリプションがセットアップされたら、以下を備えた Azure ユーザー アカウントが必要になります。Once your subscription is set up, you'll need an Azure user account with:

  • Azure サブスクリプションの所有者アクセス許可Owner permissions on the Azure subscription
  • Azure Active Directory アプリを登録するためのアクセス許可Permissions to register Azure Active Directory apps

無料の Azure アカウントを作成したばかりであれば、自分のサブスクリプションの所有者になっています。If you just created a free Azure account, you're the owner of your subscription. サブスクリプションの所有者でない場合は、所有者と協力して、次のようにアクセス許可を割り当てます。If you're not the subscription owner, work with the owner to assign the permissions as follows:

  1. Azure portal で "サブスクリプション" を検索し、 [サービス][サブスクリプション] を選択します。In the Azure portal, search for "subscriptions", and under Services, select Subscriptions.

    Azure サブスクリプションを検索するための検索ボックス。

  2. [サブスクリプション] ページで、Azure Migrate プロジェクトを作成するサブスクリプションを選択します。In the Subscriptions page, select the subscription in which you want to create an Azure Migrate project.

  3. サブスクリプションで、 [アクセス制御 (IAM)] > [アクセスの確認] の順に選択します。In the subscription, select Access control (IAM) > Check access.

  4. [アクセスの確認] で、適切なユーザー アカウントを検索します。In Check access, search for the relevant user account.

  5. [ロールの割り当てを追加する] で、 [追加] をクリックします。In Add a role assignment, click Add.

    ユーザー アカウントを検索してアクセスを確認し、ロールを割り当てます。

  6. [ロールの割り当ての追加] で、所有者ロールを選択し、アカウント (この例では azmigrateuser) を選択します。In Add role assignment, select the Owner role, and select the account (azmigrateuser in our example). [保存] をクリックします。Then click Save.

    [ロールの割り当ての追加] ページを開いて、アカウントにロールを割り当てます。

  7. Azure アカウントには、Azure Active Directory アプリを登録するためのアクセス許可 も必要です。Your Azure account also needs permissions to register Azure Active Directory apps.

  8. Azure portal で、 [Azure Active Directory] > [ユーザー] > [ユーザー設定] に移動します。In Azure portal, navigate to Azure Active Directory > Users > User Settings.

  9. [ユーザー設定] で、Azure AD ユーザーがアプリケーションを登録できることを確認します (既定で [はい] に設定されています)。In User settings, verify that Azure AD users can register applications (set to Yes by default).

    [ユーザー設定] で、ユーザーが Active Directory アプリを登録できることを確認します。

  10. [アプリの登録] 設定が [いいえ] に設定されている場合は、テナントまたはグローバル管理者に、必要なアクセス許可を割り当てるよう依頼してください。In case the 'App registrations' settings is set to 'No', request the tenant/global admin to assign the required permission. テナントまたはグローバル管理者は、Azure Active Directory アプリの登録を許可するために、アプリケーション開発者 ロールをアカウントに割り当てることもできます。Alternately, the tenant/global admin can assign the Application Developer role to an account to allow the registration of Azure Active Directory App. 詳細については、こちらを参照してくださいLearn more.

Azure Migrate: App Containerization ツールをダウンロードしてインストールするDownload and install Azure Migrate: App Containerization tool

  1. Windows コンピューターで Azure Migrate: App Containerization のインストーラーをダウンロードします。Download the Azure Migrate: App Containerization installer on a Windows machine.

  2. 管理者モードで PowerShell を起動し、PowerShell ディレクトリをインストーラーが格納されているフォルダーに変更します。Launch PowerShell in administrator mode and change the PowerShell directory to the folder containing the installer.

  3. コマンドを使用してインストール スクリプトを実行します。Run the installation script using the command

    .\AppContainerizationInstaller.ps1
    

App Containerization ツールを起動するLaunch the App Containerization tool

  1. App Containerization ツールを実行する Windows コンピューターに接続できる任意のコンピューターでブラウザーを開き、ツールの URL: https://コンピューター名または IP アドレス: 44368 を開きます。Open a browser on any machine that can connect to the Windows machine running the App Containerization tool, and open the tool URL: https://machine name or IP address: 44368.

    または、アプリのショートカットを選択して、デスクトップからアプリを開くこともできます。Alternately, you can open the app from the desktop by selecting the app shortcut.

  2. 接続がプライベートではないことを示す警告が表示された場合は、[詳細設定] をクリックして、Web サイトに進むことを選択します。If you see a warning stating that says your connection isn’t private, click Advanced and choose to proceed to the website. この警告は、Web インターフェイスが自己署名の TLS/SSL 証明書を使用している場合に表示されます。This warning appears as the web interface uses a self-signed TLS/SSL certificate.

  3. サインイン画面で、コンピューターのローカル管理者アカウントを使用してサインインします。At the sign-in screen, use the local administrator account on the machine to sign-in.

  4. [specify application type](アプリケーションの種類の指定) で、コンテナー化するアプリケーションの種類として [Java web apps on Tomcat](Tomcat 上の Java Web アプリ) を選択します。For specify application type, select Java web apps on Tomcat as the type of application you want to containerize.

    App Containerization ツールの既定のロードアップ。

ツールの前提条件を満たすComplete tool pre-requisites

  1. ライセンス条項 に同意し、サード パーティの情報を確認します。Accept the license terms, and read the third-party information.
  2. ツールの [web app](Web アプリ) > [前提条件のセットアップ] で、次の手順を実行します。In the tool web app > Set up prerequisites, do the following steps:
    • 接続: ツールによって、Windows コンピューターがインターネットにアクセスできるかどうかがチェックされます。Connectivity: The tool checks that the Windows machine has internet access. コンピューターがプロキシを使用する場合:If the machine uses a proxy:
      • [プロキシの設定] をクリックし、プロキシ アドレス (IP アドレスまたは FQDN の形式) とリッスン ポートを指定します。Click on Set up proxy to specify the proxy address (in the form IP address or FQDN) and listening port.
      • プロキシで認証が必要な場合は、資格情報を指定します。Specify credentials if the proxy needs authentication.
      • サポートされるのは HTTP プロキシのみです。Only HTTP proxy is supported.
      • プロキシの詳細を追加した場合、あるいはプロキシまたは認証を無効にした場合は、 [保存] をクリックして接続チェックを再度トリガーします。If you've added proxy details or disabled the proxy and/or authentication, click on Save to trigger connectivity check again.
    • 更新プログラムをインストールする: ツールによって、最新の更新プログラムが自動的にチェックされ、インストールされます。Install updates: The tool will automatically check for latest updates and install them. こちらから、最新バージョンのツールを手動でインストールすることもできます。You can also manually install the latest version of the tool from here.
    • Secure Shell (SSH) を有効にする: ツールによって、コンテナー化する Java Web アプリケーションを実行するアプリケーション サーバーで Secure Shell (SSH) が有効になっていることが確認され通知されます。Enable Secure Shell (SSH): The tool will inform you to ensure that Secure Shell (SSH) is enabled on the application servers running the Java web applications to be containerized.

Azure にログインするLogin to Azure

[ログイン] をクリックして Azure アカウントにログインします。Click Login to log in to your Azure account.

  1. Azure で認証するには、デバイス コードが必要です。You'll need a device code to authenticate with Azure. [ログイン] をクリックすると、デバイス コードを含むモーダルが開きます。Clicking on Login will open a modal with the device code.

  2. [Copy code & Login](コードのコピーとログイン) をクリックしてデバイス コードをコピーし、新しいブラウザー タブで Azure ログイン プロンプトを開きます。表示されない場合は、ブラウザーでポップアップ ブロックを無効にしてあることを確認します。Click on Copy code & Login to copy the device code and open an Azure Login prompt in a new browser tab. If it doesn't appear, make sure you've disabled the pop-up blocker in the browser.

    デバイス コードを示すモーダル。

  3. 新しいタブで、デバイス コードを貼り付け、Azure アカウントの資格情報を使用してログインを完了します。On the new tab, paste the device code and complete log in using your Azure account credentials. ログインが完了したら、[ブラウザー] タブを閉じて、App Containerization ツールの Web インターフェイスに戻ることができます。You can close the browser tab after log in is complete and return to the App Containerization tool's web interface.

  4. 使用する Azure テナント を選択します。Select the Azure tenant that you want to use.

  5. 使用する Azure サブスクリプション を指定します。Specify the Azure subscription that you want to use.

Java Web アプリケーションを検出するDiscover Java web applications

App Containerization ヘルパー ツールは、指定された資格情報を使用してアプリケーション サーバーにリモート接続し、アプリケーション サーバーでホストされている (Apache Tomcat で実行されている) Java Web アプリケーションを検出しようとします。The App Containerization helper tool connects remotely to the application servers using the provided credentials and attempts to discover Java web applications (running on Apache Tomcat) hosted on the application servers.

  1. Java Web アプリケーションを実行するサーバーの IP アドレス/FQDN と資格情報 を指定します。アプリケーション検出のために、これらを使用してサーバーにリモート接続する必要があります。Specify the IP address/FQDN and the credentials of the server running the Java web application that should be used to remotely connect to the server for application discovery.

    • 指定する資格情報は、アプリケーション サーバーのルート アカウント (Linux) のものである必要があります。The credentials provided must be for a root account (Linux) on the application server.
    • ドメイン アカウントの場合 (ユーザーはアプリケーション サーバーの管理者である必要があります)、 <ドメイン\ユーザー名> の形式で、ユーザー名の前にドメイン名をプレフィックスとして付加します。For domain accounts (the user must be an administrator on the application server), prefix the username with the domain name in the format <domain\username>.
    • アプリケーションの検出は、最大 5 台のサーバーに対して同時に実行できます。You can run application discovery for upto five servers at a time.
  2. [検証] をクリックして、ツールを実行するコンピューターからアプリケーション サーバーに到達できること、および資格情報が有効であることを確認します。Click Validate to verify that the application server is reachable from the machine running the tool and that the credentials are valid. 検証が正常に完了すると、状態列に [マップ済み] として状態が表示されます。Upon successful validation, the status column will show the status as Mapped.

    サーバー IP と資格情報のスクリーンショット。

  3. [続行] をクリックして、選択したアプリケーション サーバーでアプリケーションの検出を開始します。Click Continue to start application discovery on the selected application servers.

  4. アプリケーションの検出が正常に完了した後、コンテナー化するアプリケーションの一覧を選択できます。Upon successful completion of application discovery, you can select the list of applications to containerize.

    検出された Java Web アプリケーションのスクリーンショット。

  5. チェックボックスを使用して、コンテナー化するアプリケーションを選択します。Use the checkbox to select the applications to containerize.

  6. コンテナー名を指定する: 選択した各アプリケーションのターゲット コンテナーの名前を指定します。Specify container name: Specify a name for the target container for each selected application. コンテナー名は <名前:タグ> として指定する必要があります。タグはコンテナー イメージに使用されます。The container name should be specified as <name:tag> where the tag is used for container image. たとえば、appname:v1 というターゲット コンテナー名を指定できます。For example, you can specify the target container name as appname:v1.

アプリケーションの構成をパラメーター化するParameterize application configurations

構成をパラメーター化すると、デプロイ時のパラメーターとしてその構成を使用できます。Parameterizing the configuration makes it available as a deployment time parameter. これにより、アプリケーションをデプロイするときに、この設定を構成できます。これは、コンテナー イメージで設定を特定の値にハードコーディングするのとは対照的です。This allows you to configure this setting while deploying the application as opposed to having it hard-coded to a specific value in the container image. たとえば、このオプションは、データベース接続文字列などのパラメーターに便利です。For example, this option is useful for parameters like database connection strings.

  1. [アプリの構成] をクリックして、検出された構成を確認します。Click app configurations to review detected configurations.

  2. チェックボックスをオンにして、検出されたアプリケーションの構成をパラメーター化します。Select the checkbox to parameterize the detected application configurations.

  3. パラメーター化する構成を選択した後、 [適用] をクリックします。Click Apply after selecting the configurations to parameterize.

    アプリ構成パラメーター化の ASP.NET アプリケーションのスクリーンショット。

ファイル システムの依存関係を外部化するExternalize file system dependencies

アプリケーションで使用する他のフォルダーを追加できます。You can add other folders that your application uses. それらをコンテナー イメージの一部にするか、Azure ファイル共有の永続ボリュームを使用して外部化するかを指定します。Specify if they should be part of the container image or are to be externalized through persistent volumes on Azure file share. 永続ボリュームの使用は、コンテナーの外部に状態を保存する、またはファイル システムに他の静的コンテンツを保存するステートフル アプリケーションに適しています。Using persistent volumes works great for stateful applications that store state outside the container or have other static content stored on the file system. 詳細情報Learn more

  1. [App Folders](アプリ フォルダー) の下の [編集] をクリックして、検出されたアプリケーション フォルダーを確認します。Click Edit under App Folders to review the detected application folders. 検出されたアプリケーション フォルダーは、アプリケーションに必要な必須のアーティファクトとして識別され、コンテナー イメージにコピーされます。The detected application folders have been identified as mandatory artifacts needed by the application and will be copied into the container image.

  2. [フォルダーの追加] をクリックし、追加するフォルダーのパスを指定します。Click Add folders and specify the folder paths to be added.

  3. 同じボリュームに複数のフォルダーを追加するには、コンマ (,) 区切りの値を指定します。To add multiple folders to the same volume, provide comma (,) separated values.

  4. フォルダーを永続ボリューム上のコンテナーの外部に保存する場合は、ストレージ オプションとして [永続ボリューム] を選択します。Select Persistent Volume as the storage option if you want the folders to be stored outside the container on a Persistent Volume.

  5. アプリケーション フォルダーを確認した後、 [保存] をクリックします。Click Save after reviewing the application folders. アプリのボリューム ストレージを選択するスクリーンショット。Screenshot for app volumes storage selection.

  6. [続行] をクリックして、コンテナー イメージのビルド フェーズに進みます。Click Continue to proceed to the container image build phase.

コンテナー イメージの構築Build container image

  1. Azure Container Registry を選択する: ドロップダウンを使用して、アプリのコンテナー イメージのビルドおよび保存に使用する Azure Container Registry を選択します。Select Azure Container Registry: Use the dropdown to select an Azure Container Registry that will be used to build and store the container images for the apps. 既存の Azure Container Registry を使用すること、または [Create new registry](新しいレジストリの作成) オプションを使用して、新しいレジストリを作成することができます。You can use an existing Azure Container Registry or choose to create a new one using the Create new registry option.

    アプリの ACR 選択のスクリーンショット。

  2. Dockerfile を確認する: 選択した各アプリケーションのコンテナー イメージをビルドするために必要な Dockerfile がビルド ステップの開始時に生成されます。Review the Dockerfile: The Dockerfile needed to build the container images for each selected application are generated at the beginning of the build step. [確認] をクリックして Dockerfile を確認します。Click Review to review the Dockerfile. ビルド プロセスを開始する前に、確認ステップで、必要なカスタマイズを Dockerfile に追加して変更を保存することもできます。You can also add any necessary customizations to the Dockerfile in the review step and save the changes before starting the build process.

  3. ビルド プロセスをトリガーする: イメージをビルドするアプリケーションを選択し、 [ビルド] をクリックします。Trigger build process: Select the applications to build images for and click Build. [ビルド] をクリックすると、各アプリケーションのコンテナー イメージのビルドが開始されます。Clicking build will start the container image build for each application. このツールはビルドの状態を継続的に監視します。ビルドが正常に完了したら、次の手順に進むことができます。The tool keeps monitoring the build status continuously and will let you proceed to the next step upon successful completion of the build.

  4. ビルドの状態を追跡する: 状態列の下にある [進行中のビルド] リンクをクリックすることで、ビルド ステップの進行状況を監視することもできます。Track build status: You can also monitor progress of the build step by clicking the Build in Progress link under the status column. ビルド プロセスをトリガーした後、リンクがアクティブになるまで数分かかります。The link takes a couple of minutes to be active after you've triggered the build process.

  5. ビルドが完了したら、 [続行] をクリックしてデプロイ設定を指定します。Once the build is completed, click Continue to specify deployment settings.

    アプリのコンテナー イメージのビルドが完了したスクリーンショット。

コンテナー化されたアプリを AKS にデプロイするDeploy the containerized app on AKS

コンテナー イメージがビルドされたら、次の手順は、Azure Kubernetes Service (AKS) にアプリケーションをコンテナーとしてデプロイすることです。Once the container image is built, the next step is to deploy the application as a container on Azure Kubernetes Service (AKS).

  1. Azure Kubernetes Service クラスターを選択する: アプリケーションのデプロイ先の AKS クラスターを指定します。Select the Azure Kubernetes Service Cluster: Specify the AKS cluster that the application should be deployed to.

    • 選択する AKS クラスターには、Linux ノード プールが必要です。The selected AKS cluster must have a Linux node pool.
    • イメージを保存するために選択した Azure Container Registry からイメージをプルできるように、クラスターを構成する必要があります。The cluster must be configured to allow pulling of images from the Azure Container Registry that was selected to store the images.
      • Azure CLI で次のコマンドを実行して、ACR に AKS クラスターをアタッチします。Run the following command in Azure CLI to attach the AKS cluster to the ACR.
        az aks update -n <cluster-name> -g <cluster-resource-group> --attach-acr <acr-name>
        
    • AKS クラスターがない場合、またはアプリケーションをデプロイする新しい AKS クラスターを作成する場合は、 [Create new AKS cluster](新しい AKS クラスターを作成する) をクリックすることで、ツールから作成できます。If you don’t have an AKS cluster or would like to create a new AKS cluster to deploy the application to, you can choose to create on from the tool by clicking Create new AKS cluster.
      • ツールを使用して作成される AKS クラスターは、Linux ノード プールを使用して作成されます。The AKS cluster created using the tool will be created with a Linux node pool. クラスターは、前に作成した Azure Container Registry からイメージをプルできるように構成されます ([create new registry](新しいレジストリの作成) オプションが選択されている場合)。The cluster will be configured to allow it to pull images from the Azure Container Registry that was created earlier (if create new registry option was chosen).
    • AKS クラスターを選択した後、 [続行] をクリックします。Click Continue after selecting the AKS cluster.
  2. Azure ファイル共有を指定する: さらにフォルダーを追加し、[永続ボリューム] オプションを選択した場合は、デプロイ プロセス中に Azure Migrate: App Containerization ツールで使用する必要がある Azure ファイル共有を指定します。Specify Azure file share: If you had added more folders and selected the Persistent Volume option, then specify the Azure file share that should be used by Azure Migrate: App Containerization tool during the deployment process. 永続ボリューム ストレージ用に構成されたアプリケーション フォルダーをコピーするために、ツールにより、この Azure ファイル共有に新しいディレクトリが作成されます。The tool will create new directories in this Azure file share to copy over the application folders that are configured for Persistent Volume storage. アプリケーションのデプロイが完了すると、ツールにより、作成されたディレクトリが削除され、Azure ファイル共有がクリーンアップされます。Once the application deployment is complete, the tool will clean up the Azure file share by deleting the directories it had created.

    • Azure ファイル共有がない場合、または新しい Azure ファイル共有を作成する場合は、 [Create new Storage Account and file share](新しいストレージ アカウントとファイル共有の作成) をクリックすることで、ツールから作成できます。If you don't have an Azure file share or would like to create a new Azure file share, you can choose to create on from the tool by clicking Create new Storage Account and file share.
  3. アプリケーションのデプロイ構成: 上記の手順が完了したら、アプリケーションのデプロイ構成を指定する必要があります。Application deployment configuration: Once you've completed the steps above, you'll need to specify the deployment configuration for the application. [構成] をクリックして、アプリケーションのデプロイをカスタマイズします。Click Configure to customize the deployment for the application. 構成ステップでは、次のカスタマイズを行うことができます。In the configure step you can provide the following customizations:

    • プレフィックス文字列: AKS クラスター内のコンテナー化されたアプリケーションに対して作成されるすべてのリソースの名前に使用するプレフィックス文字列を指定します。Prefix string: Specify a prefix string to use in the name for all resources that are created for the containerized application in the AKS cluster.
    • レプリカ セット: コンテナー内で実行する必要があるアプリケーション インスタンス (ポッド) の数を指定します。Replica Sets: Specify the number of application instances (pods) that should run inside the containers.
    • ロード バランサーの種類: コンテナー化されたアプリケーションにパブリック ネットワークから到達できるようにする場合は、 [外部] を選択します。Load balancer type: Select External if the containerized application should be reachable from public networks.
    • アプリケーションの構成: パラメーター化されたアプリケーションの構成では、現在のデプロイに使用する値を指定します。Application Configuration: For any application configurations that were parameterized, provide the values to use for the current deployment.
    • ストレージ: 永続ボリューム ストレージ用に構成されているすべてのアプリケーション フォルダーについて、ボリュームをアプリケーション インスタンス間で共有するか、コンテナー内の各インスタンスで個別に初期化するかを指定します。Storage: For any application folders that were configured for Persistent Volume storage, specify whether the volume should be shared across application instances or should be initialized individually with each instance in the container. 既定では、永続ボリューム上のすべてのアプリケーション フォルダーは、共有として構成されます。By default, all application folders on Persistent Volumes are configured as shared.
    • [適用] をクリックして、デプロイ構成を保存します。Click Apply to save the deployment configuration.
    • [続行] をクリックして、アプリケーションをデプロイします。Click Continue to deploy the application.

    デプロイ アプリ構成のスクリーンショット。

  4. アプリケーションをデプロイする: アプリケーションのデプロイ構成が保存されると、ツールによって、アプリケーションの Kubernetes デプロイ YAML が生成されます。Deploy the application: Once the deployment configuration for the application is saved, the tool will generate the Kubernetes deployment YAML for the application.

    • [編集] をクリックして、アプリケーションの Kubernetes デプロイ YAML を確認し、カスタマイズします。Click Edit to review and customize the Kubernetes deployment YAML for the applications.

    • デプロイするアプリケーションを選択します。Select the application to deploy.

    • [デプロイ] をクリックして、選択したアプリケーションのデプロイを開始します。Click Deploy to start deployments for the selected applications

      アプリのデプロイ構成のスクリーンショット。

    • アプリケーションがデプロイされたら、 [デプロイ ステータス] 列をクリックして、アプリケーション用にデプロイされたリソースを追跡できます。Once the application is deployed, you can click the Deployment status column to track the resources that were deployed for the application.

生成されたアーティファクトをダウンロードするDownload generated artifacts

Dockerfile や Kubernetes YAML 仕様ファイルなど、アプリケーションをビルドして AKS にデプロイするために使用されるすべてのアーティファクトは、ツールを実行しているコンピューターに保存されます。All artifacts that are used to build and deploy the application into AKS, including the Dockerfile and Kubernetes YAML specification files, are stored on the machine running the tool. アーティファクトは C:\ProgramData\Microsoft Azure Migrate App Containerization にあります。The artifacts are located at C:\ProgramData\Microsoft Azure Migrate App Containerization.

アプリケーション サーバーごとに 1 つのフォルダーが作成されます。A single folder is created for each application server. このフォルダーに移動すると、コンテナー化プロセスで使用されたすべての中間アーティファクトを確認およびダウンロードできます。You can view and download all intermediate artifacts used in the containerization process by navigating to this folder. アプリケーション サーバーに対応するフォルダーは、特定のサーバーに対してツールの実行を開始するたびにクリーンアップされます。The folder, corresponding to the application server, will be cleaned up at the start of each run of the tool for a particular server.

問題のトラブルシューティングTroubleshoot issues

ツールに関する問題をトラブルシューティングするには、App Containerization ツールを実行している Windows コンピューターにあるログ ファイルを確認します。To troubleshoot any issues with the tool, you can look at the log files on the Windows machine running the App Containerization tool. ツールのログ ファイルは C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs フォルダーにあります。Tool log files are located at C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs folder.

次のステップNext steps

  • ASP.NET アプリをコンテナー化し、それらを AKS の Windows コンテナーにデプロイする。Containerizing ASP.NET apps and deploying them on Windows containers on AKS. 詳細情報Learn more