

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# App Mesh のトラブルシューティングのベストプラクティス
<a name="troubleshooting-best-practices"></a>

**重要**  
サポート終了通知: 2026 年 9 月 30 日、 AWS はサポートを終了します AWS App Mesh。2026 年 9 月 30 日以降、 AWS App Mesh コンソールまたは AWS App Mesh リソースにアクセスできなくなります。詳細については、このブログ記事[「 から Amazon ECS Service Connect AWS App Mesh への移行](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)」を参照してください。

このトピックのベストプラクティスに従って、App Mesh を使用する際の問題をトラブルシューティングするようお勧めします。

## Envoy プロキシ管理インターフェイスを有効にする
<a name="ts-bp-enable-proxy-admin-interface"></a>

Envoy プロキシには、設定と統計の検出、および Connection Draining などのその他の管理機能を実行するために使用できる管理インターフェイスが付属しています。詳細については、Envoy ドキュメント「[管理インターフェイス](https://www.envoyproxy.io/docs/envoy/latest/operations/admin)」を参照してください。

マネージド [Envoy イメージ](envoy.md) を使用する場合、管理エンドポイントは、デフォルトでポート 9901 が有効化されています。[App Mesh 設定のトラブルシューティング](troubleshooting-setup.md) の例では、管理エンドポイント URL は、`http://my-app.default.svc.cluster.local:9901/` のように表示されます。

**注記**  
管理エンドポイントは、パブリックインターネットに公開されることはありません。さらに、`ENVOY_ADMIN_ACCESS_LOG_FILE` 環境変数によって、デフォルトで `/tmp/envoy_admin_access.log` に設定されている管理エンドポイントログをモニタリングするようお勧めします 

## メトリクスオフロードの Envoy dogStatsD 統合を有効にする
<a name="ts-bp-enable-envoy-statsd-integration"></a>

Envoy プロキシは、OSI レイヤー 4 およびレイヤー 7 のトラフィックおよび内部プロセスのヘルスの統計情報をオフロードするように設定できます。このトピックでは、CloudWatch メトリクスや Prometheus などのシンクにメトリクスをオフロードせずにこれらの統計を使用する方法を説明します。これらの統計をすべてのアプリケーションの一元管理された場所に配置すると、問題の診断と動作の迅速な確認に役立ちます。詳細については、「[Amazon CloudWatch メトリクスの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)」と [Prometheus ドキュメント](https://prometheus.io/docs/introduction/overview/)を参照してください。

DogStatsD メトリクスの設定は、[dogStatsD 変数](envoy-config.md#envoy-dogstatsd-config) で定義されているパラメータを設定することで実行できます。DogStatsD の詳細については、[DogStatSD](https://docs.datadoghq.com/developers/dogstatsd/?tab=hostagent) ドキュメントを参照してください。 AWS CloudWatch メトリクスへのメトリクスオフロードのデモンストレーションは、GitHub の [App Mesh with Amazon ECS の基本ウォークスルー](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-ecs-basics)で確認できます。

## アクセスログの有効化
<a name="ts-bp-enable-access-logs"></a>

[仮想ノード](virtual_nodes.md) と [仮想ゲートウェイ](virtual_gateways.md) でアクセスログを有効にして、アプリケーション間のトラフィックの推移の詳細を確認するようお勧めします。詳細については、Envoy ドキュメントに記載の「[アクセスログ](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/access_logging)」を参照してください。ログには、OSI レイヤー 4 およびレイヤー 7 のトラフィック動作に関する詳細情報が表示されます。Envoy のデフォルトのフォーマットを使用すると、[CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)で、アクセスログを分析できます。次の構文解析ステートメントを使用します。

```
parse @message "[*] \"* * *\" * * * * * * * * * * *" as StartTime, Method, Path, Protocol, ResponseCode, ResponseFlags, BytesReceived, BytesSent, DurationMillis, UpstreamServiceTimeMillis, ForwardedFor, UserAgent, RequestId, Authority, UpstreamHost
```

## 本番稼働前の環境で、Envoy デバッグログを有効にする
<a name="ts-bp-enable-envoy-debug-logging"></a>

本番稼働前の環境では、Envoy プロキシのログレベルを `debug` に設定するようお勧めします。デバッグログは、関連する App Mesh 設定を本番稼働環境に移行する前に、問題を特定する役に立ちます。

[Envoy イメージ](envoy.md)使用している場合、ログレベルを `ENVOY_LOG_LEVEL` 環境変数で `debug` に設定できます。

**注記**  
本番稼働環境での `debug` レベルの使用はお勧めしていません。レベルを `debug` に設定すると、ログが増加し、[CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) などのソリューションにオフロードされるログのパフォーマンスと全体的なコストに影響を与える可能性があります。

Envoys のデフォルトのフォーマットを使用すると、[CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) でプロセスログを、次の解析ステートメントを使用して分析できます。

```
parse @message "[*][*][*][*] [*] *" as Time, Thread, Level, Name, Source, Message
```

## App Mesh コントロールプレーンで Envoy プロキシ接続を監視する
<a name="ts-bp-monitor-envoy-proxy-connectivity-state"></a>

Envoy メトリクス `control_plane.connected_state` を監視し、Envoy プロキシが App Mesh コントロールプレーンと通信して動的設定リソースを取得しているかを確認することをお勧めします。詳細については、「[Management Server](https://www.envoyproxy.io/docs/envoy/latest/configuration/overview/mgmt_server.html)」を参照してください。