我正在尝试在连接有IAM角色的RedHat实例上使用CloudWatch日志代理。该角色可以完全访问CloudWatch。CloudWatch代理无法识别IAM角色的存在
即使IAM角色肯定是附加到实例,我总是看到在/var/log/awslogs.log此消息:
我在这里使用说明安装和设置代理NoCredentialsError: Unable to locate credentials
当我运行aws configure list
时,可以看到IAM角色的详细信息。
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
这里是/var/awslogs/etc/aws.conf
的内容。
[plugins]
cwlogs = cwlogs
[default]
region = us-east-1
那么为什么CloudWatch日志代理无法找到并使用IAM角色呢?
安装代理时,您是否在提示输入凭据时按ENTER? '如果使用IAM角色,请按Enter键。否则,输入您的AWS访问密钥ID。' – helloV
检查'/ var/awslogs/etc/aws.conf'。如果它包含'aws_access_key_id'和'aws_secret_access_key'的条目,请删除它们,然后重新启动代理。 – helloV
当它询问访问和密钥时,我按下Enter键。 '/ var/awslogs/etc/aws.conf'不包含'aws_access_key_id'或'aws_secret_access_key'。为了清晰起见,编辑了OP。 – jcgrowley