Ich versuche, den CloudWatch-Protokollagenten für eine RedHat-Instanz mit einer angehängten IAM-Rolle zu verwenden. Die Rolle hat vollen Zugriff auf CloudWatch. Ich installiert und der Agent Setup hier die Anweisungen mit:Der CloudWatch-Agent erkennt das Vorhandensein der IAM-Rolle nicht
Auch wenn die IAM Rolle auf jeden Fall auf die Instanz gebunden ist, ich diese Meldung in /var/log/awslogs.log sehe immer wieder:
NoCredentialsError: Unable to locate credentials
Wenn ich aws configure list
ausführen, kann ich die Details für die IAM-Rolle sehen.
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
Hier ist der Inhalt von /var/awslogs/etc/aws.conf
.
[plugins]
cwlogs = cwlogs
[default]
region = us-east-1
Warum kann der CloudWatch-Log-Agent nicht die IAM-Rolle finden und verwenden?
Haben Sie bei der Installation des Agenten die EINGABETASTE gedrückt, wenn Sie nach Anmeldeinformationen gefragt werden? 'Drücken Sie die Eingabetaste, wenn Sie eine IAM-Rolle verwenden. Andernfalls geben Sie Ihre AWS-Zugangsschlüssel-ID ein. – helloV
Überprüfen Sie '/ var/awslogs/etc/aws.conf'. Wenn es Einträge für 'aws_access_key_id' und' aws_secret_access_key' enthält, entfernen Sie diese und starten Sie den Agenten neu. – helloV
Ich drückte die Eingabetaste, als sie nach dem Zugriff und dem geheimen Schlüssel fragte. '/ var/awslogs/etc/aws.conf' enthält keine' aws_access_key_id' oder 'aws_secret_access_key'. Bearbeitete das OP für Klarheit. – jcgrowley