这是我的任务定义的一部分:
"logConfiguration": {
"logDriver": "awslogs",
"options": {
"awslogs-group": "/ecs/main-frontend-production-php",
"awslogs-region": "us-west-1",
"awslogs-stream-prefix": "ecs",
"awslogs-create-group": "true"
}
},
如果我去在aws控制台中查看任务,它会说日志驱动程序是awslogs,并在我单击得到错误消息There was an error getting log events. The specified log group does not exist.
时立即“查看cloudwatch中的日志”,并且没有日志。
有点不知所措,似乎是这样的:https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_awslogs.html我做对了吗?
现在,我的任务停留在“待处理”中,没有日志可以查找原因。
答案 0 :(得分:0)
这是由于写入CloudWatch日志的权限无效导致的。
您必须为正在使用的角色附加权限。
如果不确定如何执行此操作,请遵循Using CloudWatch Logs with container instances文档。
答案 1 :(得分:0)
导致此错误的可能原因是该错误似乎容器实例能够获取日志组列表。
us-west-1
。/ecs/main-frontend-production-php
,这样您就可以知道由于区域或权限而引起的实际原因。aws logs create-log-group --log-group-name /ecs/main-frontend-production-php --region us-west-1
政策应该看起来像
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
}
]
}
答案 2 :(得分:0)
好吧,我终于想通了。我没有云监视日志的原因是因为没有从ECR中提取图像。我总是觉得“最新”是一些神奇的码头工人标签。显然不是,我必须对它进行最新标记才能找到它。
我认为cloudwatch日志一直可以正常工作,但是无法提取图像,因此没有日志可谈。