Pun pariu că ai deja câteva lucruri care rulează pe AWS și ai reușit să se întâmple folosind consola browserului. Dar pariez, de asemenea, că bănuiți deja că a face clic pe drum prin straturi și straturi de pagini de configurare nu va fi întotdeauna cea mai bună abordare. De fapt, AWS CLI este o modalitate mai bună de a realiza exact aceeași muncă, dar cu mult mai puțin efort.

Folosind conținut adaptat de la Curs Pluralsight: Automatizarea operațiunilor AWS cu AWS CLI, lasă-mă să demonstrez repede. Să presupunem că doriți să lansați o instanță Amazon Linux de la EC2. Pentru ao pune în funcțiune, va trebui să …

  • Încărcați pagina EC2 Dashboard
  • Faceți clic pe Lansare instanță
  • Selectați un AMI din pagina AMI
  • Selectați un tip de instanță din pagina Tip instanță
  • Setați rețeaua, IAM, comportamentul ciclului de viață și setările datelor utilizatorului în pagina Configurare detalii instanță
  • Selectați unul sau mai multe volume de stocare pe pagina Adăugați stocare
  • Adăugați etichete pe pagina Adăugați etichete
  • Selectați sau configurați un grup de securitate în pagina – așteptați – Configurare grup de securitate
  • Și, în cele din urmă, examinați și lansați instanța dvs. pe pagina numită (ce altceva?) Examinați și lansați

Și nu uitați să faceți clic pe fereastra pop-up în care veți confirma perechea de chei și apoi să vă îndreptați înapoi la tabloul de bord Instanțe EC2 pentru a obține datele instanței (cum ar fi adresele IP).

Ți se pare distractiv? Va suna în continuare ca distractiv dacă lucrați cu o conexiune lentă la internet? Și ce zici dacă trebuie să faci variații ale acestui proces de o jumătate de duzină de ori pe săptămână?

Cum sa utilizati AWS CLI pentru a va rula serviciile
Tastatura: tot ce aveți nevoie cu adevărat pentru a vă gestiona lucrurile AWS

Doriți să vedeți cum ați declanșa această configurație folosind AWS CLI dintr-un shell Bash (pe care îl puteți rula în Linux, MacOS și acum chiar și Windows 10)? Rețineți cum am folosit barele oblice înapoi pentru a spune lui Bash că comanda nu este încă completă. Hitting Enter face ca toată mizeria să funcționeze.

aws ec2 run-instances --image-id ami-04681a1dbd79675a5 
 --count 1 
 --instance-type r5d.large 
 --key-name MyKeyPair 
 --security-group-ids sg-007e43f80a1758f29 
 --subnet-id subnet-970ec9f0 
 --user-data file://my_script.sh 
 --tag-specifications 
 ‘ResourceType=instance,Tags=[{Key=backend,Value=inventory1}]’

Această comandă precisă nu va funcționa pentru dvs. dacă o lipiți în terminal și o rulați. Grupurile de securitate și ID-urile de subrețea sunt specifice contului meu și probabil că nu aveți o pereche de chei numită MyKeyPair sau un fișier script numit my_script.sh. Dar asta vă arată că, după ce ați făcut câteva cercetări inițiale de bază pentru a obține toate valorile potrivite și ați confirmat că funcționează, veți putea salva comanda într-un fișier script pe care îl puteți modifica și rula oricând necesar. Acest lucru poate scădea un proces de cinci minute până la câteva secunde.

Cel mai bun loc pentru instrucțiuni de instalare CLI actualizate pentru sistemul dvs. de operare este această pagină de documentare AWS. Cel mai bun pariu va fi în mod normal abordarea Python managerului de pachete utilizând PIP.

1611098766 144 Cum sa utilizati AWS CLI pentru a va rula serviciile
Pagina de instalare AWS CLI

Configurarea CLI-ului dvs. pentru a accesa și administra în siguranță resursele contului AWS este destul de simplă. Deși va trebui mai întâi să generați (și să copiați / să înregistrați) o cheie de acces pentru utilizatorul dvs. AWS din link-ul Acreditările mele de securitate din meniul derulant al contului înapoi în consolă. După ce ați terminat, pur și simplu tastați „aws configure” la promptul de comandă și introduceți ID-ul cheii de acces și cheia de acces secret pe care le-ați obținut din acreditările mele de securitate. Opțional, puteți alege valorile implicite ale regiunii și ale formatului de ieșire.

worker@workstation:~$ aws configure
AWS Access Key ID [****************KB2Q]: 
AWS Secret Access Key [****************W/Cu]: 
Default region name [us-east-1]: 
Default output format [text]: 
worker@workstation:~$

Modele de sintaxă AWS CLI

Ești pregătit să începi. Să începem prin descompunerea sintaxei comenzii în părțile sale componente și să ilustrăm cum funcționează toate folosind exemple practice. După prefixul comenzii aws, o comandă CLI este alcătuită din Opțiuni (care, după cum sugerează și numele, sunt opționale), comenzi, subcomenzi, și parametrii.

