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 に移行する」を参照してください。
この記事の適用対象: ✔️ Standard 従量課金および専用 (プレビュー) ✔️ Basic/Standard ❌ Enterprise
この記事では、Spring Cloud Service Registry を使用してアプリケーションを登録する方法について説明します。
サービスの登録と検出は、呼び出すライブ アプリ インスタンスの一覧を維持し、受信要求をルーティングおよび負荷分散するための重要な要件です。 各クライアントを手動で構成するのは時間がかかり、人為的なエラーが発生する可能性があります。 Azure Spring Apps には、この問題を解決するための 2 つのオプションが用意されています。
Note
Standard 従量課金プランと専用プランでサービス レジストリを使用するには、まずそれを有効にする必要があります。 詳細については、「Azure Spring Apps で Eureka Server を有効または無効にする」を参照してください。
Kubernetes Service Discovery アプローチを使用して、アプリ間で呼び出しを行います。
Azure Spring Apps では、kubernetes サービス名としてアプリ名を使用して、実行中のすべてのアプリに対応する kubernetes サービスが作成されます。
http(s)://{app name}/path
などの HTTP/HTTPS 要求でアプリ名を使用して、1 つのアプリから別のアプリへの呼び出しを起動することができます。 このアプローチは、Enterprise プランにも適しています。 詳細については、Kubernetes レジストリのコード サンプルを参照してください。Note
この方法は、Standard 従量課金と専用 (プレビュー) には適していません。
Azure Spring Apps のマネージド Spring Cloud Service Registry (OSS) を使用します。
構成が完了した後は、Service Registry サーバーによってアプリケーションのサービス登録と検出が制御されます。 Service Registry サーバーは、ライブ アプリ インスタンスのレジストリを維持し、クライアント側の負荷分散を有効にし、DNS に依存せずにクライアントからサービス プロバイダーを分離します。
Steeltoe アプリのサービス登録を設定する方法については、Azure Spring Apps にデプロイするための Java Spring アプリケーションの準備に関するページを参照してください。
Spring Cloud Service Registry を使用してアプリケーションを登録する
アプリケーションで Spring Cloud Service Registry を使用してサービスの登録と検出を管理するには、先に、pom.xml ファイルに spring-cloud-starter-netflix-eureka-client
の依存関係を含めておく必要があります。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
最上位のクラスを更新する
最後に、次の例に示すように、アプリケーションの最上位のクラスに注釈を追加します。
package foo.bar;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication
@EnableEurekaClient
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Spring Cloud Service Registry サーバーのエンドポイントが、アプリケーションに環境変数として挿入されます。 アプリケーションはサービス レジストリ サーバーに登録され、他の依存アプリケーションを検出できます。
Note
変更がサーバーからすべてのアプリケーションに反映されるまでには数分かかる場合があります。
次のステップ
この記事では、Spring Cloud Service Registry を使用してアプリケーションを登録する方法について説明します。 Microsoft Entra のロールベースのアクセス制御 (RBAC) を使用して Spring Cloud Service Registry にアクセスする方法については、「Config Server とサービス レジストリにアクセスする」を参照してください。