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

Enterprise Distributed Application Service:EDAS アプリケーションの HTTP アクセスおよび RPC 呼び出し失敗のトラブルシューティング

最終更新日:Mar 11, 2026

本ドキュメントでは、Enterprise Distributed Application Service (EDAS) でよく発生する 2 つの問題、HTTP ページのアクセス失敗とリモートプロシージャコール (RPC) サービスの呼び出し失敗について、その診断と解決方法を説明します。

現象

以下の問題のいずれか、または両方が発生します。

  • EDAS アプリケーションのページに HTTP 経由でアクセスできません。

  • アプリケーション間の RPC サービスが応答しません。

HTTP ページのアクセス失敗

考えられる原因

  • クライアントとサーバーホスト間のネットワーク接続の問題。

  • 不適切な HTTP パス構成 (コンテキストパスまたはポートの不一致)。

  • Tomcat に記録されたアプリケーションエラー。

  • Java 仮想マシン (JVM) のパフォーマンスの問題 (スレッドのデッドロック、メモリ枯渇、またはクラスの読み込みの失敗)。

ステップ 1:ネットワーク接続の確認

ご利用のサーバーからページの URL に対して curl または ping を実行し、URL が到達可能であることを確認します。

curl -I http://<your-app-url>:<port>/<context-path>
ping <your-server-host>

期待される結果

  • curl の応答が成功した場合200 OK302 Found などの HTTP ステータスコードは、サーバーが到達可能であることを示します。

    HTTP/1.1 200 OK
    Content-Type: text/html;charset=UTF-8
  • curl の応答が失敗した場合Connection refused または Connection timed out というメッセージは、ネットワークの問題を示します。

    curl: (7) Failed to connect to <your-app-url> port 8080: Connection refused

次のステップ

  • URL が到達不能な場合は、クライアントからサーバーホストへのネットワーク接続を確認します。セキュリティグループルール、ファイアウォール設定、およびルーティング構成を検証してください。次に進む前に、ネットワークの問題を解決する必要があります。

  • URL は到達可能であるにもかかわらず、アプリケーションが正しく応答しない場合は、ステップ 2 に進みます。

ステップ 2:Tomcat ログの確認

Tomcat のインストールディレクトリ /logs にあるログファイルでエラーを確認します。

ls <tomcat-install-dir>/logs/

以下のログファイルを確認してください。

ログファイル内容
catalina.outTomcat サーバーの起動メッセージとランタイムメッセージ
localhost.logアプリケーションレベルのエラーと例外
アプリケーション固有のログアプリケーションからのカスタムログ出力

次のステップ:記録されているすべてのエラーを解決してください。一般的な問題には、依存関係の欠落、サーブレットの初期化の失敗、データベース接続の失敗などがあります。エラーを修正した後、Tomcat を再起動してアクセスを確認します。

ステップ 3:HTTP パス構成の確認

ページの URL に含まれるポート番号とコンテキストパスが、ご利用のアプリケーションの HTTP 構成の値と一致していることを確認します。

設定確認場所
ポートTomcat の server.xml または EDAS アプリケーションの構成8080
コンテキストパスアプリケーションのデプロイ構成/myapp

URL のポート (例:http://host:8080/myapp) が、アプリケーションがリッスンしているポートと一致していることを確認してください。構成されたポートと URL のポートの不一致は、アクセス失敗の一般的な原因です。

ステップ 4:JVM の検査

アプリケーションが実行中であるにもかかわらず応答しない場合は、JVM の状態を確認します。

  1. Java のプロセス ID を取得します。

    ps -ef |grep java

    出力には実行中の Java プロセスが一覧表示されます。ご利用の EDAS アプリケーションのプロセスを特定し、その PID (2 列目) をメモします。

    admin  2083  1  0 09:00 ?  00:05:32 /usr/bin/java -jar /home/admin/app.jar
  2. 次の JVM 診断コマンドを実行します。

    # スレッドダンプを生成して、デッドロックやブロックされたスレッドを確認します
    sudo jstack -F <process-id>
    
    # クラス読み込みの統計を監視します
    sudo jstat -class <process-id> <interval> <count>
    
    # ヒープメモリ使用量を検査します
    jmap -heap <process-id>

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

    プレースホルダー説明
    <process-id>Java プロセス ID (ps -ef |grep java2083
    <interval>サンプリング間隔 (秒またはミリ秒)1000
    <count>収集するサンプル数。継続的に出力する場合は省略します。10

RPC サービスの呼び出し失敗

考えられる原因

  • サービスプロバイダーとサービス利用者が異なるアカウントに属しているか、切断されたネットワーク内にあります。

  • ファイアウォールまたはセキュリティグループルールがサーバーポートをブロックしています。

  • サービスにエラーがあり、サービスリストに登録できません。

  • サーバーとサービスレジストリ間のネットワークに問題があります。

  • サービスに必要な権限がありません。

  • サービス呼び出しがタイムアウトします。

ステップ 1:アカウントとネットワーク接続の確認

以下を確認してください。

  1. RPC 呼び出しを開始するアプリケーションとサービスを提供するアプリケーションの両方が、同じ Alibaba Cloud アカウントに属していること。

  2. 2 つのアプリケーションがネットワーク経由で相互に到達できること。ホスト間で ping または telnet を使用してテストします。

    ping <service-provider-host>

    期待される結果:ping 応答が成功すれば、ネットワーク接続が確認できます。パケットが失われたり、ホストが到達不能であったりする場合は、VPC 構成、ルーティングテーブル、およびネットワーク ACL を確認してください。

ステップ 2:ブロックされたポートの確認

ファイアウォールやセキュリティグループルールが、サービスがリッスンしているポートをブロックしていないことを確認します。

telnet <service-provider-host> <service-port>

期待される結果

  • 接続成功Connected to というメッセージは、ポートがアクセス可能であることを示します。

    Trying <service-provider-host>...
    Connected to <service-provider-host>.
  • 接続失敗Connection refused または Connection timed out というメッセージは、ポートがブロックされていることを示します。

    Trying <service-provider-host>...
    telnet: Unable to connect to remote host: Connection refused

次のステップ:接続に失敗した場合は、セキュリティグループとホストレベルのファイアウォール設定 (iptables または firewalld) を確認してください。インバウンドルールを追加して、サービスポートでのトラフィックを許可します。

ステップ 3:Tomcat アプリケーションログの確認

サービスプロバイダーのホストで Tomcat アプリケーションログのエラーを確認します。

cat <tomcat-install-dir>/logs/catalina.out | grep -i "error\|exception"

EDAS コンソール内のサービスリストにサービスが表示されるまで、すべてのエラーを解決してください。一般的な問題には、Bean の初期化の失敗、構成ファイルの欠落、依存性注入のエラーなどがあります。

ステップ 4:HSF ログの確認

それでもサービスが失敗する場合は、High-speed Service Framework (HSF) のログでエラーコードを検査します。

cat /home/admin/logs/hsf/hsf.log

特定原因とソリューションを見つけるには、HSF エラーコードのリファレンスでエラーコードを検索してください。