Ansible for AWS - Administrere Cloud Made Easy



Denne Ansible for AWS-bloggen snakker om å ha overtaket i å bruke Ansibe med AWS, og demonstrere automatisering av oppretting og klargjøring av en EC2-forekomst.

Bedrifter har investert mye tid og penger på å utvikle og installere programvare for å forbedre driften. Introduksjonen til cloud computing tilbød virksomheten deres å få tilgang til programvare på internett som en tjeneste som viste seg å være mer effektiv og trygg. Å integrere et IT-automatiseringsverktøy som Ansible, som enkelt vil skaffe og administrere skyinfrastrukturen din som AWS, er som å slå jackpotten. Og det er det vi skal snakke om i denne Ansible for AWS-bloggen.

Dagbok:





Hvis du ønsker å mestre DevOps, ' selvfølgelig ville være ditt valg til alternativet.

Hvorfor bedrifter migrerer til skyen?

Som nevnt tidligere lar Could Computing selskaper få tilgang til servere som programvare over internett. For å gjøre det klart er Cloud Computing som å koble til et sentralt strømnett i stedet for å generere din egen kraft. Cloud har blitt den nye normalen, og dette ender med å spare mye tid og penger. La oss se på noen fordeler med hvorfor bedrifter migrerer til skyen.



1. Fleksibilitet:

Forretningsvekst er aldri statisk. Cloud-baserte tjenester er egnet for voksende og svingende forretningsbehov. En funksjon for å skalere opp og redusere distribusjonen din basert på kravet, gjør den veldig fleksibel.

2. Disaster Recovery:

Hver bedrift burde ha investert i katastrofegjenoppretting. Hvert formueselskap ender med å investere mye på katastrofegjenoppretting. Startups og lavbudsjettbedrifter mangler pengene og den nødvendige ferdigheten til dette, og klarer ikke å ha et skikkelig funksjonelt trekk ved katastrofegjenoppretting. Cloud tilbyr løsninger for katastrofegjenoppretting for kundene for å utvikle robuste og kostnadseffektive planer.

3. Automatiske programvareoppdateringer:

Som du allerede vet, er skyen tjenesten som tilbys av internett, og dermed er alle serverne utenfor rekkevidde, eller rettere ikke ikke hodepine. Leverandører tar seg av dem som inkluderer oppdatering når det er nødvendig og kjører regelmessige sikkerhetskontroller. Dette ender igjen med å spare mye tid og penger.



4. Reduserte kostnader:

Å etablere et datasenter fra bunnen av kan bli dyrt. Drift og vedlikehold legger opp til utgiftene. Du trenger riktig teknologi, riktig maskinvare, riktig personale med riktig kunnskap og erfaring som bare høres ut som mye arbeid for meg. Også, ikke veldig lovende, det er en million måter dette kan gå galt på. Å migrere til skyen gir deg dette plusspoenget.

5. Skalerbarhet:

Den tradisjonelle måten å planlegge for uventet vekst er å kjøpe og beholde flere servere, lagring og lisenser. Det kan ta år før du faktisk bruker dem. Cloud-plattformer lar deg skalere opp disse ressursene etter behov. Denne dynamiske skaleringen passer perfekt til uforutsigbar vekst.

6. Datasikkerhet:

For det meste er det bedre å ha dataene dine i skyen for å lagre dem på en fysisk enhet som bærbare datamaskiner eller harddisker. Det er store sjanser for at disse fysiske enhetene blir stjålet eller knust. Cloud lar deg eksternt fjerne dataene eller overføre dem til en annen server, og sørge for at data forblir intakte og trygge.

7. Økt samarbeid:

Ved hjelp av skyplattformer kan teamet få tilgang til, redigere og dele dokumenter når som helst og hvor som helst. De er i stand til å samarbeide og dermed øke effektiviteten. Dette gir også sanntids og gjennomsiktige oppdateringer.

Ansible funksjoner

