Ansible for AWS - Gestione del cloud semplificata



Questo blog di Ansible for AWS parla di come avere un vantaggio nell'utilizzo di Ansibe con AWS, dimostrando l'automazione della creazione e del provisioning di un'istanza EC2.

Le aziende hanno investito molto tempo e denaro nello sviluppo e nell'installazione di software per migliorare le loro operazioni. L'introduzione al cloud computing ha offerto alla loro attività l'accesso al software su Internet come servizio che si è rivelato più efficiente e sicuro. Integrare uno strumento di automazione IT come Ansible che fornirà e gestirà facilmente la tua infrastruttura cloud come AWS è come vincere il jackpot. Ed è di questo che parleremo in questo blog di Ansible per AWS.

Diario:





Se desideri padroneggiare DevOps, ' ovviamente sarebbe la tua opzione preferita.

Perché le aziende migrano al cloud?

Come accennato in precedenza, Could Computing consente alle aziende di accedere a server come software su Internet. Per essere più chiari, il Cloud Computing è come collegarsi a una rete elettrica centrale invece di generare la propria energia. Il cloud è diventato la nuova normalità e questo finisce per risparmiare molto tempo e denaro. Diamo uno sguardo ad alcuni vantaggi del motivo per cui le aziende migrano al cloud.



1. Flessibilità:

La crescita del business non è mai statica. I servizi basati su cloud sono adatti per esigenze aziendali in crescita e fluttuanti. Una funzionalità per aumentare e ridurre la distribuzione in base ai requisiti lo rende molto flessibile.

2. Ripristino di emergenza:

Ogni azienda avrebbe dovuto investire nel ripristino di emergenza. Ogni azienda di fortuna finisce per investire molto nel ripristino di emergenza. Le startup e le aziende a basso budget non hanno i soldi e le competenze necessarie per questo e non sono in grado di avere una caratteristica di ripristino di emergenza funzionale adeguata. Cloud fornisce soluzioni di ripristino di emergenza per i clienti per sviluppare piani robusti ed economici.

3. Aggiornamenti software automatici:

Come già sai, il cloud è il servizio fornito da Internet e quindi tutti i server sono fuori dalla tua portata o meglio non dal tuo mal di testa. I fornitori si prendono cura di loro, il che include l'aggiornamento quando richiesto e l'esecuzione di controlli di sicurezza regolari. Anche in questo caso si finisce per risparmiare molto tempo e denaro.



4. Costi ridotti:

Creare un data center da zero può diventare costoso. L'esecuzione e la manutenzione si aggiungono alle spese. Hai bisogno della tecnologia giusta, dell'hardware giusto, del personale giusto con la giusta conoscenza ed esperienza, il che per me suona come un sacco di lavoro. Inoltre, non molto promettente, ci sono un milione di modi in cui questo potrebbe andare storto. La migrazione al cloud ti offre questo vantaggio.

5. Scalabilità:

Il modo tradizionale di pianificare una crescita inaspettata consiste nell'acquistare e conservare server, storage e licenze aggiuntivi. Potrebbero essere necessari anni prima di utilizzarli effettivamente. Le piattaforme cloud ti consentono di aumentare queste risorse come quando necessario. Questo ridimensionamento dinamico si adatta perfettamente a una crescita imprevedibile.

6. Sicurezza dei dati:

La maggior parte delle volte, è meglio mantenere i dati sul cloud anziché archiviarli su un dispositivo fisico come laptop o dischi rigidi. Ci sono alte probabilità che questi dispositivi fisici vengano rubati o distrutti. Il cloud ti consente di rimuovere i dati in remoto o di trasferirli su un altro server assicurandoti che i dati rimangano intatti e al sicuro.

7. Maggiore collaborazione:

L'utilizzo di piattaforme cloud consente al team di accedere, modificare e condividere documenti sempre e ovunque. Sono in grado di lavorare insieme aumentando così l'efficienza. Ciò fornisce anche aggiornamenti in tempo reale e trasparenti.

Caratteristiche Ansible

