Azure Spring Apps 上の Java
注: Azure Spring Apps は Azure Spring Cloud サービスの新名称です。
このチュートリアルでは、Visual Studio Code で Java Web アプリケーションを作成する方法について説明します。Java ワークロード向けに構築されたフルマネージドのマイクロサービスプラットフォームである Azure Spring Apps 上で、Java Web アプリをローカルで実行、デバッグ、編集する方法を学習します。
シナリオ
ここでは、シンプルな 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 ビルドツールがインストールされている必要があります。まだインストールしていない場合は、まずこれらのツールをインストールしてください。
Extension Pack for Java をダウンロードしてインストールします。
注: このチュートリアルを完了するには、
JAVA_HOME
環境変数を JDK のインストール場所に設定する必要があります。
Apache Maven バージョン 3 以降をダウンロードする
ローカル開発環境に Apache Maven をインストールする
Spring Boot アプリのダウンロードとテスト
Spring Boot Getting Started サンプルプロジェクトをローカルマシンにクローンします。Git リポジトリをクローンするには、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) で Git: クローン コマンドを使用します。リモートリポジトリの URL として https://github.com/spring-guides/gs-spring-boot.git
を貼り付け、ローカルリポジトリを配置する親ディレクトリを決定します。その後、フォルダーに移動して code .
と入力することにより、VS Code でクローンされたリポジトリ内の complete
フォルダーを開きます。
注: 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 Extension Pack for Java をインストールするように求められます。指示に従い、インストール後に VS Code をリロードします。
Extension Pack for Java をインストールすると、プロジェクトが自動的にビルドされます (ビルドには数分かかる場合があります)。VS Code 内でアプリケーションを実行するには、F5 キーを押して、Java 環境を選択します。Java Debug 拡張機能は、プロジェクトの .vscode
フォルダーの下にデバッグ構成ファイル launch.json
を生成します。VS Code ステータスバーでビルドの進行状況を確認でき、すべてが完了すると、最終的なアクティブなデバッグ構成が表示されます。
VS Code がアプリケーションを起動する方法の詳細については、「デバッグ」の「起動構成」を参照してください。F5 キーをもう一度押して、デバッガーを起動します。
Web ブラウザーを使用して http://localhost: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 Account 拡張機能 (Spring Cloud 拡張機能と一緒に依存関係としてインストールされます) を使用します。Azure サブスクリプションでサインインする必要があります。
Azure サブスクリプションをお持ちでない場合は、無料の Azure アカウントにサインアップできます。
Azure にサインインするには、コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) から Azure: サインイン を実行します。または、SPRING APPS エクスプローラーで [Azure にサインイン...] をクリックして、Azure アカウントにサインインできます。
Azure Spring Apps でアプリを作成する
Azure アカウントにサインインし、Visual Studio Code でアプリを開いたら、アクティビティバーの Azure アイコンを選択して Azure エクスプローラーを開くと、Azure Spring Apps パネルが表示されます。
-
サブスクリプションを右クリックし、ポータルでサービスを作成 を選択します。Azure Portal で次の手順を完了して、Azure Spring Apps サービスインスタンスを作成します。
-
サービスインスタンスが作成されたら、Azure エクスプローラーを更新して、新しいサービスインスタンスを表示します。サービスインスタンスを右クリックし、アプリの作成 を選択します。アプリ名を入力し、Java バージョンを選択して、Enter キーを押して作成を開始します。アプリは数分で準備完了になります。
アプリをビルドしてデプロイする
コマンドプロンプトまたはターミナルウィンドウを開き、Maven コマンドを使用してプロジェクトをビルドできます。ビルドにより、target
ディレクトリに新しい war
または jar
アーティファクトが生成されます。
mvn clean package
-
Azure エクスプローラーでアプリを右クリックし、デプロイ を選択して、プロンプトが表示されたらビルド済みの Jar ファイルを選択します。
-
右下のデプロイステータスを確認できます。完了したら、パブリックエンドポイントにアクセス を選択して Azure で実行中のアプリをテストし、パブリックエンドポイントを割り当てるように求められたら [はい] を選択します。Spring Boot Fat Jar のみがサポートされていることに注意してください。Azure Spring Apps のアプリの詳細を参照してください。
アプリをスケールする
-
[スケール設定] の [インスタンス数] を右クリックし、[編集] を選択すると、アプリを簡単にスケールできます。「2」と入力し、Enter キーを押してアプリをスケールします。
アプリケーションログをストリーミングする
-
[アプリインスタンス] ノードを展開し、ログを表示するインスタンスを右クリックして、[ログのストリーミングを開始] を選択します。
-
Visual Studio Code の出力ウィンドウが開き、ログストリームへの接続が確立されます。
次のステップ
- マイクロサービスを使用した Azure Spring Apps のさらに強力な機能をご覧ください。
- Java デバッグ機能の詳細については、「Java デバッグチュートリアル」をお読みください。