クイックスタート - 初めての Spring Batch アプリケーションを Azure Spring Apps にデプロイする

Note

BasicStandard、および 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 に移行する」を参照してください。

このクイックスタートでは、Spring Batch エフェメラル アプリケーションを Azure Spring Apps にデプロイする方法について説明します。 このサンプル プロジェクトは、Spring Batch サンプル の Football Job から派生したものです。 これは統計読み込みジョブです。 元のサンプルでは、単体テストによってジョブがトリガーされます。 この作り変えられたサンプルでは、FootballJobApplicationmain メソッドによってジョブが開始されます。

この記事の適用対象:❌ Basic または Standard ✔️ Enterprise

システムのアーキテクチャを次の図に示します。

サンプル アプリ アーキテクチャを示す図。

この記事では、Azure Spring Apps にデプロイするための次のオプションについて説明します。

  • Azure portal オプションは、1 回のクリックでリソースを作成してアプリケーションをデプロイできる最も簡単で最速の方法です。 このオプションは、Azure クラウド サービスにアプリケーションをj迅速にデプロイしたい Spring 開発者に適しています。
  • Azure CLI のオプションは、強力なコマンド ライン ツールを使用して、Azure リソースを管理します。 このオプションは、Azure クラウド サービスに精通している Spring 開発者に適しています。

1.前提条件

  • Azure サブスクリプション。 サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
  • Git.
  • ターゲット サブスクリプションで初めて Azure Spring Apps Enterprise プラン インスタンスをデプロイする場合は、「Azure Marketplace の Enterprise プラン」の「要件」セクションを参照してください。

2. Spring プロジェクトを準備する

次のコマンドを使用して、GitHub からサンプル プロジェクトを複製します。

git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git

3. クラウド環境を準備する

このサンプルの実行に必要な主なリソースは、Azure Spring Apps インスタンスです。 このセクションでは、このリソースを作成する手順を示します。

3.1. Azure portal にサインインする

Azure portal に移動し、資格情報を入力してポータルにサインインします。 既定のビューはサービス ダッシュボードです。

3.2. Azure Spring Apps インスタンスを作成する

次の手順を使用して、Azure Spring Apps サービス インスタンスを作成します。

  1. Azure portal の隅にある [リソースの作成] を選択します。

  2. [Compute]>[Azure Spring Apps] を選択します。

  3. [基本] フォームに以下の情報を入力します。

    設定 提案された値 説明
    [サブスクリプション] 自分のサブスクリプション名。 サーバーに使用する Azure サブスクリプション。 複数のサブスクリプションをお持ちの場合は、リソースの課金対象となるサブスクリプションを選択します。
    リソース グループ myresourcegroup 新しいリソース グループ名、またはサブスクリプションの既存のリソース グループ名。
    名前 myasa Azure Spring Apps サービスを識別する一意の名前。 名前の長さは 4 文字から 32 文字で、小文字、数字、およびハイフンのみを使用できます。 サービス名の最初の文字は英字でなければならず、最後の文字は英字または数字でなければなりません。
    プラン Enterprise 価格プラン。これによって、インスタンスに関連付けられるリソースとコストが決まります。
    リージョン ユーザーに最も近いリージョン。 ユーザーに最も近い場所。
    ゾーン冗長 未選択 Azure 可用性ゾーンに Azure Spring Apps サービスを作成するオプション。 この機能は、現在、すべてのリージョンでサポートされているわけではありません。
    ソフトウェア IP プラン 従量課金制 Azure Spring Apps の従量課金制の料金プラン。
    Terms 選択済み Marketplace オファリングに関連付けられている契約チェックボックス。 このチェック ボックスをオンにする必要があります。
    サンプル プロジェクトのデプロイ 未選択 組み込みのサンプル アプリケーションを使うオプション。
  4. Review and Create(確認と作成) を選択して、選択内容を確認します。 次に、[作成] を選択して、Azure Spring Apps インスタンスをプロビジョニングします。

  5. ツール バーの [通知] アイコン (ベル) を選択して、デプロイ プロセスを監視します。 デプロイが完了したら、[ダッシュボードにピン留めする] を選択できます。これにより、このサービスのタイルが、サービスの [概要] ページへのショートカットとして、Azure portal ダッシュボードに作成されます。

    Azure Spring Apps の作成の [通知] ペインが表示されている Azure portal のスクリーンショット。

  6. [リソースに移動] を選択して、[Azure Spring Apps Overview](Azure Spring Apps の概要) ページに移動します。

3.3. サービス レジストリを有効にする

作成した Azure Spring Apps インスタンスに移動し、ナビゲーション ウィンドウで [マネージド コンポーネント] を展開してから、[サービス レジストリ] を選択します。 次に、[概要] ページで [管理] を選択して [管理] ページを開き、[サービス レジストリを有効にする] を選択してから、[適用] を選択します。

[管理] ペインが開いており、[サービス レジストリを有効にする] オプションが強調表示されている [サービス レジストリ] ページを示す Azure portal のスクリーンショット。

3.4. Log Analytics ワークスペースを設定する

ログ内のデータに対するクエリの詳細については、「クイックスタート: Log Analytics ワークスペースを設定する」を参照してください。

4.Azure Spring Apps に football-billboard アプリをデプロイする

