云观察上的EC2 Docker容器日志

2 人关注

我有一个运行在EC2实例上的容器,我想把我的日志填充到同一区域的CloudWatch。

我正试图使用这个教程。 https://docs.docker.com/config/containers/logging/awslogs/

然而,我遇到了一个与连接超时有关的问题,即使政策允许我的ec2实例连接到云观察,当我试图描述任何东西时,我没有收到任何响应。

你知道如何将我的日志从运行在EC2上的docker容器中获取到cloudwatch?我已经尝试了多个教程,但是没有办法做到这一点。

1 个评论
"连接超时"--你是否在一个私有子网中运行你的实例?它有互联网连接吗?
amazon-web-services
docker
amazon-ec2
amazon-cloudwatch
Ajris
Ajris
发布于 2020-07-03
2 个回答
Tsering_kalden
Tsering_kalden
发布于 2020-07-03
0 人赞同

要创建ECS-CloudWatchLogs IAM策略

1.打开IAM控制台, https://console.aws.amazon.com/iam/。

2.在导航窗格中,选择政策。

3.选择创建策略,JSON。

4.输入以下政策。

"版本"。"2012-10-17", "声明":[ "效果":"允许", "行动":[ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" "资源"。[ "arn:aws:logs : :*" 5.选择审查政策。

6.在审查策略页面,输入ECS-CloudWatchLogs作为名称,并选择创建策略。

要将ECS-CloudWatchLogs策略附加到ecsInstanceRole上

1.打开IAM控制台, https://console.aws.amazon.com/iam/。

2.在导航窗格中,选择角色。

3.选择ecsInstanceRole。如果该角色不存在,请按照Amazon ECS Container Instance IAM Role中的程序来创建该角色。

4.选择权限,附加政策。

5.要缩小要附加的可用策略,对于Filter,输入ECS-CloudWatchLogs。

6.选择ECS-CloudWatchLogs策略,并选择附加策略。

我没有使用ECS。我正在使用EC2,并手动安装docker。
Adiii
Adiii
发布于 2020-07-03
已采纳
0 人赞同

如果实例有正确的权限,你需要在你的docker运行命令中传递以下选项。

docker run -it --log-driver=awslogs --log-opt awslogs-region=us-west-2     --log-opt awslogs-group=myLogGroup --log-opt awslogs-create-group=true  node:alpine