Ansible har noen unike funksjoner, og når slike funksjoner samarbeider med Amazon Web Services, setter det spor. La oss ta en titt på disse utrolige funksjonene:

  1. Ansible er basert på en agentløs arkitektur, i motsetning til Chef og Puppet
  2. Ansible får tilgang til verten sin gjennom SSH, noe som gjør at kommunikasjonen mellom servere og verter føles som et øyeblikk
  3. Ingen tilpasset sikkerhetsinfrastruktur er nødvendig
  4. Å konfigurere spillbøker og moduler er superenkelt ettersom det følger YAML-format
  5. Har et bredt spekter av moduler for sine kunder
  6. Tillater fullstendig konfigurasjonsadministrasjon, orkestrering og distribusjonsevne
  7. Ansible Vault holder hemmelighetene trygge

Hvorfor bruke Ansible For AWS?

Nå som vi har gått gjennom fordelene ved å bruke en skyplattform som AWS og unike funksjoner i Ansible, la oss ta en titt på magien som er skapt ved å integrere disse to legendene.

1. Cloud As Group of Services

Cloud er ikke bare en gruppe servere på andres datasenter, men mye mer enn det. Du vil innse at når du har distribuert tjenestene dine på den. Det er mange tjenester tilgjengelig som lar deg raskt distribuere og skalere applikasjonene dine. Ansible automatisering hjelper deg med å administrere AWS-miljøet ditt som en gruppe tjenester i stedet for å bruke dem som en gruppe servere.

2. Ansible moduler som støtter AWS

Ansible brukes til å definere, distribuere og administrere et bredt utvalg av tjenester. De fleste kompliserte AWS-miljøer kan tilrettelegges veldig enkelt ved hjelp av en spillbok. Den beste funksjonen er at du oppretter en server-vert-tilkobling og deretter kjører spillboken på bare ett system og sørger for flere andre systemer med mulighet for å skalere opp og skalere ned etter behov.

Ansible har hundrevis av moduler som støtter AWS, og noen av dem inkluderer:

  • Autoskalering av grupper
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Elastisk Cloud Compute (EC2)
  • Identity Access Manager (IAM)
  • Lambda
  • Relational Database Service (RDS)
  • Rute53
  • Sikkerhetsgrupper
  • Enkel lagringstjeneste (S3)
  • Virtual Private Cloud (VPC)
  • Og mange flere

3. Dynamisk varelager

I et utviklingsmiljø fortsetter vertene å spinne og stenge med ulike forretningskrav. I et slikt tilfelle kan det hende at bruk av statisk inventar ikke er tilstrekkelig. Slike situasjoner krever bruk av Dynamic Inventory. Dette lar deg kartlegge verter basert på grupper levert av inventarskript, i motsetning til vanlig inventar som tvinger deg til å kartlegge verter manuelt, noe som er veldig kjedelig.

4. Sikker automatisering

Anta at du har et team på 5 personer, og hver av dem har to underordnede under seg som ikke er helt dyktige. Du ønsker ikke å gi dem full tilgang til hele distribusjonsprosessen. Det er da du innser behovet for å begrense autorisasjonen.

Ansible Tower leverer denne funksjonen for å begrense autorisasjoner. Så i utgangspunktet valgte du hvem som kan gjøre hva, noe som gjør det lettere å moderere.Ansible Tower krypterer også legitimasjon og andre sensitive data, og du gir kun underordnede tilgang til relevante ressurser mens du begrenser deres tilgang til irrelevante.

Demo: Automatiser levering av en EC2-forekomst ved hjelp av Ansible

I denne Demo-delen skal jeg demonstrere hvordan Ansible støtter AWS ved å vise hvordan man automatiserer start og klargjøring av en EC2-forekomst. La oss komme i gang.

Trinn 1 :

Installer Ansible på servernoden din og opprett en SSH-forbindelse mellom serveren din og klientnodene på AWS. I dette tilfellet har jeg opprettet to EC2-forekomster, en server som Ansible er installert på, og den andre er klienten.

Steg 2:

Forsikre deg om at du har alle kravene installert. I følge dokumentasjonen er dette følgende krav:

  • Python> = 2,6
  • stemme

Installer python ved hjelp av følgende kommando:

statisk medlemsfunksjon i c ++

$ sudo apt installere python

Installer boto ved hjelp av følgende kommando:

$ sudo apt installere python-pip
$ pip install boto