aws [options] <command> <subcommand> [parameters]

Acest exemplu va returna toate imaginile EC2 AMI menținute oficial de Amazon care rulează sistemul de operare CentOS Linux.

aws --output table ec2 describe-images 
 --filters “Name=description,Values=*CentOS*” 
 “Name=owner-alias,Values=amazon”

Se folosește de ieșire opțiune, oferindu-i valoarea „masa”Pentru a afișa textul în tabele. Nivelul superior comanda aici este ec2. Majoritatea – dacă nu toate – comenzile de nivel superior vor invoca servicii AWS specifice. s3, iam și dynamodb sunt alte exemple.

subcomandă este descrie-imagini, care va returna date referitoare la toate imaginile Amazon Machine disponibile în prezent pentru a fi utilizate pentru instanțele dvs. EC2. Acest lucru ar returna o mulțime de date, deoarece există multe sute de AMI și fiecare dintre ele este reprezentat de o mulțime de metadate. Deci, veți dori să restrângeți căutarea doar puțin. Pentru aceasta, am furnizat două valori parametrului – filters: descrierea imaginii ar trebui să conțină cuvântul CentOS– scrierea cu majuscule a c, o și s, deoarece acest lucru va fi sensibil la majuscule și minuscule, iar valoarea proprietarului-alias trebuie să fie egală amazon.

De multe ori vei fugi descrie- pentru a obține ID-uri de resurse importante pe care le puteți conecta apoi la comenzile de acțiune efective. Acest ID de imagine CentOS ar fi de obicei folosit ca parte a unui ec2 instanțe de rularepentru a lansa efectiv o instanță.

Pe lângă descrierea și rularea, alte subcomandări obișnuite vor începe cu verbe precum creați, ștergeți, activați, dezactivați, modificați, solicitați, opriți și terminați.

Opțiuni include regiune, ieșire, și profil – pe care l-ai văzut deja – plus alergare uscată, care nu va face nimic, dar va afișa în schimb rezultatul pe care îl va genera comanda ta dacă de fapt au fost rulate. Acest lucru poate fi foarte util atunci când nu sunteți sigur că ați înțeles corect sintaxa. Să încercăm să executăm comanda ec2 run-instances de sus, dar de această dată adăugând alergare uscată.

S3 Exemplu

Este timpul pentru o mică magie S3. Am o afacere care are nevoie de un site web simplu, fără acces la baze de date sau clopote și fluiere javascript. Doar niște obișnuințe, bunătate HTML5. Așadar, voi crea, configura cu atenție și îmi completez bucket-ul, astfel încât să funcționeze ca un site static – sau, cu alte cuvinte, astfel încât traficul de intrare să fie direcționat automat către fișierul index.html pe care l-am creat .

Deși nu va juca niciun rol în această demonstrație, în cele din urmă vreau să configurez un nume de domeniu .com în Amazon Route 53 care indică site-ul, așa că va trebui să creez o bucket S3 exact cu asta nume – .com și tot. Fac o găleată folosind mb și un nume de cupă unic la nivel global.

aws s3 mb s3://mysite548.com

Cupa va trebui să poată fi citită public, așa că o voi folosi s3api put-bucket-acl , impreuna cu găleatăși acl parametrii. Acesta din urmă va lua valoarea citit public .

aws s3api put-bucket-acl --bucket mysite548.com --acl public-read

În continuare voi folosi sincronizarea s3 pentru a muta tot conținutul directorului meu local curent în bucket. Am creat trei fișiere: index.html este pagina web implicită și error.html va fi pagina încărcată când se solicită o resursă inexistentă. Există, de asemenea, o mică imagine pentru a ajuta la dovedirea demonstrației. acl public-citit parametrul va da fișierelor în sine aceleași permisiuni ca bucket.

aws s3 sync . s3://mysite548.com --acl public-read

În cele din urmă, voi defini scopul acelor fișiere html pentru S3 folosind „site-ul web s3”. document-index și document de eroareparametrii indică pur și simplu fișierele relevante. Apropo, nu trebuie să folosiți acele nume de fișiere specifice, sunt doar eu. Voi confirma această operațiune folosind s3api get-bucket-website.

aws s3 website s3://mysite548.com/ --index-document index.html --error-document error.html
aws s3api get-bucket-website --bucket mysite548.com

Ce urmeaza?

Sintaxa de comandă a AWS CLI este destul de intuitivă. Cu toate acestea, veți avea adesea nevoie de ajutor pentru a o rezolva exact. După cum arată în cursul Pluralsight, puteți obține îndrumări excelente de la Ajutorla linia de comandă sau de la Documentație online AWS. Ale mele Aflați Amazon Web Services într-o carte de o lună de prânz conține, de asemenea, îndrumări și exemple utile.

Acest articol este un extras adaptat din noul meu Curs Pluralsight, Automatizarea operațiunilor AWS cu AWS CLI.