Note
Basic、Standard、および Enterprise プランは、2025 年 3 月 17 日に廃止期間に入りました。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
この記事の適用対象:✅ Basic/Standard ❎ Enterprise
この記事では、Spring Cloud Service Registry を使用してアプリケーションを登録する方法について説明します。
サービスの登録と検出は、呼び出すライブ アプリ インスタンスの一覧を維持し、受信要求をルーティングおよび負荷分散するための重要な要件です。 各クライアントを手動で構成するのは時間がかかり、人為的なエラーが発生する可能性があります。 Azure Spring Apps には、この問題を解決するための 2 つのオプションが用意されています。
Kubernetes Service Discovery アプローチを使用して、アプリ間で呼び出しを行います。
Azure Spring Apps では、kubernetes サービス名としてアプリ名を使用して、実行中のすべてのアプリに対応する kubernetes サービスが作成されます。
http(s)://{app name}/pathなどの HTTP/HTTPS 要求でアプリ名を使用して、1 つのアプリから別のアプリへの呼び出しを起動することができます。 このアプローチは、Enterprise プランにも適しています。 詳細については、Kubernetes レジストリのコード サンプルを参照してください。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 を使用してサービスの登録と検出を管理するには、先に、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 とサービス レジストリにアクセスする」を参照してください。