Quindi sto provando a eseguire ansible sulle mie istanze ec2 su aws, per la prima volta su una nuova istanza, ma ogni volta che provo a eseguire una riproduzione non riesco a aggirare questo errore messaggio:msg: nessun gestore era pronto per l'autenticazione. Sono stati controllati 1 gestori. ['HmacAuthV4Handler'] Controlla le tue credenziali
PLAY [localhost]
**************************************************************
TASK: [make one instance]
*****************************************************
failed: [localhost] => {"failed": true} msg: No handler was ready to
authenticate. 1 handlers were checked. ['HmacAuthV4Handler'] Check
your credentials
FATAL: all hosts have already failed -- aborting
PLAY RECAP
********************************************************************
to retry, use: --limit @/home/ubuntu/ans_test.retry
localhost : ok=0 changed=0 unreachable=0
failed=1
Penso che ci possa essere qualcosa di sbagliato con le autorizzazioni nel mio utente e gruppo IAM. Ho dato il mio utente IAM e gruppo ReadOnlyAccess, AdministratorAccess e PowerUserAccess. Ho un ID di accesso e la chiave di accesso segreto che io pongo come variabile d'ambiente con i comandi:
export AWS_ACCESS_KEY_ID='AK123'
export AWS_SECRET_ACCESS_KEY='abc123'
Con 'AK123'and 'abc123' sostituito con il mio id reale e valori chiave. Cos'altro devo fare per far funzionare l'attività ec2 di ansible?
UPDATE:
Ho risolto il problema, credo di non avere una solida conoscenza di quali siano le variabili ambientali. Ho riparato semplicemente impostando il mio aws_access_key e aws_secret_key all'interno del mio compito EC2, di seguito è il mio playbook di lavoro
- hosts: localhost
connection: local
gather_facts: False
tasks:
#this task creates 5 ec2 instances that are all named demo and are copies of the image specified
- name: Provision a set of instances
ec2:
aws_access_key: .....
aws_secret_key: ....
key_name: .....
group: .....
instance_type: t2.micro
image: ......
region: us-east-1
ec2_url: .......
wait: true
exact_count: 5
count_tag:
Name: Demo
instance_tags:
Name: Demo
register: ec2
Credo che ora ho bisogno di iniziare a utilizzare caveau ansible di tenere solo la mia chiave e ID.
Puoi includere il playbook nella tua domanda? – jonatan
Penso che Ansible non manterrà le variabili ambientali durante l'intera riproduzione. Hai provato a impostare le variabili nel comando, come 'command:" export AWS_ACCESS_KEY_ID = 'AK123' && export AWS_SECRET_ACCESS_KEY = 'abc123' && actual command "'? –