Az AWS Command Line Interface (CLI) leghasznosabb parancsai

Üdvözöllek a felhő erejének szívében! Ha valaha is dolgoztál az Amazon Web Services (AWS) platformmal, valószínűleg találkoztál már a felhasználóbarát konzollal, amely egy kattintással elérhetővé teszi a szolgáltatásokat. Azonban van egy még hatékonyabb, gyorsabb és automatizálhatóbb módja az AWS erőforrások kezelésének: az AWS Command Line Interface (CLI). Ez a cikk egy átfogó útmutatót nyújt a leghasznosabb AWS CLI parancsokhoz, amelyekkel pillanatok alatt profi módon navigálhatsz és irányíthatod a felhődet.

Miért az AWS CLI? A hatékonyság kulcsa

Az AWS CLI egy nyílt forráskódú eszköz, amely lehetővé teszi az AWS szolgáltatások parancssorból történő interakcióját. Gondolj rá úgy, mint egy varázslatos billentyűzetre, amely sokkal gyorsabbá és hatékonyabbá teszi a feladatokat, mint a grafikus felhasználói felület (GUI). Néhány ok, amiért az AWS CLI nélkülözhetetlen:

  • Automatizálás: Lehetővé teszi szkriptek írását és munkafolyamatok automatizálását, ami létfontosságú az infrastruktúra mint kód (Infrastructure as Code – IaC) megközelítéshez.
  • Gyorsaság: Sok esetben sokkal gyorsabb egy parancs beírása, mint végigkattintani a konzol menüpontjain.
  • Rugalmasság: Széles körű vezérlést biztosít az AWS erőforrások felett, és lehetővé teszi a komplex lekérdezések futtatását és a kimenet testreszabását.
  • Fejlesztés és Hibakeresés: Kiváló eszköz fejlesztők és üzemeltetők számára egyaránt a teszteléshez, hibakereséshez és a napi feladatok elvégzéséhez.

Az első lépések: Telepítés és Konfigurálás

Mielőtt belevetnénk magunkat a parancsok tengerébe, győződj meg róla, hogy az AWS CLI telepítve és konfigurálva van a rendszereden. A telepítés általában pip-pel (Python csomagkezelő) vagy dedikált telepítőkkel történik operációs rendszertől függően. A konfiguráláshoz a legfontosabb parancs az:

aws configure

Ez a parancs interaktívan kérdez rá az AWS Access Key ID-re, a Secret Access Key-re, a kívánt alapértelmezett régióra (pl. eu-central-1) és a kimeneti formátumra (pl. json). Ezek az adatok elengedhetetlenek ahhoz, hogy a CLI hitelesítve tudjon kommunikálni az AWS-sel.

Alapvető CLI Parancsok és Trükkök

Mielőtt belemerülnénk a specifikus szolgáltatásokba, nézzünk meg néhány általános parancsot és beállítást, amelyek mindenhol jól jöhetnek:

  • Segítségkérés: Ha elakadnál, a help parancs a barátod.
    aws help
    aws s3 help
    aws ec2 describe-instances help

    Ez részletes információt ad az adott szolgáltatásról, alparancsról vagy műveletről, beleértve a szintaxist és a paramétereket.

  • Kimeneti formátumok: A CLI több kimeneti formátumot is támogat. A --output paraméterrel adhatod meg a kívánt típust.
    • json (alapértelmezett, szkripteléshez ideális)
    • text (egyszerű, tabulátorral tagolt szöveg)
    • table (emberi olvasásra optimalizált táblázat)
    aws ec2 describe-instances --output table
  • Régió megadása: Ha az alapértelmezett régiótól eltérő régióban szeretnél dolgozni, használd a --region paramétert.
    aws s3 ls --region us-east-1
  • Profilok használata: Ha több AWS fiókod vagy különböző jogosultságokkal rendelkező felhasználód van, a profilok rendkívül hasznosak.
    aws configure --profile dev_user
    aws s3 ls --profile dev_user

A Leghasznosabb Parancsok Szolgáltatásonként

Nézzük meg most az AWS leggyakrabban használt szolgáltatásait, és a hozzájuk tartozó alapvető CLI parancsokat, amelyekkel hatékonyan dolgozhatsz!

1. Amazon S3 (Simple Storage Service) – Tárolás mestere

