すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:MSE Nacos の永続インスタンスで HTTP や TCP のヘルスチェックが常に異常と報告される理由

最終更新日:Mar 11, 2026

Microservices Engine (MSE) Nacos インスタンスに永続サービスプロバイダーを登録すると、HTTP および TCP のヘルスチェックは、ご利用のインスタンスが正常に実行中であっても、常に「異常」と報告されます。

原因

Nacos では、インスタンスタイプに応じて 2 種類のヘルスチェックモデルが採用されています。

インスタンスタイプパラメーターヘルスチェックの方向動作の仕組み
一時的(デフォルト)ephemeral=trueインスタンス → サーバーサービスインスタンスが Nacos サーバーに対してハートビートを送信します。
永続的ephemeral=falseサーバー → インスタンスNacos サーバーが HTTP または TCP リクエストを送信して、サービスインスタンスに対してサーバー主導のプローブを行います。

MSE Nacos は、お客様のアプリケーションとは分離された独立したネットワーク上で実行されるマネージドサービスです。セキュリティ上の理由から、ネットワーク層が MSE Nacos サーバーからのアウトバウンドリクエストをサービスインスタンスへ送信することをブロックしています。永続インスタンスはサーバー主導のプローブに依存しているため、ヘルスチェックは常にタイムアウトし、「異常」と報告されます。

一時的インスタンスには影響がありません。これは、ヘルスチェックの方向が逆であり、インスタンス側から Nacos サーバーへハートビートを送信するため、ネットワーク層がこれを許可しているためです。

ソリューション:一時的インスタンスへの切り替え

ephemeral パラメーターを true に設定することで、サービスを一時的として登録してください。true はデフォルト値であるため、ephemeral パラメーター自体を完全に削除しても、同じ効果があります。

Open API

curl -d 'serviceName=<your-service-name>' \
  -d 'ip=<your-instance-ip>' \
  -d 'port=<your-instance-port>' \
  -d 'ephemeral=true' \
  -X POST 'http://<nacos-server-address>/nacos/v2/ns/instance'

以下のプレースホルダーを実際の値に置き換えてください。

プレースホルダー説明
<your-service-name>サービス名my-service
<your-instance-ip>サービスインスタンスの IP アドレス192.168.1.100
<your-instance-port>サービスインスタンスのポート8080
<nacos-server-address>MSE Nacos インスタンスのアドレスmse-xxx.nacos.mse.aliyuncs.com:8848

Spring Cloud Alibaba

アプリケーションの構成ファイルに、以下のプロパティを追加してください。

spring.cloud.nacos.discovery.ephemeral=true

構成ファイルで ephemeral を明示的に設定していない場合、デフォルト値はすでに true であるため、変更は不要です。代わりに、明示的に ephemeral=false と設定されている箇所を確認し、その設定を削除または変更してください。