如何为 ECS 任务定义创建日志记录?

Nir*_*jan 6 python amazon-ecs amazon-cloudwatch aws-cdk

您好,我正在开发 AWS CDK。我正在尝试为我的任务定义创建日志记录。我有下面的代码。

logDetail = logs.LogGroup(
    self,
    "MerchWebServicesLogGroup",
    log_group_name="/projects/merchwebserviceslog/apiservices",
    retention=logs.RetentionDays.SIX_MONTHS,
    removal_policy=core.RemovalPolicy.DESTROY,
)

task_definition = ecs.Ec2TaskDefinition(
    self, "TaskDef", execution_role=MWSECSTaskExecutionRole
)


container = task_definition.add_container(
    "mw-service",
    image=ecs.ContainerImage.from_registry(
        "187628286232.dkr.ecr.ap-southeast-2.amazonaws.com/location/location-service:latest"
    ),
    memory_limit_mib=3072,
    logging=ecs.LogDriver.aws_logs(stream_prefix="mwservice", log_group=logDetail),
)
Run Code Online (Sandbox Code Playgroud)

这会产生

logDetail = logs.LogGroup(
    self,
    "MerchWebServicesLogGroup",
    log_group_name="/projects/merchwebserviceslog/apiservices",
    retention=logs.RetentionDays.SIX_MONTHS,
    removal_policy=core.RemovalPolicy.DESTROY,
)

task_definition = ecs.Ec2TaskDefinition(
    self, "TaskDef", execution_role=MWSECSTaskExecutionRole
)


container = task_definition.add_container(
    "mw-service",
    image=ecs.ContainerImage.from_registry(
        "187628286232.dkr.ecr.ap-southeast-2.amazonaws.com/location/location-service:latest"
    ),
    memory_limit_mib=3072,
    logging=ecs.LogDriver.aws_logs(stream_prefix="mwservice", log_group=logDetail),
)
Run Code Online (Sandbox Code Playgroud)

问题是我不想传递任何 ExecutionRoleArn。如果我传递执行角色 ARN,我开始收到错误“无法初始化日志记录驱动程序”,否则工作正常。有人可以帮我解决这个问题吗?任何帮助,将不胜感激。谢谢