Laboratorio dimostrativo · Cloud Engineering
Laboratorio Cloud Engineer. Terraform e verifiche locali.
Questo laboratorio dimostrativo traduce un’architettura AWS in codice Terraform e controlli ripetibili. È lo stesso esempio descritto nell’approfondimento Cloud Architect: qui il focus è sull’implementazione, sui vincoli degli input e sulle verifiche locali con provider simulato.
Il contesto
Dal disegno al modulo
Il modulo definisce l’infrastruttura per distribuire file web pubblici: un bucket S3 come origine privata e una distribuzione CloudFront. Le risorse, i permessi e le dipendenze sono espressi nel codice. Il caricamento dei contenuti, il dominio e il certificato restano attività separate.
Il vincolo da rispettare
Rendere controllabile la configurazione
Il lavoro consiste nel precisare gli ingressi del modulo e le condizioni da mantenere: origine non pubblica, accesso CloudFront limitato alla distribuzione prevista e HTTPS per i visitatori. I test devono distinguere questi requisiti dai valori fittizi generati dal provider simulato.
Il rilascio, per passaggi
Il lavoro di implementazione
Definire risorse e permessi
La configurazione comprende proprietà degli oggetti, blocco dell’accesso pubblico, cifratura e versioning S3. L’Origin Access Control firma le richieste; la bucket policy autorizza la lettura degli oggetti da parte della distribuzione indicata.
Esplicitare HTTPS e cache
Il dominio e l’ARN del certificato sono variabili richieste. La distribuzione usa un certificato personalizzato, la policy TLSv1.2_2021 e il redirect HTTP verso HTTPS. Una policy separata definisce i tempi di cache del contenuto statico.
Controllare gli ingressi
Le validazioni degli input rendono espliciti i vincoli di nome, dominio e certificato. I casi negativi dei test descrivono configurazioni da rifiutare, compreso un ARN che non appartiene alla regione prevista per il certificato CloudFront.
Preparare verifiche ripetibili
Il lockfile fissa versione e checksum del provider. La procedura comprende formattazione, validazione e piani di test con mock. Gli ARN simulati hanno valori deterministici; le asserzioni esaminano la policy prodotta dal modulo e i collegamenti tra risorse.
Il collaudo del progetto
Gli artefatti del laboratorio
Il risultato riguarda codice e verifiche locali. Non rappresenta un’infrastruttura collaudata su AWS.
- Risorse e dipendenze esplicite
- Codice ispezionabile
Il modulo collega origine, controllo di accesso, policy e distribuzione, rendendo leggibili le scelte di configurazione.
- Condizioni dichiarate
- Input controllati
Le validazioni e i casi negativi descrivono quali valori devono essere accettati o rifiutati.
- Provider simulato · tutti superati
- 12 test locali
Quattro scenari controllano le proprietà della configurazione; otto verificano il rifiuto di input non validi. Ogni esecuzione usa un piano simulato.
Materiali consultabili
Codice e verifiche
- Guida al laboratorio e comandi di verifica
- Risorse Terraform e policy di accesso
- Variabili e validazioni degli input
- Versioni Terraform e provider
- Output del modulo
- Test di sicurezza e casi negativi
- Lockfile del provider con checksum
- Script per ripetere i controlli in isolamento
- Risultati delle verifiche locali
Il perimetro dei risultati
Cosa coprono le verifiche.
La validazione controlla sintassi, schema e coerenza della configurazione; i mock non verificano le API AWS. Non dimostrano l’esistenza del certificato, i permessi effettivi dell’account, l’accettazione delle policy o il funzionamento HTTPS reale. Non sono stati misurati costi, latenza o disponibilità. Un eventuale deployment richiede prerequisiti e collaudi ulteriori.
Oltre la pubblicazione
Una base tecnica da verificare
Il laboratorio documenta come trasformare requisiti in risorse Terraform e controlli sul codice. Le prove locali rendono revisionabili le scelte, lasciando esplicite le verifiche ancora necessarie prima di utilizzare l’infrastruttura.