AWS CLI: 50 essentiële opdrachten met gratis cloud-emulator
Oefen veilig met AWS via begeleide uitdagingen, tekstuele output en een visueel architectuurcanvas.
Dit lab maakt geen echte resources aan. De opdrachten zijn bedoeld voor leren en gebruiken placeholders zoals <VPC_ID>, <INSTANCE_ID> of <ACCOUNT_ID>.
Lijst met 50 AWS-opdrachten om te kopiëren en uit te voeren
Gebruik Kopiëren om de opdracht naar het klembord te sturen. Gebruik Laden om deze in het invoerveld van de emulator te plaatsen of het plugin-event te activeren.
| # | Onderdeel | Opdracht | Waarvoor dient dit? | Canvas / output | Actie |
|---|---|---|---|---|---|
| 1 | Basis | aws --version | Controleert de geïnstalleerde versie van AWS CLI v2. | Toont de CLI, versie en lokale runtime. | |
| 2 | Basis | aws configure list | Geeft actieve credentials, regio en profielconfiguratie weer. | Identificeert profiel, regio en credentialbron zonder geheimen bloot te leggen. | |
| 3 | Basis | aws configure get region | Haalt de standaard geconfigureerde regio op. | Plaatst de regionale context waarin labresources worden gesimuleerd. | |
| 4 | Identiteit | aws sts get-caller-identity | Valideert de actieve AWS-identiteit: account, gebruiker of rol. | Tekent het actieve account, ARN, profiel en gesimuleerde rechten. | |
| 5 | Regio’s | aws ec2 describe-regions --all-regions --query "Regions[].RegionName" --output table | Geeft beschikbare EC2-regio’s weer. | Toont de regiokiezer en markeert de labregio. | |
| 6 | VPC-netwerk | aws ec2 create-vpc --cidr-block 10.10.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=ww-aws-vpc}]' | Maakt de basis-VPC voor het lab. | Voegt de netwerklaag toe met CIDR 10.10.0.0/16. | |
| 7 | Tags | aws ec2 create-tags --resources <VPC_ID> --tags Key=Project,Value=Weisewelt Key=Environment,Value=FreeLab | Voegt project- en omgevingstags toe aan de VPC. | Werkt de visuele inventaris bij met governance-metadata. | |
| 8 | VPC-netwerk | aws ec2 describe-vpcs --filters "Name=tag:Name,Values=ww-aws-vpc" | Vraagt de op naam gemaakte VPC op. | Markeert de gevonden VPC en toont een gesimuleerd VPC-ID. | |
| 9 | Openbaar subnet | 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}]' | Maakt een openbaar subnet in één Availability Zone. | Tekent een openbare zone met CIDR, AZ en wachtende internetroute. | |
| 10 | Privé-subnet | 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}]' | Maakt een privé-subnet voor databases of interne nodes. | Tekent een privézone zonder openbaar IP of directe internetroute. | |
| 11 | Internetgateway | aws ec2 create-internet-gateway --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=ww-igw}]' | Maakt een internetgateway voor openbare connectiviteit. | Voegt de IGW-component buiten de VPC toe. | |
| 12 | Internetgateway | aws ec2 attach-internet-gateway --internet-gateway-id <IGW_ID> --vpc-id <VPC_ID> | Koppelt de internetgateway aan de VPC. | Verbindt de VPC visueel met het internet. | |
| 13 | Routes | aws ec2 create-route-table --vpc-id <VPC_ID> --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=ww-public-rt}]' | Maakt een openbare routetabel. | Voegt een routetabel toe die aan de openbare zone is gekoppeld. | |
| 14 | Routes | aws ec2 create-route --route-table-id <ROUTE_TABLE_ID> --destination-cidr-block 0.0.0.0/0 --gateway-id <IGW_ID> | Voegt de standaardroute naar de internetgateway toe. | Markeert de route 0.0.0.0/0 van het openbare subnet via de IGW. | |
| 15 | Routes | aws ec2 associate-route-table --subnet-id <PUBLIC_SUBNET_ID> --route-table-id <ROUTE_TABLE_ID> | Koppelt de routetabel aan het openbare subnet. | Activeert openbare connectiviteit voor dat subnet. | |
| 16 | Beveiliging | aws ec2 create-security-group --group-name ww-web-sg --description "Web access for Weisewelt lab" --vpc-id <VPC_ID> | Maakt een Security Group voor webinstances. | Tekent de logische inbound/outbound firewall. | |
| 17 | Beveiliging | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 22 --cidr 203.0.113.10/32 | Staat SSH alleen toe vanaf een gecontroleerd voorbeeld-IP. | Toont een restrictieve beheerregel. | |
| 18 | Beveiliging | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 80 --cidr 0.0.0.0/0 | Staat openbaar HTTP-verkeer toe. | Opent poort 80 op het canvas met waarschuwing voor openbare blootstelling. | |
| 19 | Beveiliging | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 443 --cidr 0.0.0.0/0 | Staat openbaar HTTPS-verkeer toe. | Opent poort 443 en markeert veilige webtoegang. | |
| 20 | Beveiliging | aws ec2 describe-security-groups --group-ids <SG_ID> --output table | Toont Security Group-regels. | Toont inkomende/uitgaande regels in de beveiligingsinventaris. | |
| 21 | EC2 | aws ec2 create-key-pair --key-name ww-key --query 'KeyMaterial' --output text > ww-key.pem | Maakt een key pair voor EC2-toegang. | Voegt toegangscredentials toe en waarschuwt voor veilige opslag. | |
| 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}]' | Start één EC2-instance in het openbare subnet. | Tekent een webserver met gesimuleerde privé- en openbare IP’s. | |
| 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 | Toont instancestatus en IP-adressen. | Werkt running/stopped-status en openbare/privé-IP’s bij. | |
| 24 | EC2 | aws ec2 describe-instance-status --instance-ids <INSTANCE_ID> --include-all-instances | Controleert systeem- en instancegezondheid. | Toont health checks in de monitoringlaag. | |
| 25 | Elastic IP | aws ec2 allocate-address --domain vpc | Reserveert een Elastic IP voor de VPC. | Voegt een vast openbaar IP toe aan de inventaris. | |
| 26 | Elastic IP | aws ec2 associate-address --instance-id <INSTANCE_ID> --allocation-id <ALLOCATION_ID> | Koppelt het Elastic IP aan de EC2-instance. | Verbindt het vaste openbare IP met de webserver. | |
| 27 | EC2 | aws ec2 stop-instances --instance-ids <INSTANCE_ID> | Stopt een EC2-instance. | Wijzigt de visuele status naar stopped en behoudt configuratie. | |
| 28 | EC2 | aws ec2 start-instances --instance-ids <INSTANCE_ID> | Start een gestopte instance. | Wijzigt de visuele status naar running. | |
| 29 | EC2 | aws ec2 terminate-instances --instance-ids <INSTANCE_ID> | Beëindigt een EC2-instance. | Verwijdert de server en bewaart de actiegeschiedenis. | |
| 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}]' | Maakt een gp3 EBS-volume. | Voegt persistente opslag toe in dezelfde Availability Zone. | |
| 31 | EBS | aws ec2 attach-volume --volume-id <VOLUME_ID> --instance-id <INSTANCE_ID> --device /dev/sdf | Koppelt een EBS-volume aan een instance. | Verbindt persistente opslag met de server. | |
| 32 | EBS-snapshot | aws ec2 create-snapshot --volume-id <VOLUME_ID> --description "Snapshot Weisewelt Free Lab" | Maakt een snapshot van een EBS-volume. | Voegt een incrementele back-up toe in de beschermingslaag. | |
| 33 | S3 | aws s3 mb s3://ww-free-lab-<ACCOUNT_ID>-demo --region us-east-1 | Maakt een S3-bucket voor het lab. | Tekent een objectbucket met regio en unieke naam. | |
| 34 | S3 | aws s3 cp ./index.html s3://ww-free-lab-<ACCOUNT_ID>-demo/index.html | Kopieert een lokaal bestand naar de bucket. | Toont het geüploade object in de bucket. | |
| 35 | S3 | aws s3 sync ./site s3://ww-free-lab-<ACCOUNT_ID>-demo --delete | Synchroniseert een lokale map met S3. | Simuleert deployment van een statische site en incrementele wijzigingen. | |
| 36 | S3 | aws s3 ls s3://ww-free-lab-<ACCOUNT_ID>-demo --recursive --human-readable --summarize | Geeft bucketobjecten weer met samenvatting. | Werkt objectaantal en totale grootte bij. | |
| 37 | S3-versioning | aws s3api put-bucket-versioning --bucket ww-free-lab-<ACCOUNT_ID>-demo --versioning-configuration Status=Enabled | Schakelt S3-bucketversioning in. | Markeert bescherming tegen per ongeluk overschrijven. | |
| 38 | IAM | aws iam create-role --role-name ww-lambda-exec --assume-role-policy-document file://trust-policy.json | Maakt een IAM-rol voor Lambda-uitvoering. | Voegt een service-identiteit en vertrouwensrelatie toe. | |
| 39 | IAM | aws iam attach-role-policy --role-name ww-lambda-exec --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | Koppelt de managed policy voor basis Lambda-logs. | Werkt de effectieve rechten van de rol bij. | |
| 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 | Maakt een Lambda-functie vanuit een ZIP-pakket. | Tekent een serverless functie gekoppeld aan IAM en CloudWatch Logs. | |
| 41 | Lambda | aws lambda invoke --function-name ww-hello-free response.json | Roept de Lambda-functie aan en slaat de reactie op. | Toont event, uitvoering en gesimuleerde reactie. | |
| 42 | CloudWatch Logs | aws logs describe-log-groups --log-group-name-prefix /aws/lambda/ww-hello-free | Toont Lambda-loggroepen. | Opent de observabilitylaag en 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 | Maakt een alarm voor hoge CPU op EC2. | Voegt een monitoringalert toe aan de instance. | |
| 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> | Maakt een privé-subnetgroep voor RDS. | Plaatst de database in privé-netwerk. | |
| 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 | Maakt een privé MySQL RDS-instance. | Tekent een database zonder openbaar IP en met interne toegang. | |
| 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> | Maakt de Amazon EKS control plane. | Voegt een beheerde Kubernetes control plane toe met netwerkconfiguratie. | |
| 47 | EKS | aws eks describe-cluster --name ww-eks-free --query "cluster.{Name:name,Status:status,Endpoint:endpoint,Version:version}" --output table | Toont EKS-clusterstatus, endpoint en versie. | Werkt de status van de control plane bij. | |
| 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 | Maakt een beheerde node group voor EKS. | Tekent privé-nodes en schaalbare capaciteit. | |
| 49 | EKS | aws eks update-kubeconfig --region us-east-1 --name ww-eks-free | Werkt lokale kubeconfig bij voor clustertoegang. | Markeert administratieve toegang vanuit de terminal. | |
| 50 | CloudFormation | aws cloudformation deploy --template-file template.yaml --stack-name ww-free-stack --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Environment=free | Implementeert infrastructure as code met CloudFormation. | Groepeert resources in een stack en toont afhankelijkheden. |