Obiettivo: Eseguire l'ambiente di laboratorio su Azure Container Apps utilizzando OpenTofu (Infrastructure as Code).
- Segui la guida qui sotto per effettuare il deploy su Azure.
- Verifica che il server Minecraft sia accessibile tramite il dominio (o IP).
- Carica in questo repository gli Screenshot richiesti.
Questo repository contiene la configurazione OpenTofu per avviare un server Minecraft su Azure Container Apps, con supporto opzionale per Azure DNS.
Clona il repository:
git clone <URL_DEL_TUO_REPOSITORY>
cd iac-introUna volta clonato il repository, esegui lo script di installazione per preparare il tuo computer con tutti i software necessari (OpenTofu, Azure CLI, ecc.):
.\install.ps1- Accetta le richieste di amministrazione se compaiono.
- Riavvia il terminale se richiesto.
Assicurati di avere installato:
tofu -vaz versionDevi inoltre avere un account Azure attivo.
Il Provider Azure: az login
OpenTofu (o Terraform) è solo un esecutore logico e non ha permessi intrinseci sul tuo cloud. Il provider azurerm dice con chi parlare, ma az login dice chi sei. Senza autenticazione, Tofu non può creare risorse per tuo conto. Esegui sempre az login prima di configurare tofu.
Per iniziare, autenticati con il tuo account Azure:
az loginInizializza OpenTofu per scaricare i provider necessari:
tofu initCopia il file di esempio delle variabili:
cp terraform.tfvars.example terraform.tfvarsModifica il file terraform.tfvars appena creato:
- Importante: Assegna nomi globalmente univoci a:
storage_account_name: deve essere unico in tutto Azure (es.stminecraft[nome]).acr_name: deve essere unico in tutto Azure (es.acrminecraft[nome]).- Suggerimento: Aggiungi il tuo nome o numeri casuali alla fine (solo lettere minuscole e numeri).
- (Opzionale) Imposta
domain_namese possiedi un dominio personalizzato. Se lasciato vuoto o rimosso, verrà usato il dominio di default di Azure o l'IP statico.
Il "Plan" è la Vostra Sicurezza
Il comando tofu plan (o terraform plan) è la tua rete di salvataggio. Ti mostra esattamente cosa verrà creato, modificato o distrutto prima che accada. Leggilo sempre attentamente per evitare modifiche indesiderate o distruzioni accidentali.
Quindi è fondamentale verificare quello che tofu sta per fare prima di applicare le modifiche.
tofu planAnalizza l'output:
- Controlla che vengano create le rigorse previste (es.
azurerm_container_app,azurerm_storage_account). - Verifica che non ci siano distruzioni impreviste (
0 to destroyè l'ideale per un nuovo deploy, ma attenzione agli aggiornamenti).
Solo se il piano ti soddisfa, applica la configurazione per creare le risorse su Azure:
tofu applyDigita yes quando richiesto per confermare.
Al termine del deployment, OpenTofu mostrerà degli Outputs (puoi rivederli con tofu output).
- Indirizzo Minecraft: Usa il valore di
connect_minecraft.- Es.
undominio.azure.com:25565oppure<IP_Statico1>:25565.
- Es.
- DNS: Se hai configurato un dominio personalizzato, aggiorna i Nameserver del tuo registrar con quelli mostrati in
dns_name_servers.
- Apri Minecraft.
- Aggiungi server con l'indirizzo ottenuto.
- Entra nel mondo!
Su questo repository, carica screenshot che mostrano:
- Il terminale con l'output di
tofu applycompletato. - Il server Minecraft nella lista server (con ping verde) o mentre sei in gioco.
Per non consumare credito e non pagare di più, rimuovere tutte le risorse create su Azure:
tofu destroyDigita yes per confermare.
tofu destroy rimuove risorse come Storage Account se gestiti da Tofu. In questa configurazione, lo Storage Account è gestito da Tofu, quindi verrà eliminato insieme ai dati. Se vuoi preservarli, dovresti rimuovere lo State o usare un Lifecycle block, ma per questo lab, tofu destroy pulisce tutto.
Distribuito sotto licenza MIT.