Amazon web services CloudWatch代理不';无法识别IAM角色的存在
我正在尝试在附加IAM角色的RedHat实例上使用CloudWatch日志代理。该角色具有对CloudWatch的完全访问权限。我按照以下说明安装并设置了代理: 尽管IAM角色肯定已附加到实例,但我仍在/var/log/awslogs.log中看到这条消息: NoCredentialsError:找不到凭据 当我运行aws配置列表时,我可以看到IAM角色的详细信息Amazon web services CloudWatch代理不';无法识别IAM角色的存在,amazon-web-services,amazon-iam,amazon-cloudwatch,amazon-cloudwatchlogs,Amazon Web Services,Amazon Iam,Amazon Cloudwatch,Amazon Cloudwatchlogs,我正在尝试在附加IAM角色的RedHat实例上使用CloudWatch日志代理。该角色具有对CloudWatch的完全访问权限。我按照以下说明安装并设置了代理: 尽管IAM角色肯定已附加到实例,但我仍在/var/log/awslogs.log中看到这条消息: NoCredentialsError:找不到凭据 当我运行aws配置列表时,我可以看到IAM角色的详细信息 Name Value Type Locati
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ******************** iam-role
secret_key ******************** iam-role
region us-east-1 config-file ~/.aws/config
那么为什么CloudWatch logs代理找不到并使用IAM角色呢?所以在我的头撞了很多墙之后,我终于明白了我的问题所在。我正在使用代理使CloudWatch代理能够与CloudWatch通信,但我忘记将
NO_proxy=169.254.169.254
添加到/var/awslogs/etc/proxy.conf
。因此,当代理试图查询元数据以获取有关IAM角色的信息时,它试图通过代理获取该信息。在中添加NO_代理后,它工作正常。安装代理时,在提示输入凭据时是否按ENTER键<代码>如果使用IAM角色,请按Enter键。否则,请输入您的AWS访问密钥ID。检查/var/awslogs/etc/AWS.conf
。如果它有aws\u access\u key\u id
和aws\u secret\u access\u key
的条目,请删除它们,然后重新启动代理。当它请求访问和密钥时,我按了Enter键/var/awslogs/etc/aws.conf
不包含aws\u access\u key\u id
或aws\u secret\u access\u key
。为了清晰起见,编辑了这篇文章。这也解决了我的问题。谢谢
[plugins]
cwlogs = cwlogs
[default]
region = us-east-1