Azure Spring Apps Basic または Standard プランのインスタンスを Enterprise プランに移行する
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 に移行する」を参照してください。
この記事の適用対象:✅ Basic/Standard ✅ Enterprise
この記事では、Basic または Standard プランの既存のアプリケーションを Enterprise プランに移行する方法について説明します。 Basic または Standard プランから Enterpriseプランに移行すると、VMware Tanzu コンポーネントがオープンソース ソフトウェア (OSS) Spring Cloud コンポーネントに置き換わり、より多くの機能サポートが提供されます。
この記事では、移行方法の例として Pet Clinic サンプル アプリを使用します。
前提条件
- Azure サブスクリプション。 サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Azure CLI バージョン 2.45.0 以上。
- Azure Spring Apps Enterprise プランの拡張機能。 次のコマンドを使用して、以前のバージョンを削除し、最新の Enterprise プランの拡張機能をインストールします。 以前に
spring-cloud
拡張機能をインストールした場合は、構成とバージョンの不一致を回避するためにそれをアンインストールします。az extension add --upgrade --name spring az extension remove --name spring-cloud
- Git.
サービス インスタンスをプロビジョニングする
Azure Spring Apps Enterprise プランでは、VMware Tanzu コンポーネントが OSS Spring Cloud コンポーネントに置き換わり、より多くの機能がサポートされます。 Tanzu コンポーネントは、必要に応じてオンデマンドで有効にします。 Azure Spring Apps サービス インスタンスを作成する前に、必要なコンポーネントを有効にする必要があります。
Note
Tanzu コンポーネントを使用するには、Azure Spring Apps サービス インスタンスをプロビジョニングする際に有効にする必要があります。 現在は、プロビジョニング後に有効にすることはできません。
Azure Spring Apps サービス インスタンスをプロビジョニングするには、次の手順を使用します。
Azure Portalを開きます。
上部の検索ボックスで Azure Spring Apps を検索します。
その結果から [Azure Spring Apps] を選択し、[作成] を選択します。
[Azure Spring Apps の作成] ページで、インスタンスの [サブスクリプション]、[リソース グループ]、[名前] を設定します。
[サービスの詳細] の [プラン] で、[変更] を選択します。
[プランの選択] ページで、テーブルの [エンタープライズ] 行を選択し、[選択] を選択します。
[Azure Spring Apps の作成] ページに戻り、[ご契約条件] を選択して、Azure Marketplace の Enterprise プラン オファリングの法的条件とプライバシーに関する声明に同意します。
[次へ: VMware Tanzu の設定] を選択します。
[VMWare Tanzu の設定] タブで、一覧をスクロールして Tanzu コンポーネントを確認します。 新しいコンポーネントは既定で有効になっています。
Note
プロビジョニング フェーズ中に使用または有効にする Tanzu コンポーネントを慎重に検討してください。 Azure Spring Apps インスタンスをプロビジョニングした後は、Tanzu コンポーネントを有効または無効にすることはできません。
[Application Insights] タブを選択し、[Application Insights を有効にする] を選択します。 以下の設定を確認します。
- [Application Insights を有効にする] を選択する必要があります。
- 既存の Application Insights インスタンスを選択するか、新しい Application Insights インスタンスを作成します。
- 0 から 100 の範囲で [サンプリング レート] を入力するか、既定値の 10 を使用します。
Azure Spring Apps インスタンスをプロビジョニングした後で Application Insights を有効にすることもできます。 Application Insights の価格の詳細については、「Azure Monitor ログのコストの計算とオプション」の「Application Insights の課金」セクションを参照してください。
Note
Azure Spring Apps と統合すると、Application Insights の使用に対して料金が発生します。
[確認と作成] を選択し、検証が完了するまで待機し、その後 [作成] を選択してサービス インスタンスのプロビジョニングを開始します。
リソースのプロビジョニングが完了するまでに約 5 分かかります。
アプリを作成して構成する
アプリの作成手順は、Standard プランと同じです。
次のコマンドを使用して、Azure CLI の既定値を設定します。 プレースホルダーは必ず、独自の値で置き換えてください。
az config set defaults.group=<resource-group-name> az config set defaults.spring=<Azure-Spring-Apps-service-instance-name>
次のコマンドを使用して、PetClinic の 2 つのコア アプリケーションである
api-gateway
とcustomers-service
を作成します。az spring app create --name api-gateway --instance-count 1 --memory 2Gi --assign-endpoint az spring app create --name customers-service --instance-count 1 --memory 2Gi
外部構成用の Application Configuration Service を使用する
分散システム内にある外部化された構成の場合、マネージド Spring Cloud Config Server (OSS) は Basic プランと Standard プランでのみ利用可能です。 Enterprise プランでは、Application Configuration Service for Tanzu によって同様の機能がアプリに提供されます。 次の表では、OSS 構成サーバーと Application Configuration Service の使用方法の違いについて説明します。
コンポーネント | サポート プラン | Enabled | アプリへのバインド | プロファイル |
---|---|---|---|---|
Spring Cloud Config Server | Basic/Standard | 常に有効。 | 自動バインド | アプリのソース コードで構成。 |
Application Configuration Service for Tanzu | Enterprise | オンデマンドで有効化。 | 手動バインド | Azure Spring Apps のデプロイで config-file-pattern として提供。 |
OSS 構成サーバーのクライアント/サーバー モードとは異なり、Application Configuration Service によって、Kubernetes ネイティブ ConfigMap
を使用して構成が管理されます。これは、バックエンド Git リポジトリで定義されているプロパティから設定されます。 Application Configuration Service を使用してもアプリのソース コード内に構成されたアクティブ プロファイルは適切な構成に一致しないため、明示的な構成 config-file-pattern
を Azure Spring Apps のデプロイ レベルで指定する必要があります。
Application Configuration Service for Tanzu を構成する
一元化された構成サービスとして Application Configuration Service for Tanzu を使用するには、次の手順に従います。
Azure Spring Apps Enterprise インスタンスのナビゲーション ウィンドウで [Application Configuration Service] を選択します。 実行状態と、Application Configuration Service for Tanzu に割り当てられているリソースを表示します。
[設定] を選択し、[リポジトリ] のフォームに入力して、次の情報を含む新しいエントリを追加します。
- 名前:
default
- パターン:
api-gateway,customers-service
- URI:
https://github.com/Azure-Samples/spring-petclinic-microservices-config
- ラベル:
master
- 名前:
ターゲット URI へのアクセスを検証するには、[検証] を選択します。
検証が正常に完了したら、[適用] を選択して構成設定を更新します。
アプリケーションを Application Configuration Service for Tanzu にバインドする
Git バックエンドで Application Configuration Service for Tanzu を使用する場合は、アプリを Application Configuration Service for Tanzu にバインドする必要があります。 アプリをバインドしたら、アプリで使用するパターンを構成する必要があります。 次の手順に従って、アプリのパターンをバインドして構成します。
次の手順を実行して、Application Configuration Service for VMware Tanzu にアプリをバインドします。
詳細については、「Application Configuration Service for Tanzu を使用する」を参照してください。
Service Registry for Tanzu を使用する
Service Registry は、財産的価値のある VMware Tanzu コンポーネントの 1 つです。 これにより、マイクロサービス ベースのアーキテクチャの主要な概念の 1 つであるサービス検出パターンの実装がアプリに提供されます。 Enterprise プランでは、Service Registry for Tanzu がサービス レジストリを提供し、アプリのサポートを検出します。 Managed Spring Cloud Eureka は Basic プランと Standard プランでのみ使用でき、Enterprise プランでは使用できません。
コンポーネント | Standard プラン | Enterprise プラン |
---|---|---|
サービス レジストリ | OSS eureka 自動的にバインドされる (常に挿入) 常にプロビジョニングされる |
Service Registry for Tanzu アプリへの手動バインドが必要 オンデマンドで有効にする |
アプリケーションを Tanzu Service Registry にバインドする
Application Configuration Service for VMware Tanzu にアプリをバインドするには、次の手順を実行してください。
Note
バインドとバインド解除の状態を変更したときは、アプリを再起動または再デプロイして変更を有効にする必要があります。
詳細については、「Tanzu Service Registry を使用する」を参照してください。
アプリケーションをビルドしてデプロイする
Enterprise プランでは、Tanzu Build Service を使用してアプリをビルドします。 これは、ソース コードや zip ファイルなどの成果物からデプロイするポリグロット アプリなど、多くの機能を提供しています。
Tanzu Build Service を使用するには、ビルド タスクとビルダーで使用するリソースを指定する必要があります。 ビルド環境を設定する --build-env
パラメーターを指定することもできます。
アプリが Application Configuration Service for Tanzu にバインドされている場合は、追加の引数 —config-file-pattern
を指定する必要があります。
詳細については、「Tanzu Build Service を使用する」を参照してください。
アプリケーションをローカルでビルドする
ローカルでビルドするには、次の手順を使用します。
次のコマンドを使用して、サンプル アプリ リポジトリを Azure アカウントに複製し、ディレクトリを変更して、プロジェクトをビルドします。
git clone -b enterprise https://github.com/azure-samples/spring-petclinic-microservices cd spring-petclinic-microservices mvn clean package -DskipTests
プロジェクトのコンパイルには数分かかる場合があります。 完了すると、サービスごとの JAR ファイルがそれぞれのフォルダーに作成されます。
次のコマンドを使用して、前の手順でビルドした JAR ファイルをデプロイします。
az spring app deploy \ --name api-gateway \ --artifact-path spring-petclinic-api-gateway/target/spring-petclinic-api-gateway-2.3.6.jar \ --config-file-patterns api-gateway az spring app deploy \ --name customers-service \ --artifact-path spring-petclinic-customers-service/target/spring-petclinic-customers-service-2.3.6.jar \ --config-file-patterns customers-service
次のコマンドを使用して、デプロイ後のアプリケーションの状態を照会します。
az spring app list --output table
次の例のような出力が表示されます。
Name Location ResourceGroup Public Url Production Deployment Provisioning State CPU Memory Running Instance Registered Instance Persistent Storage Bind Service Registry Bind Application Configuration Service -------------------- ---------- --------------- --------------------------------------------------------- ----------------------- -------------------- ----- -------- ------------------ --------------------- -------------------- ----------------------- ---------------------------------------- api-gateway eastus <resource group> https://<service_name>-api-gateway.asc-test.net default Succeeded 1 2Gi 1/1 1/1 - True True customers-service eastus <resource group> default Succeeded 1 2Gi 1/1 1/1 - True True
Application Insights を使用する
Azure Spring Apps Enterprise プランでは、ビルドパック バインドを使用して、Application Insights を、インプロセス エージェントではなく、ApplicationInsights
型に統合します。 詳細については、「APM 統合と CA 証明書を構成する方法」を参照してください。
次の表に、プランで使用できる APM プロバイダーの一覧を示します。
Standard プラン | Enterprise プラン |
---|---|
Application Insight New Relic Dynatrace AppDynamics |
Application Insight New Relic Dynatrace AppDynamics Elastic APM |
Application Insights の現在の設定を確認または更新するには、次の手順を使用します。