X-Amzn-Trace-Id をログ記録して、Application Load Balancer とウェブサーバーからのリクエストをトレースするにはどうすればよいですか?
Elastic Load Balancing で Application Load Balancer によってリクエストが処理されると、トレース情報が X-Amzn-Trace-Id ヘッダーに追加されます。例:
X-Amzn-Trace-Id: Root=1-67891233-abcdef012345678912345678
記録したこの一意の識別子を使用して、ロードバランサーの問題をトラブルシューティングすることができます。たとえば、短い間に同じクライアントから同様のリクエストを多数受け取った場合に、X-Amzn-Trace-Id ヘッダーを使用して識別することができます。スタックに多数のレイヤーが存在する場合は、X-Amzn-Trace-Id ヘッダーを使用して、すべてのレイヤー間で一意のリクエストを追跡することもできます。
X-Amzn-Trace-Id ヘッダーを記録するには、一般的なウェブサーバー設定 (Apache、Tomcat、NGINX、または IIS) 向けの次のステップを使用します。
Apache
1. Apache 設定ファイル (Amazon Linux では /etc/httpd/conf/httpd.conf) を任意のテキストエディタで開きます。
2. LogFormat セクションで、次のようにオプション %{X-Amzn-Trace-Id}i を追加します。
LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Amzn-Trace-Id}i\"" combined
3. Apache サービスを再起動して、次のように変更を適用します。
sudo service apache restart
Tomcat
1. Tomcat 設定ファイル (Amazon Linux では /etc/tomcat7/server.xml) を任意のテキストエディタで開きます。
2. org.apache.catalina.valves.AccessLogValve クラスで、次のようにオプション %{X-Amzn-Trace-Id}i を追加します。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b %{X-Amzn-Trace-Id}i" />
3. Tomcat サービスを再起動して、次のように変更を適用します。
sudo service tomcat7 restart
NGINX
1. NGINX 設定ファイル (Amazon Linux では /etc/nginx/nginx.conf) を任意のテキストエディタで開きます。
2. log_format セクションで、次のようにオプション $http_x_amzn_trace_id を追加します。
log_format main '"$http_x_forwarded_for" $remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_amzn_trace_id"';
3. Apache サービスを再起動して、次のように変更を適用します。
sudo service nginx restart
インターネットインフォメーションサービス (IIS)
1. IIS Manager を開きます。
2. サーバーの名前を選択します。
3. [Logging] を選択します。
4. [Select Fields (フィールドの選択)] を選択します。
5. [Add Field (フィールドの追加)] を選択します。
6. ダイアログボックスの [フィールド名] に、「X-Amzn-Trace-Id」と入力します。[ソースタイプ] に「リクエストヘッダー」と入力します。[送信元] に「X-Amzn-Trace-Id」と入力します。
7. [適用] を選択して変更を適用します。
サポートが必要ですか? AWS サポートセンターをご覧ください。
公開日: 2018 年 11 月 07 日