X-Amzn-Trace-Id のログを記録して、Application Load Balancer とウェブサーバーからのリクエストをトレースする方法を教えてください。
簡単な説明
Elastic Load Balancing (ELB) では、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 ヘッダーのログを記録するには、一般的な Web サーバーの設定 (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. NGINX サービスを再起動して、次のように変更を適用します。
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. [Apply] (適用) を選択して変更を適用します。
関連情報
Application Load Balancer のリクエストをトレースする
Application Load Balancer のアクセスログ