AWS CLI
Umfassende AWS CLI Befehle und Workflows für die Verwaltung von Amazon Web Services Infrastruktur, einschließlich EC2, S3, Lambda und mehr.
Installation und Konfiguration
| | Command | Description | |
| --- | --- |
| | aws configure
| Configure AWS credentials and region | |
| | aws configure list
| Show current configuration | |
| | aws configure set region us-west-2
| Set default region | |
| | aws configure set output json
| Set output format | |
| | aws sts get-caller-identity
| Verify current identity | |
| | aws configure list-profiles
| List all configured profiles | |
| | aws configure --profile myprofile
| Configure named profile | |
EC2 (Elastic Compute Cloud)
Verwaltung
| | Command | Description | |
| --- | --- |
| | aws ec2 describe-instances
| List all instances | |
| | aws ec2 run-instances --image-id ami-12345 --instance-type t2.micro
| Launch instance | |
| | aws ec2 start-instances --instance-ids i-1234567890abcdef0
| Start instance | |
| | aws ec2 stop-instances --instance-ids i-1234567890abcdef0
| Stop instance | |
| | aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
| Terminate instance | |
| | aws ec2 reboot-instances --instance-ids i-1234567890abcdef0
| Reboot instance | |
Sicherheitsgruppen
| | Command | Description | |
| --- | --- |
| | aws ec2 describe-security-groups
| List security groups | |
| | aws ec2 create-security-group --group-name MySecurityGroup --description "My security group"
| Create security group | |
| | aws ec2 authorize-security-group-ingress --group-id sg-12345 --protocol tcp --port 80 --cidr 0.0.0.0/0
| Add inbound rule | |
| | aws ec2 revoke-security-group-ingress --group-id sg-12345 --protocol tcp --port 80 --cidr 0.0.0.0/0
| Remove inbound rule | |
Schlüsselpaare
| | Command | Description | |
| --- | --- |
| | aws ec2 describe-key-pairs
| List key pairs | |
| | aws ec2 create-key-pair --key-name MyKeyPair --query 'KeyMaterial' --output text > MyKeyPair.pem
| Create key pair | |
| | aws ec2 delete-key-pair --key-name MyKeyPair
| Delete key pair | |
S3 (Simple Storage Service)
Bucking Operationen
| | Command | Description | |
| --- | --- |
| | aws s3 ls
| List all buckets | |
| | aws s3 mb s3://my-bucket
| Create bucket | |
| | aws s3 rb s3://my-bucket
| Remove empty bucket | |
| | aws s3 rb s3://my-bucket --force
| Remove bucket and all contents | |
| | aws s3 ls s3://my-bucket
| List objects in bucket | |
| | aws s3 ls s3://my-bucket --recursive
| List all objects recursively | |
Dateioperationen
| | Command | Description | |
| --- | --- |
| | aws s3 cp file.txt s3://my-bucket/
| Upload file | |
| | aws s3 cp s3://my-bucket/file.txt .
| Download file | |
| | aws s3 sync ./local-folder s3://my-bucket/
| Sync local folder to S3 | |
| | aws s3 sync s3://my-bucket/ ./local-folder
| Sync S3 to local folder | |
| | aws s3 rm s3://my-bucket/file.txt
| Delete file | |
| | aws s3 rm s3://my-bucket/ --recursive
| Delete all files in bucket | |
Erweiterte S3 Operationen
| | Command | Description | |
| --- | --- |
| | aws s3api get-bucket-versioning --bucket my-bucket
| Check versioning status | |
| | aws s3api put-bucket-versioning --bucket my-bucket --versioning-configuration Status=Enabled
| Enable versioning | |
| | aws s3api get-bucket-encryption --bucket my-bucket
| Check encryption | |
| | aws s3api put-bucket-encryption --bucket my-bucket --server-side-encryption-configuration file://encryption.json
| Enable encryption | |
Lambda
Funktionsmanagement
| | Command | Description | |
| --- | --- |
| | aws lambda list-functions
| List all functions | |
| | aws lambda create-function --function-name my-function --runtime python3.9 --role arn:aws:iam::123456789012:role/lambda-role --handler lambda_function.lambda_handler --zip-file fileb://function.zip
| Create function | |
| | aws lambda update-function-code --function-name my-function --zip-file fileb://function.zip
| Update function code | |
| | aws lambda invoke --function-name my-function output.txt
| Invoke function | |
| | aws lambda delete-function --function-name my-function
| Delete function | |
Funktion Konfiguration
| | Command | Description | |
| --- | --- |
| | aws lambda get-function --function-name my-function
| Get function details | |
| | aws lambda update-function-configuration --function-name my-function --timeout 30
| Update timeout | |
| | aws lambda update-function-configuration --function-name my-function --memory-size 256
| Update memory | |
| | aws lambda put-function-event-invoke-config --function-name my-function --maximum-retry-attempts 1
| Configure retries | |
IAM (Identity and Access Management)
Benutzermanagement
| | Command | Description | |
| --- | --- |
| | aws iam list-users
| List all users | |
| | aws iam create-user --user-name myuser
| Create user | |
| | aws iam delete-user --user-name myuser
| Delete user | |
| | aws iam get-user --user-name myuser
| Get user details | |
| | aws iam create-access-key --user-name myuser
| Create access key | |
| | aws iam delete-access-key --user-name myuser --access-key-id AKIAIOSFODNN7EXAMPLE
| Delete access key | |
Role Management
| | Command | Description | |
| --- | --- |
| | aws iam list-roles
| List all roles | |
| | aws iam create-role --role-name MyRole --assume-role-policy-document file://trust-policy.json
| Create role | |
| | aws iam attach-role-policy --role-name MyRole --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
| Attach policy to role | |
| | aws iam detach-role-policy --role-name MyRole --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
| Detach policy from role | |
Politikmanagement
| | Command | Description | |
| --- | --- |
| | aws iam list-policies
| List all policies | |
| | aws iam create-policy --policy-name MyPolicy --policy-document file://policy.json
| Create policy | |
| | aws iam delete-policy --policy-arn arn:aws:iam::123456789012:policy/MyPolicy
| Delete policy | |
| | aws iam get-policy --policy-arn arn:aws:iam::123456789012:policy/MyPolicy
| Get policy details | |
CloudFormation
Stack Management
| | Command | Description | |
| --- | --- |
| | aws cloudformation list-stacks
| List all stacks | |
| | aws cloudformation create-stack --stack-name my-stack --template-body file://template.yaml
| Create stack | |
| | aws cloudformation update-stack --stack-name my-stack --template-body file://template.yaml
| Update stack | |
| | aws cloudformation delete-stack --stack-name my-stack
| Delete stack | |
| | aws cloudformation describe-stacks --stack-name my-stack
| Get stack details | |
| | aws cloudformation describe-stack-events --stack-name my-stack
| Get stack events | |
Projektleitung
| | Command | Description | |
| --- | --- |
| | aws cloudformation validate-template --template-body file://template.yaml
| Validate template | |
| | aws cloudformation estimate-template-cost --template-body file://template.yaml
| Estimate costs | |
| | aws cloudformation get-template --stack-name my-stack
| Get stack template | |
RDS (Relational Database Service)
Verwaltung von Datenbanken
| | Command | Description | |
| --- | --- |
| | aws rds describe-db-instances
| List all DB instances | |
| | aws rds create-db-instance --db-instance-identifier mydb --db-instance-class db.t3.micro --engine mysql --master-username admin --master-user-password mypassword --allocated-storage 20
| Create DB instance | |
| | aws rds start-db-instance --db-instance-identifier mydb
| Start DB instance | |
| | aws rds stop-db-instance --db-instance-identifier mydb
| Stop DB instance | |
| | aws rds delete-db-instance --db-instance-identifier mydb --skip-final-snapshot
| Delete DB instance | |
Datenbank Snapshots
| | Command | Description | |
| --- | --- |
| | aws rds describe-db-snapshots
| List all snapshots | |
| | aws rds create-db-snapshot --db-instance-identifier mydb --db-snapshot-identifier mydb-snapshot
| Create snapshot | |
| | aws rds restore-db-instance-from-db-snapshot --db-instance-identifier mydb-restored --db-snapshot-identifier mydb-snapshot
| Restore from snapshot | |
| | aws rds delete-db-snapshot --db-snapshot-identifier mydb-snapshot
| Delete snapshot | |
VPC (Virtual Private Cloud)
VPC Management
| | Command | Description | |
| --- | --- |
| | aws ec2 describe-vpcs
| List all VPCs | |
| | aws ec2 create-vpc --cidr-block 10.0.0.0/16
| Create VPC | |
| | aws ec2 delete-vpc --vpc-id vpc-12345678
| Delete VPC | |
| | aws ec2 describe-subnets
| List all subnets | |
| | aws ec2 create-subnet --vpc-id vpc-12345678 --cidr-block 10.0.1.0/24
| Create subnet | |
Route Tabellen
| | Command | Description | |
| --- | --- |
| | aws ec2 describe-route-tables
| List route tables | |
| | aws ec2 create-route-table --vpc-id vpc-12345678
| Create route table | |
| | aws ec2 create-route --route-table-id rtb-12345678 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-12345678
| Add route | |
| | aws ec2 associate-route-table --subnet-id subnet-12345678 --route-table-id rtb-12345678
| Associate route table | |
Auf der Karte ansehen
Metriken und Alarme
| | Command | Description | |
| --- | --- |
| | aws cloudwatch list-metrics
| List all metrics | |
| | aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization --dimensions Name=InstanceId,Value=i-1234567890abcdef0 --statistics Average --start-time 2023-01-01T00:00:00Z --end-time 2023-01-02T00:00:00Z --period 3600
| Get metric statistics | |
| | aws cloudwatch describe-alarms
| List all alarms | |
| | aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Alarm when CPU exceeds 70%" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70.0 --comparison-operator GreaterThanThreshold
| Create alarm | |
Logs
| | Command | Description | |
| --- | --- |
| | aws logs describe-log-groups
| List log groups | |
| | aws logs create-log-group --log-group-name my-log-group
| Create log group | |
| | aws logs describe-log-streams --log-group-name my-log-group
| List log streams | |
| | aws logs get-log-events --log-group-name my-log-group --log-stream-name my-log-stream
| Get log events | |
Best Practices
Sicherheit
- ** Verwenden Sie IAM Roles**: Beziehen Sie IAM-Rollen über Zugangsschlüssel für EC2-Instanzen
- Least Privilege: Mindestberechtigungen gewähren
- MFA: Multifaktor-Authentifizierung für empfindliche Operationen aktivieren
- *Rote Schlüssel: Regelmäßig drehen Sie Zugriffsschlüssel und Passwörter
Kostenoptimierung
- *Resource Tagging: Alle Ressourcen für die Kostenverfolgung
- Right Sizing: Monitor und Einstellung von Instanzgrößen basierend auf der Nutzung
- *Reservierte Instanzen: Verwenden Sie reservierte Instanzen für vorhersehbare Workloads
- *Krankenhäuser: Verwenden Sie Spot-Instanzen für fehlertolerante Workloads
Automatisierung
- CloudFormation: Infrastruktur als Code für reproduzierbare Bereitstellungen verwenden
- *AWS CLI Scripts: Automate repetitive Aufgaben mit Shell-Skripten
- *AWS SDK: Verwenden Sie AWS SDKs für die Anwendungsintegration
- *CI/CD: Integration von AWS CLI in kontinuierliche Integrationspipelines