Ansible è lo strumento di gestione della configurazione più popolare e probabilmente potente. È costruito per facilitare la gestione e la configurazione di host remoti utilizzando una serie di comandi definiti come attività.
Funziona utilizzando moduli sviluppati per attività specifiche come la gestione degli utenti, la gestione dei file, l'installazione e la rimozione di pacchetti software e molti altri.
Questa guida utilizzerà il modulo AWS Ansible per fornire e gestire un'istanza EC2. Inizieremo con le basi della creazione di un account AWS, installando Ansible e infine coprire come lavorare con il modulo ANSIBE AWS.
Cos'è un'istanza EC2?
La prima domanda da affrontare è: cos'è un EC2? Se sei nuovo nel cloud computing e AWS, questo può sembrare nuovo per te.
Amazon Elastic Compute Cloud o Amazon EC2 in breve, è un servizio fornito da Amazon Web Services (AWS) per consentire di creare e gestire le istanze del server sul cloud AWS.
La possibilità di girare server remoti configurati con funzionalità come CPU, memoria, disco, reti, sistema operativo e altro ancora con pochi clic è molto utile. Rimuove la necessità di investire in hardware ed elimina la preoccupazione di cablaggio dei dispositivi.
Le istanze di Amazon EC2 sono uno dei blocchi più fondamentali del cloud computing AWS.
Non ci immergeremo in profondità nel modo in cui funziona o nei modelli di prezzi e configurazione per AWS. Controlla il sito AWS per saperne di più.
Configurazione dell'ambiente
Il primo passo è impostare i nostri ambienti. Avremo bisogno di un account AWS, Ansible e Python per questa guida.
Ti consigliamo di utilizzare l'ultima versione di Ansible e Python.
Installa Ansible
Questo tutorial mostrerà l'installazione e la configurazione di Ansible su un sistema basato su Debian. Controlla i nostri altri tutorial per imparare come installarlo su altre distribuzioni.
Apri il terminale e modifica i repository del software.
sudo vim/etc/apt/fonti.elenco
Aggiungi la seguente voce al file:
deb http: // ppa.trampolino di lancio.Net/Ansible/Ansible/Ubuntu Focal Main
Quindi, eseguire i comandi come mostrato di seguito:
sudo apt-get installa gnupg
sudo apt-key adv-Keyserver Keyserver.Ubuntu.com--recv-keys 93c4a3fd7bb9c367
Sudo Apt-get Aggiornamento
sudo apt-get installa ansible
Una volta installato Ansible, possiamo impostare e configurare Python.
Installa Python3, Python3-PIP
Per installare Python3 e PIP su Debian 11, eseguire i comandi come mostrato:
Sudo Apt-get Aggiornamento
sudo apt-get installa python3.9 Python3 -pip -y
I comandi sopra installeranno Python versione 3.9 e il PIP3 sul tuo sistema.
Installa Boto
Il prossimo passo è installare Boto. Boto è un potente pacchetto Python che fornisce un'interfaccia per interagire con i servizi AWS utilizzando Python.
Per installare l'ultima versione del pacchetto Boto utilizzando PIP come mostrato nel comando seguente:
sudo pip3 installa boto3
Una volta che tutti gli strumenti e i pacchetti sono stati installati correttamente, possiamo creare playbook Ansible per inizializzare un'istanza EC2.
Crea playbook Ansible EC2
Apri il terminale e crea un playbook Ansible che termina con a .Estensione YML. Modifica il file con il tuo editor di testo preferito e aggiungi il playbook come mostrato di seguito:
---
- Nome: Ansible Crea istanza EC2
Host: localhost
Gather_Facts: false
compiti:
- Nome: fornitura di un'istanza EC2
EC2:
Regione: US-East-2
Key-Name: Ansible-EC2-ssh-key
Instance_Type: T2.Micro
Immagine: AM1-123456
Aspetta: sì
Conteggio: 1
Gruppo: Sample_Servers
ASSEGNA_PUBLIC_IP: Sì
Registro: Amazon_EC2
delegate_to: localhost
Crea una coppia di chiavi SSH
Una volta impostato il playbook, crea una coppia di chiavi SSH per accedere all'istanza EC2 una volta fornito. Assicurati di creare una chiave con un nome simile a quello definito nel parametro del nome chiave nel playbook sopra.
ssh -keygen -t rsa -b 4096 -f ~/.ssh/ansible-ec2-ssh-key
Aggiunta di accesso AWS e chiave segreta
Il prossimo passo è aggiungere le nostre credenziali AWS al nostro playbook. Per semplicità, aggiungeremo le credenziali al playbook in formato semplice.
NOTA: non esporre il tuo accesso AWS e la chiave segreta all'interno di un playbook nella vita reale. Prendi in considerazione l'utilizzo di variabili di ambiente o strumenti come Ansible Vault.
---
- Nome: Ansible Crea istanza EC2
Host: localhost
Gather_Facts: false
compiti:
- Nome: fornitura di un'istanza EC2
EC2:
Regione: US-East-2
Key-Name: Ansible-EC2-ssh-key
Instance_Type: T2.Micro
Immagine: AM1-123456
Aspetta: sì
Conteggio: 1The
Gruppo: Sample_Servers
ASSEGNA_PUBLIC_IP: Sì
VPC_SUBNET_ID: impostazione predefinita
AWS_ACCESS_KEY: ************* XXXX
AWS_SECRET_KEY: ***************
Registro: Amazon_EC2
delegate_to: localhost
Quanto sopra mostra il nuovo playbook con le credenziali AWS esposte. Evita questo!!
Una volta che hai il playbook tutto configurato, eseguilo usando il comando:
Ansible-Playbook Create-EC2.YML
Il comando sopra dovrebbe eseguire il playbook sopra e creare un'istanza EC2.
Comprensione del playbook
Comprendiamo ora il playbook fornito negli esempi sopra. Nota, ci concentreremo solo sulla parte EC2 del playbook.
Usando il modulo AWS Ansible, è possibile utilizzare gli argomenti sopra per creare un'istanza EC2.
Chiusura
Questa guida fornisce un tutorial sulla creazione di un'istanza Amazon EC2 utilizzando il modulo ANSIBE AWS.