😸

helidon-mp デフォルトエンドポイントの制御

に公開

helidon-mp 4系で利用できるデフォルトエンドポイントまとめ

Helidon MP 4.x を使ったマイクロサービス開発において、自動で提供されるデフォルトの管理系エンドポイント(Health、Metrics、OpenAPI)についてまとめました。

本記事は、Helidon MP 4.x を導入した開発者向けのリファレンスとなります。


対象バージョン

  • Helidon MP 4.x(例: 4.0.3, 4.1.0 など)

1. ヘルスチェック /health

Helidon MP では MicroProfile Health に準拠したエンドポイント /health がデフォルトで提供されます。

主な利用例

  • システムの稼働状態の監視
  • コンテナオーケストレーション(例: Kubernetes)の Liveness / Readiness Probe に利用

2. メトリクス /metrics

MicroProfile Metrics に基づいたメトリクス情報が /metrics エンドポイントで取得できます。

主な利用例

  • JVMヒープ使用量、スレッド数、GC回数などの取得
  • アプリケーション固有のカウンター・ゲージの導入も可能

3. OpenAPI /openapi

MicroProfile OpenAPI に準拠し、Helidon MP は /openapi エンドポイントを通じて自動生成された API 仕様(YAML/JSON)を提供します。

主な利用例

  • APIドキュメントの自動生成
  • Swagger UI との連携

4. これらのエンドポイントを無効化するには?

これらのエンドポイントは デフォルトで有効化 されています。
本番環境ではセキュリティの観点から不要なエンドポイントは無効化することを推奨します。

application.yaml を使用する場合

# src/main/resources/application.yaml

health:
  enabled: false

metrics:
  enabled: false

openapi:
  enabled: false

microprofile-config.propertiesを使用する場合

# src/main/resources/META-INF/microprofile-config.properties

health.enabled=false
metrics.enabled=false
openapi.enabled=false

Helidon MP では MicroProfile の各仕様が自然に統合されているため、追加実装なしでエンドポイントが利用可能です。

しかし、本番環境では 情報漏洩防止や攻撃対象縮小のため、必要最小限のエンドポイントだけを有効にすることが重要です。

Discussion