タスク定義でFireLensの設定の指定 - Amazon Elastic Container Service

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

タスク定義でFireLensの設定の指定

FireLens でカスタムログルーティングを使用するには、タスク定義で以下を指定する必要があります。

  • FireLens 設定を含むログルーターコンテナ。コンテナは essential とマークすることが推奨されます。

  • awsfirelens ログドライバーを指定するログ設定を含む 1 つ以上のアプリケーションコンテナ。

  • タスクでログをルーティングするために必要なアクセス許可を含むタスク IAM ロール の、Amazon リソースネーム (ARN)。IAM タスクロールのアクセス許可の詳細については、「必要な IAM 許可」を参照してください。

を使用して新しいタスク定義を作成する場合 AWS Management Console、ログルーターコンテナを簡単に追加できる統合セクションがあります FireLens。詳細については、「コンソールを使用したタスク定義の作成」を参照してください。

Amazon ECS はログ設定を変換し、Fluentd または Fluent Bit 出力設定を生成します。出力設定は、/fluent-bit/etc/fluent-bit.conf (Fluent Bit) および /fluentd/etc/fluent.conf (Fluentd) のログルーティングコンテナにマウントされます。

重要

FireLens は、ポート 24224 でリッスンします。したがって、タスクの外部から FireLens ログルーターにアクセスできないようにするには、タスクが使用するセキュリティグループ24224でポート の進入トラフィックを許可しないでください。awsvpc ネットワークモードを使用する場合、このセキュリティグループは、タスクに関連付けられたセキュリティグループです。host ネットワークモードを使用する場合、これはタスクをホストする Amazon EC2 インスタンスに関連付けられているセキュリティグループです。bridge ネットワークモードを使用するタスクの場合、ポート 24224 を使用するポートマッピングを作成しないでください。

デフォルトでは、Amazon ECS は、ログのソースを識別するのに役立つ追加のフィールドをログエントリに追加します。

  • ecs_cluster - タスクが所属するクラスターの名前。

  • ecs_task_arn – コンテナが属しているタスクの完全な Amazon リソースネーム (ARN)。

  • ecs_task_definition - タスクが使用しているタスク定義名とリビジョン。

  • ec2_instance_id - コンテナがホストされている Amazon EC2 インスタンス ID。このフィールドは、EC2 起動タイプを使用するタスクでのみ有効です。

メタデータを使用しないfalse場合はenable-ecs-log-metadata、 を に設定できます。

次のタスク定義の例では、Fluent Bit を使用してログを CloudWatch Logs にルーティングするログルーターコンテナを定義します。また、ログ設定を使用してログを Amazon Data Firehose にルーティングし、イベントのバッファリングに使用されるメモリを 2 MiB に設定するアプリケーションコンテナも定義します。

注記

タスク定義の例については、「」の「Amazon ECS FireLens の例」を参照してください GitHub。

{ "family": "firelens-example-firehose", "taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role", "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:stable", "name": "log_router", "firelensConfiguration": { "type":"fluentbit", "options":{ "enable-ecs-log-metadata":"true" }, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container", "awslogs-region": "us-west-2", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens" } }, "memoryReservation": 50 }, { "essential": true, "image": "httpd", "name": "app", "logConfiguration": { "logDriver": "awsfirelens", "options": { "Name": "firehose", "region": "us-west-2", "delivery_stream": "my-stream", "log-driver-buffer-limit": "2097152" } }, "memoryReservation": 100 } ] }

logConfiguration オブジェクトのオプションとして指定されたキーバリューペアは、Fluentd または Fluent Bit 出力設定の生成に使用されます。Fluent Bit 出力定義のコード例は次のとおりです。

[OUTPUT] Name firehose Match app-firelens* region us-west-2 delivery_stream my-stream
注記

FireLens はmatch設定を管理します。この設定は、タスク定義では指定されません。

カスタム設定ファイルの指定

FireLens で自動的に生成される設定ファイルに加えて、自分でカスタム設定ファイルを指定することもできます。設定ファイルの形式は、使用しているログルーターでネイティブな形式を使用します。詳細については、「Fluentd 設定ファイルの構文」および「Fluent Bit 設定ファイル」を参照してください。

カスタム設定ファイルでは、bridge または awsvpc ネットワークモードを使用するタスクについて、TCP 経由で Fluentd または Fluent Bit の転送入力を設定しないでください。入力設定は FireLens により追加されています。

カスタム設定ファイルを指定するには、FireLens 設定に次のオプションを含める必要があります。

config-file-type

カスタム設定ファイルのソースの場所。使用できるオプションは、s3 または file です。

注記

でホストされているタスクは、 file設定ファイルタイプ AWS Fargate のみをサポートします。

config-file-value

カスタム設定ファイルのソース。s3 設定ファイルタイプを使用する場合、設定ファイルの値は Amazon S3 バケットとファイルの完全な ARN です。file 設定ファイルタイプを使用する場合、設定ファイルのこの値は、コンテナイメージ内、またはそのコンテナにマウントされているボリューム上に存在する設定ファイルへの完全パスです。

重要

カスタム設定ファイルを使用する場合、FireLens が使用するパスとは異なるパスを指定する必要があります。Amazon ECS は Fluent Bit に /fluent-bit/etc/fluent-bit.conf ファイルパスと Fluentd に /fluentd/etc/fluent.conf を指定します。

次の例は、カスタム設定を指定するときに必要な構文を示しています。

重要

Amazon S3 でホストされるカスタム設定ファイルを指定するには、適切なアクセス許可を持つタスク実行 IAM ロールが作成されている必要があります。詳細については、「必要な IAM 許可」を参照してください。

次に、カスタム設定を指定する際に必要な構文を示します。

{ "containerDefinitions":[ { "essential":true, "image":"906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:stable", "name":"log_router", "firelensConfiguration":{ "type":"fluentbit", "options":{ "config-file-type":"s3 | file", "config-file-value":"arn:aws:s3:::mybucket/fluent.conf | filepath" } } } ] }
注記

でホストされているタスクは、 file設定ファイルタイプ AWS Fargate のみをサポートします。