Az S3 az AWS objektumtárolási szolgáltatása, ahol gyakorlatilag bármilyen adatot tárolhatsz. A CLI-vel hihetetlenül hatékonyan kezelhetők az S3 gyűjtővödrök (buckets) és objektumok.

  • Gyűjtővödrök listázása:
    aws s3 ls

    Ez listázza az összes S3 gyűjtővödröt a fiókodban.

  • Gyűjtővödrök tartalmának listázása:
    aws s3 ls s3://<gyujtovodor_neve>

    Megjeleníti egy adott gyűjtővödörben található objektumokat és almappákat. Használhatod a --recursive opciót a teljes tartalom rekurzív listázásához.

  • Gyűjtővödör létrehozása/törlése:
    aws s3 mb s3://<uj_gyujtovodor_neve>
    aws s3 rb s3://<torlendo_gyujtovodor_neve> --force

    Az mb (make bucket) létrehoz, az rb (remove bucket) töröl. A --force opcióval törölheted a nem üres gyűjtővödört.

  • Fájlok másolása/mozgatása: Az cp (copy) és mv (move) parancsok kivételesen erősek.
    aws s3 cp <helyi_fajl> s3://<gyujtovodor_neve>/<cel_utvonal>
    aws s3 cp s3://<forras_gyujtovodor>/<fajl> s3://<cel_gyujtovodor>/<cel_utvonal>
    aws s3 mv s3://<forras_gyujtovodor>/<fajl> s3://<cel_gyujtovodor>/<cel_utvonal>

    Támogatják a rekurzív másolást (--recursive) és a kizárási/befoglalási mintákat (--exclude, --include).

  • Fájlok szinkronizálása: A sync parancs egy kétirányú szinkronizálást végez, csak a megváltozott fájlokat másolja át.
    aws s3 sync <helyi_mappa> s3://<gyujtovodor_neve>/<cel_utvonal>
    aws s3 sync s3://<gyujtovodor_neve>/<cel_utvonal> <helyi_mappa>

    Ez a parancs felbecsülhetetlen értékű a lokális adatok S3-ba történő biztonsági mentéséhez vagy weboldalak S3 hosztingjének frissítéséhez.

  • Előre aláírt URL létrehozása: Hozzáférést biztosít egy privát objektumhoz ideiglenes linkkel.
    aws s3 presign s3://<gyujtovodor_neve>/<objektum> --expires-in 3600

    Az expires-in másodpercben adja meg az érvényességi időt.

2. Amazon EC2 (Elastic Compute Cloud) – Virtuális szerverek a felhőben

Az EC2 virtuális szerverek (példányok) futtatására szolgál. A CLI-vel kényelmesen kezelheted ezeket a példányokat.

  • Futó példányok listázása:
    aws ec2 describe-instances

    Ez egy részletes JSON kimenetet ad az összes EC2 példányról. Szűrőkkel szűkítheted a kimenetet:

    aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query "Reservations[*].Instances[*].[InstanceId, State.Name, PublicIpAddress]" --output table

    A --query paraméter (JMESPath) elengedhetetlen a JSON kimenet feldolgozásához.

  • Példányok indítása/leállítása/leállítása:
    aws ec2 start-instances --instance-ids <peldaany_azonosito>
    aws ec2 stop-instances --instance-ids <peldaany_azonosito>
    aws ec2 terminate-instances --instance-ids <peldaany_azonosito>

    Több példány azonosítóját is megadhatod vesszővel elválasztva.

  • SSH kulcspár létrehozása:
    aws ec2 create-key-pair --key-name MyKeyPair --query "KeyMaterial" --output text > MyKeyPair.pem

    Ez létrehoz egy új SSH kulcspárt és a privát kulcsot közvetlenül egy fájlba menti. Fontos, hogy a .pem fájl jogosultságait állítsd be (chmod 400 MyKeyPair.pem).

  • Biztonsági csoportok lekérdezése:
    aws ec2 describe-security-groups --filters "Name=group-name,Values=my-web-security-group"

    A biztonsági csoportok a virtuális tűzfalak, amelyek szabályozzák a bejövő és kimenő forgalmat.

3. AWS IAM (Identity and Access Management) – Hozzáférés-kezelés

Az IAM az AWS erőforrásokhoz való hozzáférések kezelésére szolgál. Felhasználókat, csoportokat, szerepköröket és házirendeket (policies) hozhatsz létre.

  • Felhasználók listázása:
    aws iam list-users

    Ez listázza az összes IAM felhasználót a fiókodban.

  • Saját identitás lekérdezése:
    aws sts get-caller-identity

    Ez a parancs megmutatja, milyen AWS fiókkal, felhasználóval vagy szerepkörrel vagy éppen bejelentkezve. Rendkívül hasznos a hibakereséshez.

  • Felhasználó létrehozása/törlése:
    aws iam create-user --user-name <felhasznalonev>
    aws iam delete-user --user-name <felhasznalonev>
  • Házirend csatolása felhasználóhoz:
    aws iam attach-user-policy --user-name <felhasznalonev> --policy-arn arn:aws:iam::aws:policy/AdministratorAccess

    Fontos: az AdministratorAccess csak példa, éles környezetben mindig a legkevesebb jogosultság elvét (Principle of Least Privilege) kövesd!

