4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

テスト環境のKubernetes上で動作するJavaアプリをIntelliJ IDEAでリモートデバッグする方法

Last updated at Posted at 2025-12-19

はじめに

テスト環境のKubernetes(EKS等)上で動作しているJavaアプリケーションをデバッグしたいとき、ローカルのIntelliJ IDEAからリモートデバッグできると便利です。

本記事では、その設定方法と手順の一例を紹介します。

前提条件

  • IntelliJ IDEA がインストールされていること
  • kubectl コマンドが使用可能で、対象のKubernetesクラスタに接続できること
  • デバッグ対象のJavaアプリケーションのソースコードがローカルにあること

1. 事前準備

1.1 IntelliJ IDEAの設定

1. IntelliJ IDEAのメニューバーから 「実行」 > 「構成の編集...」 を選択

image.png

2. 左上の 「+」 ボタンをクリックし、「新規構成の追加」メニューを開き、「リモートJVM デバッグ」 を選択

image.png

3. 以下の設定を行う

  • 名前: 任意の名前(例:k8s-remote-debug
  • ホスト: localhost
  • ポート: 5005(任意のポート番号)
    image.png

4. 「OK」 をクリックして保存

1.2 JVMデバッグオプションの追加

Javaアプリケーションがデバッグ接続を受け入れられるように、JVMオプションを追加します。

起動コマンドを修正しても良いですが、環境変数 JAVA_TOOL_OPTIONS を使用することでも可能です。

spec:
  template:
    spec:
      containers:
        - name: your-app
          env:
            - name: JAVA_TOOL_OPTIONS
              value: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

2. デバッグの実行手順

2.1 Podの起動

設定を反映したDeploymentをapplyしてPodを起動します。

kubectl apply -f your-deployment.yaml

2.2 ポートフォワードの設定

ローカルマシンからPodのデバッグポートにアクセスできるように、ポートフォワードを設定します。

kubectlでポートフォワードを設定する場合
kubectl port-forward -n {namespace名} {pod名} 5005:5005

kubectlでもできますが、IntelliJ IDEAのGUIからポートフォワードを設定することもできます。

1. Kubernetesプラグインを有効にする

2. Kubernetesクラスターに接続し、対象のPodが存在しているNamespaceに変更する

image.png

image.png

3. Podの一覧から対象のPodを選択して「ポートの転送」を実行する

image.png

2.3 IntelliJ IDEAでデバッグ開始

1. デバッグしたい箇所にブレークポイントを設定
2. 右上のドロップダウンから、先ほど設定したリモートデバッグ設定を選択
3. デバッグボタン(虫のアイコン) をクリック
image.png

接続に成功すると、以下の表示となります。
image.png

2.4 動作確認

ブレークポイントを設定した処理が実行されるようにアプリケーションにリクエストを送ると、ブレークポイントで処理が停止します。

注意点

複数Pod環境での注意

Deploymentで複数のPodが起動している場合、リクエストがポートフォワードしていないPodにルーティングされると、ブレークポイントで停止しません。

セキュリティ上の注意

  • 本番環境では絶対にデバッグオプションを追加しないでください
  • デバッグオプションが入っていると、外部から任意のコードを実行される可能性があります
  • テスト環境でも、デバッグ完了後は設定を戻すことを推奨します

まとめ

Kubernetes上のJavaアプリケーションをIntelliJ IDEAでリモートデバッグする手順を紹介しました。

  1. IntelliJ IDEAでRemote JVM Debug設定を作成
  2. K8sマニフェストでJAVA_TOOL_OPTIONSを設定
  3. ポートフォワードを設定
  4. IntelliJ IDEAからデバッグ接続

この方法を使えば、テスト環境で発生する問題を効率的にデバッグできます。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?