

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

# ログ記録
<a name="envoy-logs"></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)」を参照してください。

仮想ノードおよび仮想ゲートウェイを作成する場合、Envoy アクセスログを設定するオプションを使用できます。コンソールでは、これは、仮想ノードと仮想ゲートウェイの作成または編集ワークフローの **[ログ記録]** セクションに表示されます。

![HTTP アクセスログパスフィールドは /dev/stdout に設定され、ログの取り込みに関する情報が記載されています。](http://docs.aws.amazon.com/ja_jp/app-mesh/latest/userguide/images/logging.png)


前の図は、Envoy アクセスログの `/dev/stdout` のログ記録パスを示しています。

`format` には、`json` または `text` の 2 つの形式の**いずれか**とパターンを指定します。`json` はキーペアを受け取って JSON 構造に変換してから Envoy に渡します。**

次のコードブロックは、 AWS CLIで使用できる JSON 表現を示しています。

```
      "logging": { 
         "accessLog": { 
            "file": { 
               "path": "{{/dev/stdout}}",
                "format" : { 
                    // Exactly one of json or text should be specified
                    "json": [ // json will be implemented with key pairs
                        {
                            "key": "string",
                            "value": "string"
                        }
                    ]
                    "text": "string" //e.g. "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n"
                }
            }
         }
      }
```

**重要**  
入力パターンが Envoy で有効であることを確認してください。有効でない場合、Envoy は更新を拒否し、最新の変更を `error state` に保存します。

Envoy アクセスログを `/dev/stdout` に送信すると、それらは Envoy コンテナログと混合されます。`awslogs` などの標準の Docker ログドライバーを使用して、CloudWatch Logsなどのログストレージや処理サービスにそれらをエクスポートできます。詳細については、「Amazon ECS デベロッパーガイド」の「[awslogs ログドライバーを使用する](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html)」を参照してください。Envoy アクセスログのみをエクスポート (他の Envoy コンテナログを無視する) するには、`ENVOY_LOG_LEVEL` に `off` を設定します。フォーマット文字列 `%REQ_WITHOUT_QUERY(X?Y):Z%` を含めることで、クエリ文字列なしのリクエストを記録できます。例については、「[`ReqWithoutQuery` Formatter](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/formatter/req_without_query/v3/req_without_query.proto)」を参照してください。詳細については、Envoy ドキュメントの「[アクセスのログ記録](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/access_log.html)」を参照してください。

**Kubernetes でのアクセスログの有効化**  
[Kubernetes の App Mesh コントローラー](https://docs.aws.amazon.com/app-mesh/latest/userguide/mesh-k8s-integration.html)を使用している場合、次の例に示すように、仮想ノードの仕様にログ記録の設定を追加することで、アクセスログを使用して仮想ノードを設定できます。

```
---
apiVersion: appmesh.k8s.aws/v1beta2
kind: VirtualNode
metadata:
  name: {{virtual-node-name}}
  namespace: {{namespace}}
spec:
  listeners:
    - portMapping:
        port: 9080
        protocol: http
  serviceDiscovery:
    dns:
      hostName: {{hostname}}
  logging:
    accessLog:
      file:
        path: "/dev/stdout"
```

クラスターには、Fluentd などのログを収集するためのログフォワーダが必要です。詳細については、「[CloudWatch Logs へログを送信する DaemonSet として Fluentd を設定する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs.html)」を参照してください。

Envoy は、そのフィルターから `stdout` へのさまざまなデバッグログの書き込みもします。これらのログは、App Mesh との通信とサービス間のトラフィックの両方に関するインサイトを得るために役立ちます。特定のログ記録レベルは、`ENVOY_LOG_LEVEL` 環境変数を使用して設定できます。例えば、次のテキストは、Envoy が特定の HTTP リクエストで一致したクラスターを示すデバッグログの例からのものです。

```
[debug][router] [source/common/router/router.cc:434] [C4][S17419808847192030829] cluster 'cds_ingress_howto-http2-mesh_color_client_http_8080' match for URL '/ping'
```

## FireLens と Cloudwatch
<a name="firelens-cloudwatch-logging"></a>

[Firelens](https://aws.amazon.com/about-aws/whats-new/2019/11/aws-launches-firelens-log-router-for-amazon-ecs-and-aws-fargate/#:~:text=FireLens%20is%20a%20container%20log,for%20log%20analytics%20and%20storage.&text=This%20means%20you%20can%20use,your%20own%20Fluentd%20output%20plugin.) は、Amazon ECS および のログを収集するために使用できるコンテナログルーターです AWS Fargate。Firelens の使用例は、[AWS サンプルリポジトリ](https://github.com/aws-samples/amazon-ecs-firelens-examples)にあります。

CloudWatch を使用して、ログ情報とメトリクスを収集できます。CloudWatch の詳細については、App Mesh ドキュメントの「[エクスポートされるメトリクス](https://docs.aws.amazon.com/app-mesh/latest/userguide/metrics.html#cloudwatch)」セクションを参照してください。