Vai al contenuto

AWS CLI

Traduzione: Copia tutti i comandi Traduzione: Generare PDF < > Comandi e flussi di lavoro AWS CLI completi per la gestione delle infrastrutture Amazon Web Services, tra cui EC2, S3, Lambda e altro ancora. ## Installazione e configurazione | | 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) ### Gestione del sistema | | 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 | | ### Gruppi di sicurezza | | 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 | | ### Coppie chiave | | 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 (Servizio di stoccaggio semplice) ### Operazioni di secchio | | 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 | | ### Operazioni di file | | 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 | | ### Operazioni S3 avanzate | | 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 ### Gestione delle funzioni | | 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 | | ### Configurazione della funzione | | 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) ### Gestione utente | | 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 | | ### Gestione del ruolo | | 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 | | ### Gestione delle politiche | | 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 | | ## Formazione cloud ### Gestione di Stack | | 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 | | ### Operazioni dei modelli | | 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 (Servizio Database relazionale) ### Gestione del database | | 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 | | ### Istantanee del database | | 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 Gestione | | 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 | | ### Tavoli di percorso | | 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 | | ## CloudWatch ### metriche e allarmi | | 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 | | ## Migliori Pratiche ### Sicurezza 1. ** Utilizzare IAM Roles**: Preferire i ruoli IAM sui tasti di accesso per le istanze EC2 2. **Least Privilege**: Concedere autorizzazioni minime richieste 3. **MFA**: Abilitare l'autenticazione multifattore per operazioni sensibili 4. #Rotate Keys # Regolarmente ruotare chiavi di accesso e password ### Ottimizzazione dei costi 1. # Resource Tagging # Tagga tutte le risorse per il monitoraggio dei costi 2. - Si'. Monitorare e regolare le dimensioni delle istanze in base all'utilizzo 3. **Stati riservati**: Utilizzare istanze riservate per carichi di lavoro prevedibili 4. **Istruzioni dei punti**: Utilizzare istanze dei punti per carichi di lavoro tolleranti ### Automazione 1. **CloudFormation ** Utilizzare Infrastructure come Codice per implementazioni riproducibili 2. **AWS CLI Scripts**: Automatizza le attività ripetitive con gli script di shell 3. **AWS SDK**: Utilizzare gli SDK AWS per l'integrazione delle applicazioni 4. **CI/CD**: Integrare AWS CLI in pipeline di integrazione continua