次の手順を使用して、アプリをデプロイします。

  1. 作成した Azure Spring Apps インスタンスに移動し、ナビゲーション ウィンドウで [設定] を展開してから、[アプリ] を選択します。

  2. [アプリ] ペインで、[アプリの作成] を選択して [アプリの作成] ページを開きます。

  3. [アプリ名]football-billboard に設定し、[バインド] 列で [サービス レジストリ] を選択してから、[作成] を選択します。

    [アプリ名] および [バインド] フィールドが強調表示された [アプリの作成] ページを示す Azure portal のスクリーンショット。

  4. アプリを作成したら、[アプリのデプロイ] を選択し、アプリをデプロイするための Azure CLI コマンドをコピーします。 次に、Bash ウィンドウを開き、コマンドをコマンド ラインに貼り付け、成果物のパスをシステムの正しい値に置き換えます。 次に、コマンドを実行します。 ビルドとデプロイが成功するまで数分待ちます。 コマンドと出力は、次の例のようになります。

    $ az spring app deploy -s job-demo -g job-demo -n football-billboard --artifact-path target/spring-batch-football-billboard-0.0.1-SNAPSHOT.jar
    This command usually takes minutes to run. Add '--verbose' parameter if needed.
    [1/5] Requesting for upload URL.
    [2/5] Uploading package to blob.
    [3/5] Creating or Updating build 'football-billboard'.
    [4/5] Waiting for building container image to finish. This may take a few minutes.
    
  5. デプロイ後、[アプリ] ペインに戻り、football-billboard アプリを選択します。 概要ページに移動して、[エンドポイントの割り当て] を選択して、アプリのパブリック エンドポイントを公開します。

5.ジョブ サンプルを Azure Spring Apps にデプロイする

このセクションでは、サンプルをデプロイする手順について説明します。

5.1. ジョブを作成して実行する

次の手順を使用して、ジョブを作成して実行します。

  1. [ジョブ] ペインに移動し、[ジョブの作成]を選択します。 ジョブ名を football として入力します。 並列処理、再試行制限、タイムアウトなどのジョブ パラメーターを構成します。 必要に応じて、環境変数とシークレット環境変数を追加します。 確認したら、[作成] を選択します。

    [ジョブ (プレビュー)] ページが表示され、[ジョブの作成] ペインが開かれている、Azure portal のスクリーンショット。

  2. ジョブを作成したら、ナビゲーション ウィンドウで [マネージド コンポーネント] を展開し、[サービス レジストリ] を選択します。 次に、[ジョブのバインド] を選択し、[バインド ジョブ] を選択して football ジョブを選択し、[適用] を選択してバインドします。

    [サービス レジストリ] ページが表示され、[バインド ジョブ] ダイアログ ボックスが開いている Azure portal のスクリーンショット。

  3. ジョブをバインドした後、[ジョブ] ペインに戻り、 [ジョブのデプロイ] を選択してから、ジョブをデプロイするための Azure CLI コマンドをコピーします。 次に、Bash ウィンドウを開き、コマンドをコマンド ラインに貼り付け、成果物のパスをシステムの正しい値に置き換えます。 次に、コマンドを実行します。 ビルドとデプロイが成功するまで数分待ちます。 コマンドと出力は、次の例のようになります。

    $ az spring job deploy -s job-demo -g job-demo -n football --artifact-path target/spring-batch-football-0.0.1-SNAPSHOT-jar-with-dependencies.jar --build-env BP_JVM_VERSION=17
    This command is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
    This command usually takes minutes to run. Add '--verbose' parameter if needed.
    [1/5] Requesting for upload URL.
    [2/5] Uploading package to blob.
    [3/5] Creating or Updating build 'football'.
    [4/5] Waiting for building container image to finish. This may take a few minutes.
    
  4. デプロイ後、ジョブ名を選択して、football ジョブの概要ページを開きます。 [実行] を選択して、タスクの実行を開始します。 環境変数などのさまざまなパラメーターを使用してジョブの各実行をカスタマイズすることも、[実行] を選択して実行をトリガーすることもできます。 ジョブが実行されていることを示すメッセージ。

    [ジョブ (プレビュー)] 概要ページが表示され、[ジョブの実行] ペインが開かれている、Azure portal のスクリーンショット。

6.ジョブの実行結果とビルボード UI を確認する

これで、ジョブの実行にアクセスし、その結果を確認できます。

次の手順に従って、検証します。

  1. [実行] ペインで、ジョブの実行結果を確認します。 数秒待ってから更新し、状態が [完了] になっていることを確認します。 この値は、ジョブの実行が正常に完了したことを意味します。

  2. [ログの表示] を選択して、ジョブ実行のログに対してクエリを実行します。

    [ログ] ページが表示されている Azure portal のスクリーンショット。

  3. ブラウザー ウィンドウでアプリのパブリック エンドポイントを開き、ビルボード UI を表示します。 アプリを開いたままにします。

    サンプル アプリのビルボード UI のスクリーンショット。

  4. football ジョブの概要ページに戻り、[実行] を選択して、実行を再度トリガーします。

  5. 次のスクリーンショットに示されているように、ブラウザーのエンドポイント ページに戻り、[更新] を選択して UI が変更されたのを確認します。

    変更後のサンプル アプリのビルボード UI のスクリーンショット。

7.リソースをクリーンアップする

この記事で作成したリソースは、不要になったら必ず削除してください。 Azure リソース グループを削除した場合、そのリソース グループに含まれたすべてのリソースが対象となります。

次の手順に従って、新しく作成したサービス インスタンスを含むリソース グループ全体を削除します。

  1. Azure Portal で目的のリソース グループを探します。 ナビゲーション メニューで [リソース グループ] を選択し、該当するリソース グループの名前を選択します。

  2. [リソース グループ] ページで [削除] を選択します。 テキスト ボックスに削除を確定するリソース グループの名前を入力し、[削除] を選択します。

8.次のステップ

詳細については、次の記事を参照してください。