4. AWS Lambda – Kiszolgálómentes számítás

Az AWS Lambda segítségével kódot futtathatsz szerverek kiépítése vagy kezelése nélkül.

  • Lambda függvények listázása:
    aws lambda list-functions
  • Függvény létrehozása/frissítése:
    aws lambda create-function --function-name MyFunction --runtime python3.9 --handler main.handler --role arn:aws:iam::<fiohoz>:role/lambda_exec_role --zip-file fileb://function.zip
    aws lambda update-function-code --function-name MyFunction --zip-file fileb://updated_function.zip

    A fileb:// prefix jelzi, hogy a fájl bináris formában van. Ez a parancs kulcsfontosságú a CI/CD pipeline-okban.

5. Amazon CloudWatch – Monitorozás és logok

A CloudWatch az AWS monitorozási és loggyűjtési szolgáltatása. A CLI-vel lekérdezheted a metrikákat és a logokat.

  • Log csoportok listázása:
    aws logs describe-log-groups
  • Log események lekérése:
    aws logs get-log-events --log-group-name /aws/lambda/MyFunction --log-stream-name <log_stream_azonosito> --limit 5

    Ez a parancs hasznos a hibakereséshez és a futási adatok elemzéséhez.

6. Amazon RDS (Relational Database Service) – Felügyelt adatbázisok

Az RDS felügyelt relációs adatbázisokat biztosít (pl. MySQL, PostgreSQL, SQL Server). A CLI-vel kezelheted az adatbázis példányokat.

  • Adatbázis példányok lekérdezése:
    aws rds describe-db-instances

    Szűrőkkel és --query paraméterrel könnyedén megtalálhatod a szükséges információkat.

  • Olvasási replika létrehozása:
    aws rds create-db-instance-read-replica --db-instance-identifier <uj_replika_neve> --source-db-instance-identifier <forras_db_neve>

    Az olvasási replikák kulcsfontosságúak az adatbázisok skálázásához és terheléselosztásához.

7. AWS VPC (Virtual Private Cloud) – Hálózatépítés a felhőben

A VPC lehetővé teszi, hogy saját izolált hálózatot hozz létre az AWS felhőben.

  • VPC-k listázása:
    aws ec2 describe-vpcs
  • Alhálózatok listázása:
    aws ec2 describe-subnets --filters "Name=vpc-id,Values=<a_vpc_azonositoja>"
  • Routing táblák lekérdezése:
    aws ec2 describe-route-tables

    A hálózati beállítások ellenőrzéséhez és hibakereséséhez elengedhetetlenek ezek a parancsok.

Fejlett tippek és trükkök az AWS CLI-hez

  • JMESPath lekérdezések: A --query paraméterrel használható JMESPath egy nagyon erős eszköz a JSON kimenet szűrésére és formázására. Érdemes elsajátítani az alapjait.
  • Bash szkriptek: Az AWS CLI parancsokat könnyedén beágyazhatod Bash szkriptekbe, ezzel automatizálva a komplex feladatokat.
  • Paging: Nagy kimenetek esetén a CLI automatikusan lapoz (paging). A --no-paginate opcióval kikapcsolható.
  • Hibakezelés: A CLI parancsok exit kódjai (0 sikeres, >0 hiba) felhasználhatók szkriptekben a hibakezelésre.
  • Tiszta környezet: Mindig tisztítsd meg a fiókodat a nem használt erőforrásoktól (különösen a tesztelési célból létrehozottaktól), hogy elkerüld a felesleges költségeket.

Összefoglalás: A felhő ereje a kezedben

Az AWS CLI egy rendkívül erőteljes és sokoldalú eszköz, amely forradalmasíthatja az AWS erőforrások kezelését. Bár az elején ijesztőnek tűnhet a parancssor használata, a befektetett idő megtérül a hatékonyság, az automatizálhatóság és a rugalmasság révén. Az itt bemutatott parancsok csak a jéghegy csúcsát jelentik, de reméljük, hogy elegendő inspirációt adtak ahhoz, hogy mélyebben beleásd magad az AWS CLI rejtelmeibe.

Kezdj el kísérletezni, próbáld ki a parancsokat, és hamarosan rájössz, hogy az AWS felhő sokkal jobban a kezedben van, mint valaha. Felejtsd el a kattintgatást, és légy mestere az AWS parancssorának!

Leave a Reply

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük