Java on Azure Spring Apps
注: Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。
このチュートリアルでは、Visual Studio Code を使用して Java Web アプリケーションを作成する方法を示します。Java Web アプリをローカルで実行、デバッグ、編集し、Java ワークロード用に構築された完全に管理されたマイクロサービス プラットフォームである Azure Spring Apps にデプロイする方法を学びます。
シナリオ
簡単な Spring Boot Getting Started Web アプリを Azure Spring Apps にデプロイします。
Azure Spring Apps を使用すると、コードを変更することなく、Spring Boot マイクロサービス アプリケーションを Azure に簡単にデプロイできます。このサービスは Spring Apps アプリケーションのインフラストラクチャを管理するため、開発者はコードに集中できます。その他の利点は次のとおりです。
- 既存の Spring アプリを効率的に移行し、クラウドのスケーリングとコストを管理します。
- Spring Apps パターンでアプリを最新化し、俊敏性とデリバリー速度を向上させます。
- 複雑なインフラストラクチャなしで、クラウド規模で Java を実行し、利用率を高めます。
- コンテナ化の依存関係なしで迅速に開発およびデプロイします。
- 本番ワークロードを効率的かつ容易に監視します。
はじめる前に
このサンプルを実行してデプロイする前に、ローカル開発環境に Java SE Development Kit (JDK) バージョン 11 以降と Apache Maven ビルドツールがインストールされている必要があります。まだインストールしていない場合は、まずこれらのツールをインストールしてください。
Java 用拡張機能パックをダウンロードしてインストールします。
注: このチュートリアルを完了するには、
JAVA_HOME
環境変数を JDK のインストール場所に設定する必要があります。
Apache Maven バージョン 3 以降をダウンロードする
ローカル開発環境に Apache Maven をインストールする
Spring Boot アプリをダウンロードしてテストする
Spring Boot Getting Started サンプルプロジェクトをローカルマシンにクローンします。Git リポジトリは、コマンド パレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) の Git: Clone コマンドでクローンできます。リモートリポジトリの URL として https://github.com/spring-guides/gs-spring-boot.git
を貼り付け、ローカルリポジトリを配置する親ディレクトリを決定します。その後、クローンしたリポジトリ内の complete
フォルダーに移動し、code .
と入力して、VS Code でそのフォルダーを開きます。
注: Visual Studio Code は https://vscode.dokyumento.jp から、Git は https://git.dokyumento.jp からインストールできます。
VS Code 内から、complete
フォルダー内の任意の Java ファイルを開きます (例: src\main\java\hello\Application.java
)。VS Code 用の Java 言語拡張機能がインストールされていない場合は、Microsoft の Java 用拡張機能パックをインストールするよう促されます。指示に従い、インストール後に VS Code を再起動してください。
Java 用拡張機能パックをインストールすると、プロジェクトが自動的にビルドされます (ビルドには数分かかる場合があります)。F5 を押して Java 環境を選択すると、VS Code 内でアプリケーションを実行できます。Java Debug 拡張機能は、プロジェクトの .vscode
フォルダーの下にデバッグ構成ファイル launch.json
を生成します。VS Code のステータスバーでビルドの進行状況を確認でき、すべてが完了すると、最終的なアクティブなデバッグ構成が表示されます。
VS Code がアプリケーションを起動する方法の詳細については、デバッグ 起動構成を参照してください。デバッガーを起動するには、もう一度 F5 を押します。
Web ブラウザを使用して https://:8080 にアクセスして、Web アプリをテストします。「Greetings from Spring Boot!」というメッセージが表示されるはずです。
変更を加える
では、HelloController.java
を編集して、「Greetings from Spring Boot!」を「Hello World」のような別のものに変更してみましょう。VS Code は Java の優れた編集エクスペリエンスを提供します。VS Code の編集およびコードナビゲーション機能については、「コードの編集とナビゲーション」を参照してください。
エディター上部の再起動ボタンを選択してアプリを再起動し、ブラウザをリロードして結果を確認します。
アプリケーションをデバッグする
アプリケーションのソースコードにブレークポイント (F9) を設定し、ブラウザをリロードしてブレークポイントにヒットさせます。
VS Code での Java デバッグの詳細については、「Java デバッグ」を参照してください。
おめでとうございます。最初の Spring Boot Web アプリがローカルで実行されました。クラウドでホストする方法を学ぶために読み進めてください。
Azure Spring Apps へのデプロイ
Java Web アプリケーションを構築し、ローカルで実行しました。次に、Visual Studio Code から Azure Spring Apps にデプロイして実行する方法を学びます。
Azure Spring Apps 拡張機能をインストールする
Azure Spring Apps 拡張機能は、Azure Spring Apps の作成、管理、デプロイに使用され、主な機能は次のとおりです。
- Azure Spring Apps でアプリを作成/表示/削除する
- Jar をアプリにデプロイする
- パブリック/プライベートエンドポイントでアプリにアクセスする
- アプリを開始、停止、再起動する
- アプリをスケールイン/アウト、スケールアップ/ダウンする
- 環境変数や JVM オプションなどのアプリケーション設定を構成する
- アプリからログをストリーミングする
Azure Spring Apps 拡張機能をインストールするには、拡張機能ビュー (⇧⌘X (Windows, Linux Ctrl+Shift+X)) を開き、azure spring apps
を検索して結果をフィルタリングします。Microsoft の Azure Spring Apps 拡張機能を選択します。コマンドラインエクスペリエンスについては、Azure CLI を使用した Azure Spring Apps クイックスタートも参照できます。
Azure サブスクリプションにサインインする
デプロイプロセスでは、Azure アカウント拡張機能 (Spring Cloud 拡張機能と共に依存関係としてインストールされます) が使用され、Azure サブスクリプションでサインインする必要があります。
Azure サブスクリプションをお持ちでない場合は、無料の Azure アカウントにサインアップできます。
Azure にサインインするには、コマンド パレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) から Azure: Sign In を実行します。または、SPRING APPS エクスプローラーで Sign in to Azure... をクリックして Azure アカウントにサインインすることもできます。
Azure Spring Apps でアプリを作成する
Azure アカウントにサインインし、Visual Studio Code でアプリを開いたら、アクティビティバーの Azure アイコンを選択して Azure Explorer を開き、Azure Spring Apps パネルが表示されます。
-
サブスクリプションを右クリックし、ポータルでサービスを作成を選択します。Azure Portal で次の手順を完了して、Azure Spring Apps サービスインスタンスを作成します。
-
サービスインスタンスが作成されたら、Azure Explorer を更新して新しいサービスインスタンスを表示します。サービスインスタンスを右クリックし、アプリを作成を選択します。アプリ名を入力し、Java バージョンを選択し、Enter を押して作成を開始します。アプリは数分で準備が整います。
アプリをビルドしてデプロイする
コマンドプロンプトまたはターミナルウィンドウを開き、Maven コマンドを使用してプロジェクトをビルドできます。ビルドにより、target
ディレクトリに新しい war
または jar
アーティファクトが生成されます。
mvn clean package
-
Azure Explorer でアプリを右クリックし、デプロイを選択し、プロンプトが表示されたらビルド済みの Jar ファイルを選択します。
-
デプロイの状態は右下で確認できます。完了したら、パブリック エンドポイントにアクセスを選択して Azure で実行されているアプリをテストし、パブリック エンドポイントの割り当てを求められたら はい を選択します。Spring Boot fat Jar のみがサポートされており、Azure Spring Apps のアプリの詳細についてはこちらをご覧ください。
アプリをスケーリングする
-
スケーリング設定の下のインスタンス数を右クリックし、編集を選択することで、アプリを簡単にスケーリングできます。「2」と入力してEnterを押し、アプリをスケーリングします。
アプリケーションログをストリーミングする
-
アプリインスタンスノードを展開し、ログを表示したいインスタンスを右クリックして、ログストリーミングを開始を選択します。
-
Visual Studio Code の出力ウィンドウが開き、ログストリームへの接続が表示されます。
次のステップ
- マイクロサービスを備えた Azure Spring Apps のより強力な機能を探索してください。
- Java デバッグ機能の詳細については、Java デバッグ チュートリアルをお読みください。