Ansible ha alcune caratteristiche uniche e quando tali funzionalità collaborano con Amazon Web Services, lascia un segno. Diamo un'occhiata a queste incredibili funzionalità:

  1. Ansible si basa su un'architettura senza agenti, a differenza di Chef e Puppet
  2. Ansible accede al suo host tramite SSH, il che rende la comunicazione tra server e host un gioco da ragazzi
  3. Non è necessaria alcuna infrastruttura di sicurezza personalizzata
  4. La configurazione di playbook e moduli è semplicissima poiché segue il formato YAML
  5. Ha una vasta gamma di moduli per i suoi clienti
  6. Consente la gestione completa della configurazione, l'orchestrazione e la capacità di distribuzione
  7. Ansible Vault mantiene i segreti al sicuro

Perché utilizzare Ansible per AWS?

Ora che abbiamo esaminato i vantaggi dell'utilizzo di una piattaforma cloud come AWS e le caratteristiche uniche di Ansible, diamo uno sguardo alla magia creata dall'integrazione di queste due leggende.

1. Cloud come gruppo di servizi

Il cloud non è solo un gruppo di server nel data center di qualcun altro, ma molto di più. Te ne renderai conto una volta che avrai implementato i tuoi servizi su di esso. Sono disponibili molti servizi che consentono di distribuire e scalare rapidamente le applicazioni. L'automazione Ansible ti aiuta a gestire il tuo ambiente AWS come un gruppo di servizi anziché utilizzarli come un gruppo di server.

2. Moduli Ansible che supportano AWS

Ansible viene utilizzato per definire, distribuire e gestire un'ampia varietà di servizi. Gli ambienti AWS più complicati possono essere forniti molto facilmente utilizzando un playbook. La caratteristica migliore è che crei una connessione server-host, quindi esegui il playbook su un solo sistema ed esegui il provisioning di più altri sistemi con un'opzione per aumentare e diminuire secondo i requisiti.

Ansible ha centinaia di moduli che supportano AWS e alcuni di essi includono:

  • Gruppi di scalabilità automatica
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Elastic Cloud Compute (EC2)
  • Identity Access Manager (IAM)
  • Lambda
  • Servizio database relazionale (RDS)
  • Route53
  • Gruppi di sicurezza
  • Servizio di archiviazione semplice (S3)
  • Virtual Private Cloud (VPC)
  • E molti altri

3. Inventario dinamico

In un ambiente di sviluppo, gli host continuano a girare e spegnersi con requisiti aziendali diversi. In tal caso, l'utilizzo dell'inventario statico potrebbe non essere sufficiente. Tali situazioni richiedono l'utilizzo dell'inventario dinamico. Ciò ti consente di mappare gli host in base ai gruppi forniti dagli script di inventario, a differenza del normale inventario che ti obbliga a mappare gli host manualmente, il che è molto noioso.

4. Automazione sicura

Supponi di avere una squadra di 5 persone e ognuna di loro ha due subordinati che non sono completamente qualificati. Non vorresti dare loro accesso completo all'intero processo di distribuzione. È allora che ti rendi conto della necessità di limitare l'autorizzazione.

Ansible Tower offre questa funzione per limitare le autorizzazioni. Quindi, fondamentalmente, hai scelto chi può fare cosa, il che rende più facile moderare.Inoltre, Ansible Tower crittografa le credenziali e altri dati sensibili e si concede solo ai subordinati l'accesso alle risorse pertinenti limitando il loro accesso a quelle irrilevanti.

Demo: automatizza il provisioning di un'istanza EC2 utilizzando Ansible

In questa sezione demo, mostrerò come Ansible supporta AWS mostrando come automatizzare l'avvio e il provisioning di un'istanza EC2. Iniziamo.

Passo 1 :

Installa Ansible sul tuo nodo server e crea una connessione SSH tra il tuo server e i nodi client su AWS. In questo caso, ho creato due istanze EC2, un server su cui è installato Ansible e l'altro è il client.

Passo 2:

Ora assicurati di aver installato tutti i requisiti. Secondo la documentazione, questi sono i seguenti requisiti:

  • Python> = 2.6
  • votazione

Installa python usando il seguente comando:

$ sudo apt install python

Installa boto usando il seguente comando:

$ sudo apt install python-pip
$ pip installa boto

Boto è un'interfaccia Python per l'utilizzo dei servizi Web Amazon. Dovrai importarlo utilizzando il seguente comando:

$ python
$ pulsante di importazione
$ exit ()

boto - Ansible For AWS - Edureka

Passaggio 3:

Devi configurare il tuo AWS. Usa il seguente comando per lo stesso:

$ aws configure

E aggiungi l'ID della chiave di accesso AWS, la chiave segreta e la regione predefinita (che è facoltativa).

Passaggio 4:

Scrivi un playbook per avviare ed eseguire il provisioning di un'istanza EC2.

$ sudo vi /etc/ansible/launch.yml

--- - name: crea un'istanza ec2 hosts: web gather_facts: false vars: region: us-east-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 keypair: priyajdm attività: - name: crea un'istanza ec2 ec2: aws_access_key : '********************' aws_secret_key: '************************ **************** 'key_name:' {{keypair}} 'group: launch-wizard-26 instance_type:' {{instance_type}} 'image:' {{ami}} 'wait: true region:' {{region}} 'count: 1 vpc_subnet_id: subnet-02f498e16fd56c277 assign_public_ip: yes register: ec2

È buona norma sapere cosa fa il codice prima di eseguirlo effettivamente. Lascia che ti spieghi questo playbook per una migliore comprensione.

Nome: Può essere letteralmente qualsiasi cosa. Una buona pratica è mantenere un nome che fornisca una descrizione di base dell'attività che esegue.

Ospite: Indica il nome dell'elenco host su cui deve essere eseguito il playbook. Nel mio caso è ragnatela .

gather_facts: Questo parametro indica ad Ansible di raccogliere tutti i fatti, le variabili e gli altri dati rilevanti per riferimento futuro. Nel nostro caso, l'abbiamo impostato su false perché non possiamo raccogliere dati (indirizzo IP, nome host, ecc.).

di chi: Questa sezione definisce e inizializza tutte le variabili che utilizzeremo in questo playbook. Abbiamo quattro variabili qui:

  • regione definisce la regione in cui deve essere visualizzata l'istanza EC2
  • instance_type definisce il tipo di istanza che stiamo cercando di visualizzare. Nel nostro caso, stiamo usando t2.micro
  • quale definisce l'AMI dell'istanza che stiamo cercando di visualizzare

  • coppia di chiavi definisce la coppia di chiavi che utilizzeremo per visualizzare l'istanza

ec2: Questo è un modulo fornito da Ansible utilizzato per avviare o terminare un'istanza EC2.

Questo modulo ha alcuni parametri che utilizzeremo per specificare altre funzionalità dell'istanza EC2 che stiamo cercando di avviare.

  • Iniziamo citando l'ID della chiave di accesso AWS e la chiave segreta utilizzando i parametri aws_access_key e aws-secret_key .
  • nome_chiave: passare la variabile che definisce la coppia di chiavi utilizzata qui
  • gruppo: menzionare il nome del gruppo di sicurezza. Questo definisce le regole di sicurezza dell'istanza EC2 che stiamo cercando di visualizzare
  • instance_type: passare la variabile che definisce il tipo di istanza che stiamo utilizzando qui
  • Immagine: passare la variabile che definisce l'AMI dell'immagine che stiamo cercando di avviare
  • aspettare: Ha un valore booleano vero o falso. Se true, attende che l'istanza raggiunga lo stato desiderato prima di tornare
  • regione: passare la variabile che definisce la regione in cui deve essere creata un'istanza EC2.
  • contare: Questo parametro specifica il numero di istanze che devono essere create. In questo caso, ne ho menzionato solo uno, ma questo dipende dalle tue esigenze.
  • vpc_subnet_id: passare l'ID della sottorete in cui si desidera creare l'istanza
  • assign_public_ip: Questo parametro ha un valore booleano. Se è vero come nel nostro caso, all'istanza verrà assegnato un IP pubblico durante il provisioning all'interno di VPC.

Passaggio 5:

Ora che hai capito ogni riga del playbook, andiamo avanti ed eseguiamola. Usa il seguente comando:

$ ansible-playbook /etc/ansible/launch.yml


Dopo aver eseguito il playbook, vedrai un'istanza in fase di creazione.


hadoop admin vs hadoop developer

E TADA! Hai automatizzato con successo il provisioning di un'istanza EC2. Allo stesso modo puoi anche scrivere un playbook per arrestare l'istanza EC2.

Questo ci porta alla fine del blog Ansible For AWS. Se trovi utile questo articolo, controlla il ' offerto da Edureka. Copre tutti gli strumenti che hanno reso efficiente il settore IT.