Vai al contenuto

Terraforma

Traduzione: Copia tutti i comandi Traduzione: Generare PDF < > Comandi e flussi di lavoro completi di Terraform per Infrastructure come Code (IaC), tra cui gestione delle risorse, operazioni di stato e distribuzioni multi-cloud. ## Installazione e configurazione | | Command | Description | | | --- | --- | | | `terraform version` | Show Terraform version | | | | `terraform -help` | Show help information | | | | `terraform -help plan` | Show help for specific command | | ## Flusso di lavoro centrale ### Operazioni di base | | Command | Description | | | --- | --- | | | `terraform init` | Initialize working directory | | | | `terraform plan` | Create execution plan | | | | `terraform apply` | Apply changes | | | | `terraform destroy` | Destroy infrastructure | | | | `terraform validate` | Validate configuration | | | | `terraform fmt` | Format configuration files | | ### Pianificazione avanzata | | Command | Description | | | --- | --- | | | `terraform plan -out=tfplan` | Save plan to file | | | | `terraform apply tfplan` | Apply saved plan | | | | `terraform plan -target=resource.name` | Plan specific resource | | | | `terraform plan -var="key=value"` | Plan with variables | | | | `terraform plan -var-file="vars.tfvars"` | Plan with variable file | | ## Gestione dello Stato ### Operazioni statali | | Command | Description | | | --- | --- | | | `terraform state list` | List resources in state | | | | `terraform state show resource.name` | Show resource details | | | | `terraform state mv old_name new_name` | Move resource in state | | | | `terraform state rm resource.name` | Remove resource from state | | | | `terraform state pull` | Download remote state | | | | `terraform state push` | Upload state to remote | | ### Backup e recupero di stato | | Command | Description | | | --- | --- | | | `terraform state backup` | Create state backup | | | | `terraform force-unlock LOCK_ID` | Force unlock state | | | | `terraform refresh` | Update state with real resources | | ## Spazi di lavoro | | Command | Description | | | --- | --- | | | `terraform workspace list` | List workspaces | | | | `terraform workspace new dev` | Create new workspace | | | | `terraform workspace select dev` | Switch to workspace | | | | `terraform workspace delete dev` | Delete workspace | | | | `terraform workspace show` | Show current workspace | | ## Importazione e uscita ### Risorse di importazione | | Command | Description | | | --- | --- | | | `terraform import resource.name id` | Import existing resource | | | | `terraform import aws_instance.example i-1234567890abcdef0` | Import AWS instance | | ### Uscite | | Command | Description | | | --- | --- | | | `terraform output` | Show all outputs | | | | `terraform output instance_ip` | Show specific output | | | | `terraform output -json` | Show outputs in JSON | | ## Esempi di configurazione ### AWS EC2 di base Traduzione: ### Variabili Traduzione: ### Fonti di dati Traduzione: ### Moduli Traduzione: ## Configurazione di stato remoto ### S3 Backend Traduzione: ### Indietro di Azure Traduzione: ### Google Cloud Backend Traduzione: ## Configurazione del fornitore ### AWS Provider Traduzione: ### Azure Provider Traduzione: ### Google Cloud Provider Traduzione: ## Caratteristiche avanzate ### Risorse condizionali Traduzione: ### Per ogni Traduzione: ### Blocchi Dinamici # ## Test e convalida ### Convalida Terraform | | Command | Description | | | --- | --- | | | `terraform validate` | Validate syntax | | | | `terraform validate -json` | Validate with JSON output | | ### Analisi del Piano Terraform | | Command | Description | | | --- | --- | | | `terraform plan -detailed-exitcode` | Plan with detailed exit codes | | | | `terraform show` | Show current state | | | | `terraform show -json` | Show state in JSON | | ### Strumenti di terze parti | | Command | Description | | | --- | --- | | | `tflint` | Terraform linter | | | | `terraform-docs` | Generate documentation | | | | `checkov -f main.tf` | Security scanning | | | | `tfsec .` | Security analysis | | ## Debug e Risoluzione dei problemi ### Registrazione | | Command | Description | | | --- | --- | | | `TF_LOG=DEBUG terraform plan` | Enable debug logging | | | | `TF_LOG=TRACE terraform apply` | Enable trace logging | | | | `TF_LOG_PATH=terraform.log terraform plan` | Log to file | | ### Questioni comuni | | Command | Description | | | --- | --- | | | `terraform refresh` | Sync state with reality | | | | `terraform taint resource.name` | Mark resource for recreation | | | | `terraform untaint resource.name` | Remove taint from resource | | ## Migliori Pratiche ### Organizzazione dei file Traduzione: ### Contratti di versione Traduzione: ### Denominazione delle risorse Traduzione: ### Migliori pratiche di sicurezza 1. - Si'. Usa lo stato remoto con la crittografia 2. ** Gestione dei segreti ** Utilizzare negozi segreti esterni 3. ** Controllo accesso**: implementare politiche IAM appropriate 4. **Code Review**: rivedere tutti i cambiamenti infrastrutturali 5. **Scanning**: Utilizzare strumenti di scansione della sicurezza ### Ottimizzazione delle prestazioni 1. **Parallelism**: Usa la bandiera `-parallelism` per grandi distribuzioni 2. **Targeting**: Usa `-target` per risorse specifiche 3. **State Spliting** Spalato grandi stati in quelli più piccoli 4. **Module Design**: Progettazione moduli riutilizzabili