Azure CLI から Spring Boot アプリケーションをデプロイする方法
Note
Basic、Standard、Enterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象:✅️ Java ❎ C#
この記事の適用対象:✅ Basic/Standard ❎ Enterprise
Azure Spring Apps を使用して Azure で Spring Boot アプリケーションを有効にすることができます。
Java ソース コードまたはビルド済み JAR からアプリケーションを直接起動できます。 この記事では、デプロイ手順について説明します。
前提条件
開始する前に、ご利用の Azure サブスクリプションで、以下の必要な依存関係があることを確認します。
ヒント
Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 最新バージョンの Git、JDK、Maven、Azure CLI など、一般的な Azure ツールがプレインストールされています。 Azure サブスクリプションにログインしている場合は、shell.azure.com から Azure Cloud Shell を起動します。 Azure Cloud Shell の詳細については、ドキュメントを参照してください
Azure CLI 拡張機能をインストールする
次のコマンドを使用して、Azure CLI 用の Azure Spring Apps 拡張機能をインストールします
az extension add --name spring
Azure CLI を使用してサービス インスタンスをプロビジョニングする
Azure CLI にサインインし、アクティブなサブスクリプションを選択します。
az login
az account list -o table
az account set --subscription <subscription-id>
Azure Spring Apps でサービスを格納するリソース グループを作成します。 Azure リソース グループの詳細についてはこちらをご覧ください。
az group create --location eastus --name <resource-group-name>
次のコマンドを実行して、Azure Spring Apps のインスタンスをプロビジョニングします。 Azure Spring Apps のサービスの名前を準備します。 名前は 4 から 32 文字で、小文字、数字、およびハイフンのみを使用できます。 サービス名の最初の文字は英字でなければならず、最後の文字は英字または数字でなければなりません。
az spring create --resource-group <resource-group-name> --name <resource-name>
サービス インスタンスのデプロイには約 5 分かかります。
次のコマンドを使用して、既定のリソース グループ名と Azure Spring Apps インスタンス名を設定します。
az config set defaults.group=<service-group-name>
az config set defaults.spring=<service-instance-name>
Azure Spring Apps でアプリケーションを作成する
次のコマンドで、自分のサブスクリプションに Azure Spring Apps でアプリケーションを作成します。 それにより、アプリケーションをアップロードできる空のサービスが作成されます。
az spring app create --name <app-name>
Spring Boot アプリケーションをデプロイする
ビルド済みの JAR から、あるいは Gradle または Maven リポジトリからアプリケーションをデプロイできます。 ケースごとに次の手順を行います。
ビルド済みの JAR をデプロイする
ローカル コンピューター上にビルドされた JAR からデプロイするには、ビルドによって fat-JAR が生成されることを確認します。
アクティブなデプロイに fat-JAR をデプロイするには
az spring app deploy --name <app-name> --artifact-path <path-to-fat-JAR>
特定のデプロイに fat-JAR をデプロイするには
az spring app deployment create --app <app-name> \
--name <deployment-name> \
--artifact-path <path-to-fat-JAR>
ソース コードからのデプロイ
Azure Spring Apps では、kpack を使用してプロジェクトをビルドします。 Azure CLI を使用してソース コードをアップロードし、kpack を使用してプロジェクトをビルドして、ターゲット アプリケーションにデプロイすることができます。
警告
このプロジェクトでは、target
(Maven デプロイの場合) または build/libs
(Gradle デプロイの場合) の MANIFEST.MF
に main-class
エントリがある JAR ファイルを生成するのは 1 つだけにする必要があります。 main-class
のエントリを持つ複数の JAR ファイルを使用すると、デプロイが失敗します。
単一モジュールの Maven/Gradle プロジェクトの場合:
cd <path-to-maven-or-gradle-source-root>
az spring app deploy --name <app-name> --source-path
複数のモジュールを含む Maven/Gradle プロジェクトの場合は、モジュールごとに以下を繰り返します。
cd <path-to-maven-or-gradle-source-root>
az spring app deploy --name <app-name> --source-path \
--target-module <relative-path-to-module>
デプロイ ログの表示
次のコマンドを使用して、kpack ビルド ログを確認します。
az spring app show-deploy-log --name <app-name>
Note
kpack ログには、そのデプロイが kpack を使用してソースからビルドされた場合にのみ、最新のデプロイが表示されます。
パブリック エンドポイントをアプリケーションに割り当てる
- [アプリ] ペインを開いて、ご利用のサービス インスタンス用のアプリを表示します。
- アプリケーションを選んで、その [概要] ページを表示します。
- [Assign endpoint] (エンドポイントの割り当て) を選び、アプリケーションにパブリック エンドポイントを割り当てます。 このプロセスには数分かかることがあります。
- [概要] ページの URL をコピーし、ブラウザーに貼り付け、実行中のアプリケーションを表示します。
次のステップ
クイックスタート: ログ、メトリック、トレースを使用した Azure Spring Apps の監視
その他のサンプルを GitHub で入手できます (Azure Spring Apps のサンプル)。