2

ECS Fargate ログを Datadog に送信しようとしています。これを行うには、Datadog API_KEY をlogConfigurationオブジェクトのフィールドとして渡す必要があります。API_KEY を保護する必要があるためsecretOptions、オブジェクトのキーを介して AWS Secrets Manager を使用していlogConfigurationます。

私はここにレイアウトされた AWS の手順に従っています。Datadog サイトの完全な手順については、こちらを参照してください。

何らかの理由で、ログが datadog に表示されません。リソースのcontainer_definitionsオブジェクトの下にある私の Terraform コードのログ構成セクションは次のとおりです。aws_ecs_task_definition

"logConfiguration": {
    "logDriver": "awsfirelens",
    "options": {
        "Name": "datadog",
        "Host": "http-intake.logs.datadoghq.com",
        "dd_service": "myservice",
        "dd_source": "mysource",
        "dd_message_key": "log",
        "dd_tags": "env:dev",
        "TLS": "on",
        "provider": "ecs"
    },
    "secretOptions": [{
        "name": "apikey",
        "valueFrom": "arn:aws:secretsmanager:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:secret:mysecret"
                }]
}

apikey を取り出しsecretOptionsて平文で追加すると、datadog コンソールにログが表示されます。

"logConfiguration": {
   "logDriver": "awsfirelens",
   "options": {
       "Name": "datadog",
       "Host": "http-intake.logs.datadoghq.com",
       "dd_service": "myservice",
       "dd_source": "mysource",
       "dd_message_key": "log",
       "dd_tags": "env:dev",
       "TLS": "on",
       "provider": "ecs",
       "apikey": "myapikey"
   }
}

もちろん、平文で API_KEY を送信することはできません。secretOptionsDatadog では機能しませんか? どんな助けでも大歓迎です。

4

1 に答える 1