Boto er et python-grensesnitt for bruk av Amazon Web-tjenester. Du må importere den med følgende kommando:

$ python
$ import-knapp
$ exit ()

stemme - Ansible For AWS - Edureka

Trinn 3:

Du må konfigurere AWS. Bruk følgende kommando for det samme:

$ aws konfigurerer

Og legg til AWS-tilgangsnøkkel-ID, hemmelig nøkkel og standardregion (som er valgfritt).

Trinn 4:

Skriv en lekebok for å starte og klargjøre en EC2-forekomst.

$ sudo vi /etc/ansible/launch.yml

--- - navn: Opprett en ec2-forekomst verter: web samle_fakta: falske vars: region: us-øst-1 forekomst_type: t2.micro ami: ami-05ea7729e394412c8 tastatur: priyajdm oppgaver: - navn: Opprett en ec2 forekomst 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

Det er en god praksis å vite hva koden gjør før du faktisk utfører den. La meg forklare denne lekeboken for bedre forståelse.

Navn: Det kan være bokstavelig talt hva som helst. En god praksis er å beholde et navn som gir en grunnleggende beskrivelse av oppgaven den utfører.

Vert: Nevner navnet på vertslisten som spillboken må kjøres mot. I mitt tilfelle er det Internett .

samle_fakta: Denne parameteren forteller Ansible å samle alle relevante fakta, variabler og andre data for fremtidig referanse. I vårt tilfelle har vi satt det til usant fordi vi ikke har bruk for å samle inn fakta (IP-tillegg, vertsnavn osv.).

hvem sin: Denne delen definerer og initialiserer alle variablene vi skal bruke i denne spillboken. Vi har fire variabler her:

  • region definerer regionen der EC2-forekomsten må komme opp
  • forekomststype definerer typen forekomst vi prøver å ta opp. I vårt tilfelle bruker vi t2.micro
  • hvilken definerer AMI for forekomsten vi prøver å ta opp

  • tastatur definerer tastaturet vi skal bruke for å få opp forekomsten

ec2: Dette er en modul levert av Ansible som brukes til å starte eller avslutte en EC2-forekomst.

Denne modulen har visse parametere som vi skal bruke til å spesifisere andre funksjonaliteter for EC2-forekomsten vi prøver å starte.

  • Vi starter med å nevne AWS tilgangsnøkkel-ID og hemmelig nøkkel ved hjelp av parametrene aws_access_key og aws-secret_key .
  • nøkkelnavn: pass variabelen som definerer tastaturet som brukes her
  • gruppe: nevn sikkerhetsgruppens navn. Dette definerer sikkerhetsreglene for EC2-forekomsten vi prøver å ta opp
  • forekomststype: pass variabelen som definerer typen forekomst vi bruker her
  • bilde: pass variabelen som definerer AMI for bildet vi prøver å starte
  • vente: Dette har en boolsk verdi på enten sant eller usant. Hvis det er sant, venter det på at forekomsten når ønsket tilstand før den returnerer
  • region: pass variabelen som definerer regionen der en EC2-forekomst må opprettes.
  • telle: Denne parameteren spesifiserer antall forekomster som må opprettes. I dette tilfellet har jeg bare nevnt en, men dette avhenger av dine behov.
  • vpc_subnet_id: pass undernett-ID-en der du vil opprette forekomsten
  • assign_public_ip: Denne parameteren har en boolsk verdi. Hvis det er sant som i vårt tilfelle, vil en offentlig IP bli tildelt forekomsten når den er klargjort i VPC.

Trinn 5:

Nå som du har forstått hver linje i spillboken, la oss fortsette og utføre den. Bruk følgende kommando:

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


Når du har kjørt spillboken, ser du en forekomst som blir opprettet.


Og TADA! Du har automatisert klargjøringen av en EC2-forekomst. På samme måte kan du også skrive en spillbok for å stoppe EC2-forekomsten.

Dette fører oss til slutten av Ansible For AWS-bloggen. Hvis du synes denne artikkelen er nyttig, kan du sjekke ut ' tilbudt av Edureka. Den dekker alle verktøyene som har gjort IT-bransjen effektiv.