AWS CLI: 50 wichtige Befehle mit kostenlosem Cloud-Emulator
Übe AWS sicher mit geführten Aufgaben, textueller Ausgabe und visuellem Architektur-Canvas.
Dieses Labor erstellt keine echten Ressourcen. Die Befehle sind für Lernzwecke vorbereitet und verwenden Platzhalter wie <VPC_ID>, <INSTANCE_ID> oder <ACCOUNT_ID>.
Liste mit 50 AWS-Befehlen zum Kopieren und Ausführen
Nutze „Kopieren“, um den Befehl in die Zwischenablage zu legen. Nutze „Laden“, um ihn in das Eingabefeld des Emulators zu übernehmen oder das Plugin-Ereignis auszulösen.
| # | Bereich | Befehl | Wozu dient es? | Canvas / Ausgabe | Aktion |
|---|---|---|---|---|---|
| 1 | Grundlagen | aws --version | Prüft die installierte Version der AWS CLI v2. | Zeigt CLI, Version und lokale Laufzeitumgebung. | |
| 2 | Grundlagen | aws configure list | Listet aktive Zugangsdaten, Region und Profilkonfiguration. | Identifiziert Profil, Region und Herkunft der Zugangsdaten, ohne Geheimnisse offenzulegen. | |
| 3 | Grundlagen | aws configure get region | Liest die standardmäßig konfigurierte Region aus. | Setzt den regionalen Kontext, in dem Laborressourcen simuliert werden. | |
| 4 | Identität | aws sts get-caller-identity | Validiert die aktive AWS-Identität: Konto, Benutzer oder Rolle. | Zeichnet aktives Konto, ARN, Profil und simulierte Berechtigungen. | |
| 5 | Regionen | aws ec2 describe-regions --all-regions --query "Regions[].RegionName" --output table | Listet verfügbare EC2-Regionen. | Zeigt den Regionswähler und hebt die Laborregion hervor. | |
| 6 | VPC-Netzwerk | aws ec2 create-vpc --cidr-block 10.10.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=ww-aws-vpc}]' | Erstellt die Basis-VPC für das Labor. | Fügt die Netzwerkschicht mit CIDR 10.10.0.0/16 hinzu. | |
| 7 | Tags | aws ec2 create-tags --resources <VPC_ID> --tags Key=Project,Value=Weisewelt Key=Environment,Value=FreeLab | Fügt Projekt- und Umgebungstags zur VPC hinzu. | Aktualisiert das visuelle Inventar mit Governance-Metadaten. | |
| 8 | VPC-Netzwerk | aws ec2 describe-vpcs --filters "Name=tag:Name,Values=ww-aws-vpc" | Fragt die per Name erstellte VPC ab. | Hebt die gefundene VPC hervor und zeigt eine simulierte VPC-ID. | |
| 9 | Öffentliches Subnetz | aws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.10.1.0/24 --availability-zone us-east-1a --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=ww-public-a},{Key=Visibility,Value=public}]' | Erstellt ein öffentliches Subnetz in einer Availability Zone. | Zeichnet eine öffentliche Zone mit CIDR, AZ und ausstehender Internetroute. | |
| 10 | Privates Subnetz | aws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.10.11.0/24 --availability-zone us-east-1a --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=ww-private-a},{Key=Visibility,Value=private}]' | Erstellt ein privates Subnetz für Datenbanken oder interne Nodes. | Zeichnet eine private Zone ohne öffentliche IP und ohne direkte Internetroute. | |
| 11 | Internet-Gateway | aws ec2 create-internet-gateway --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=ww-igw}]' | Erstellt ein Internet-Gateway für öffentliche Konnektivität. | Fügt die IGW-Komponente außerhalb der VPC hinzu. | |
| 12 | Internet-Gateway | aws ec2 attach-internet-gateway --internet-gateway-id <IGW_ID> --vpc-id <VPC_ID> | Hängt das Internet-Gateway an die VPC an. | Verbindet die VPC visuell mit dem Internet. | |
| 13 | Routen | aws ec2 create-route-table --vpc-id <VPC_ID> --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=ww-public-rt}]' | Erstellt eine öffentliche Routing-Tabelle. | Fügt eine Routing-Tabelle hinzu, die der öffentlichen Zone zugeordnet ist. | |
| 14 | Routen | aws ec2 create-route --route-table-id <ROUTE_TABLE_ID> --destination-cidr-block 0.0.0.0/0 --gateway-id <IGW_ID> | Fügt die Standardroute zum Internet-Gateway hinzu. | Markiert die Route 0.0.0.0/0 des öffentlichen Subnetzes über das IGW. | |
| 15 | Routen | aws ec2 associate-route-table --subnet-id <PUBLIC_SUBNET_ID> --route-table-id <ROUTE_TABLE_ID> | Ordnet die Routing-Tabelle dem öffentlichen Subnetz zu. | Aktiviert öffentliche Konnektivität für dieses Subnetz. | |
| 16 | Sicherheit | aws ec2 create-security-group --group-name ww-web-sg --description "Web access for Weisewelt lab" --vpc-id <VPC_ID> | Erstellt eine Security Group für Web-Instanzen. | Zeichnet die logische Firewall für eingehenden und ausgehenden Verkehr. | |
| 17 | Sicherheit | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 22 --cidr 203.0.113.10/32 | Erlaubt SSH nur von einer kontrollierten Beispiel-IP. | Zeigt eine restriktive Administrationsregel. | |
| 18 | Sicherheit | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 80 --cidr 0.0.0.0/0 | Erlaubt öffentlichen HTTP-Verkehr. | Öffnet Port 80 im Canvas mit Warnung vor öffentlicher Exposition. | |
| 19 | Sicherheit | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 443 --cidr 0.0.0.0/0 | Erlaubt öffentlichen HTTPS-Verkehr. | Öffnet Port 443 und markiert sicheren Webzugriff. | |
| 20 | Sicherheit | aws ec2 describe-security-groups --group-ids <SG_ID> --output table | Zeigt Regeln der Security Group an. | Zeigt Eingangs- und Ausgangsregeln im Sicherheitsinventar. | |
| 21 | EC2 | aws ec2 create-key-pair --key-name ww-key --query 'KeyMaterial' --output text > ww-key.pem | Erstellt ein Schlüsselpaar für den EC2-Zugriff. | Fügt Zugangsdaten hinzu und warnt vor sicherer Aufbewahrung. | |
| 22 | EC2 | aws ec2 run-instances --image-id ami-0123456789abcdef0 --count 1 --instance-type t3.micro --key-name ww-key --security-group-ids <SG_ID> --subnet-id <PUBLIC_SUBNET_ID> --associate-public-ip-address --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=ww-web-01}]' | Startet eine EC2-Instanz im öffentlichen Subnetz. | Zeichnet einen Webserver mit simulierten privaten und öffentlichen IPs. | |
| 23 | EC2 | aws ec2 describe-instances --filters "Name=tag:Name,Values=ww-web-01" --query "Reservations[].Instances[].{Id:InstanceId,State:State.Name,PrivateIP:PrivateIpAddress,PublicIP:PublicIpAddress}" --output table | Zeigt Instanzstatus und IP-Adressen an. | Aktualisiert Running/Stopped-Status sowie öffentliche/private IPs. | |
| 24 | EC2 | aws ec2 describe-instance-status --instance-ids <INSTANCE_ID> --include-all-instances | Prüft System- und Instanzgesundheit. | Zeigt Health Checks in der Monitoring-Schicht. | |
| 25 | Elastic IP | aws ec2 allocate-address --domain vpc | Reserviert eine Elastic IP für die VPC. | Fügt dem Inventar eine feste öffentliche IP hinzu. | |
| 26 | Elastic IP | aws ec2 associate-address --instance-id <INSTANCE_ID> --allocation-id <ALLOCATION_ID> | Ordnet die Elastic IP der EC2-Instanz zu. | Verbindet die feste öffentliche IP mit dem Webserver. | |
| 27 | EC2 | aws ec2 stop-instances --instance-ids <INSTANCE_ID> | Stoppt eine EC2-Instanz. | Ändert den visuellen Status auf stopped und erhält die Konfiguration. | |
| 28 | EC2 | aws ec2 start-instances --instance-ids <INSTANCE_ID> | Startet eine gestoppte Instanz. | Ändert den visuellen Status auf running. | |
| 29 | EC2 | aws ec2 terminate-instances --instance-ids <INSTANCE_ID> | Beendet eine EC2-Instanz. | Entfernt den Server und behält den Aktionsverlauf. | |
| 30 | EBS | aws ec2 create-volume --availability-zone us-east-1a --size 20 --volume-type gp3 --tag-specifications 'ResourceType=volume,Tags=[{Key=Name,Value=ww-data-vol}]' | Erstellt ein gp3-EBS-Volume. | Fügt persistenten Speicher in derselben Availability Zone hinzu. | |
| 31 | EBS | aws ec2 attach-volume --volume-id <VOLUME_ID> --instance-id <INSTANCE_ID> --device /dev/sdf | Hängt ein EBS-Volume an eine Instanz an. | Verbindet persistenten Speicher mit dem Server. | |
| 32 | EBS-Snapshot | aws ec2 create-snapshot --volume-id <VOLUME_ID> --description "Snapshot Weisewelt Free Lab" | Erstellt einen Snapshot eines EBS-Volumes. | Fügt ein inkrementelles Backup in der Schutzschicht hinzu. | |
| 33 | S3 | aws s3 mb s3://ww-free-lab-<ACCOUNT_ID>-demo --region us-east-1 | Erstellt einen S3-Bucket für das Labor. | Zeichnet einen Objekt-Bucket mit Region und eindeutigem Namen. | |
| 34 | S3 | aws s3 cp ./index.html s3://ww-free-lab-<ACCOUNT_ID>-demo/index.html | Kopiert eine lokale Datei in den Bucket. | Zeigt das hochgeladene Objekt innerhalb des Buckets. | |
| 35 | S3 | aws s3 sync ./site s3://ww-free-lab-<ACCOUNT_ID>-demo --delete | Synchronisiert einen lokalen Ordner mit S3. | Simuliert Deployment einer statischen Website und inkrementelle Änderungen. | |
| 36 | S3 | aws s3 ls s3://ww-free-lab-<ACCOUNT_ID>-demo --recursive --human-readable --summarize | Listet Bucket-Objekte mit Zusammenfassung. | Aktualisiert Objektanzahl und Gesamtgröße. | |
| 37 | S3-Versionierung | aws s3api put-bucket-versioning --bucket ww-free-lab-<ACCOUNT_ID>-demo --versioning-configuration Status=Enabled | Aktiviert Versionierung für den S3-Bucket. | Markiert Schutz gegen versehentliches Überschreiben. | |
| 38 | IAM | aws iam create-role --role-name ww-lambda-exec --assume-role-policy-document file://trust-policy.json | Erstellt eine IAM-Rolle für die Lambda-Ausführung. | Fügt eine Service-Identität und Vertrauensbeziehung hinzu. | |
| 39 | IAM | aws iam attach-role-policy --role-name ww-lambda-exec --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | Hängt die verwaltete Policy für grundlegende Lambda-Logs an. | Aktualisiert die effektiven Berechtigungen der Rolle. | |
| 40 | Lambda | aws lambda create-function --function-name ww-hello-free --runtime python3.12 --role arn:aws:iam::<ACCOUNT_ID>:role/ww-lambda-exec --handler app.handler --zip-file fileb://function.zip | Erstellt eine Lambda-Funktion aus einem ZIP-Paket. | Zeichnet eine serverlose Funktion, verbunden mit IAM und CloudWatch Logs. | |
| 41 | Lambda | aws lambda invoke --function-name ww-hello-free response.json | Ruft die Lambda-Funktion auf und speichert die Antwort. | Zeigt Ereignis, Ausführung und simulierte Antwort. | |
| 42 | CloudWatch Logs | aws logs describe-log-groups --log-group-name-prefix /aws/lambda/ww-hello-free | Zeigt Lambda-Loggruppen an. | Öffnet die Observability-Schicht und Traces. | |
| 43 | CloudWatch | aws cloudwatch put-metric-alarm --alarm-name ww-cpu-high --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 80 --comparison-operator GreaterThanThreshold --dimensions Name=InstanceId,Value=<INSTANCE_ID> --evaluation-periods 2 | Erstellt einen Alarm für hohe CPU-Auslastung bei EC2. | Fügt der Instanz einen Monitoring-Alarm hinzu. | |
| 44 | RDS | aws rds create-db-subnet-group --db-subnet-group-name ww-db-subnets --db-subnet-group-description "Weisewelt private DB subnets" --subnet-ids <PRIVATE_SUBNET_ID_A> <PRIVATE_SUBNET_ID_B> | Erstellt eine private Subnetzgruppe für RDS. | Platziert die Datenbank im privaten Netzwerk. | |
| 45 | RDS | aws rds create-db-instance --db-instance-identifier ww-mysql-free --db-instance-class db.t4g.micro --engine mysql --master-username admin --master-user-password <STRONG_PASSWORD> --allocated-storage 20 --db-subnet-group-name ww-db-subnets --no-publicly-accessible | Erstellt eine private MySQL-RDS-Instanz. | Zeichnet eine Datenbank ohne öffentliche IP und mit internem Zugriff. | |
| 46 | EKS | aws eks create-cluster --name ww-eks-free --role-arn arn:aws:iam::<ACCOUNT_ID>:role/ww-eks-cluster-role --resources-vpc-config subnetIds=<PUBLIC_SUBNET_ID>,<PRIVATE_SUBNET_ID>,securityGroupIds=<SG_ID> | Erstellt die Amazon-EKS-Control-Plane. | Fügt eine verwaltete Kubernetes-Control-Plane mit Netzwerkkonfiguration hinzu. | |
| 47 | EKS | aws eks describe-cluster --name ww-eks-free --query "cluster.{Name:name,Status:status,Endpoint:endpoint,Version:version}" --output table | Zeigt Status, Endpoint und Version des EKS-Clusters. | Aktualisiert den Status der Control-Plane. | |
| 48 | EKS | aws eks create-nodegroup --cluster-name ww-eks-free --nodegroup-name ww-ng-free --node-role arn:aws:iam::<ACCOUNT_ID>:role/ww-eks-node-role --subnets <PRIVATE_SUBNET_ID_A> <PRIVATE_SUBNET_ID_B> --instance-types t3.medium --scaling-config minSize=1,maxSize=3,desiredSize=1 | Erstellt eine verwaltete Node Group für EKS. | Zeichnet private Nodes und skalierbare Kapazität. | |
| 49 | EKS | aws eks update-kubeconfig --region us-east-1 --name ww-eks-free | Aktualisiert die lokale kubeconfig für den Clusterzugriff. | Markiert administrativen Zugriff vom Terminal aus. | |
| 50 | CloudFormation | aws cloudformation deploy --template-file template.yaml --stack-name ww-free-stack --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Environment=free | Stellt Infrastruktur als Code mit CloudFormation bereit. | Gruppiert Ressourcen in einem Stack und zeigt Abhängigkeiten. |