AWS CloudFormation server linguistico - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS CloudFormation server linguistico

Il server AWS CloudFormation linguistico offre funzionalità per accelerare la creazione infrastructure-as-code (IaC) e l'implementazione AWS delle risorse in modo sicuro e affidabile. Segue il Language Server Protocol (LSP) per fornire documentazione sull'hover, sul completamento automatico, sulla diagnostica tramite convalida statica, sul passaggio alla definizione e sulle azioni del codice. Oltre a queste funzionalità dei server linguistici tradizionali, il server aggiunge funzionalità online tramite le quali esplorare e distribuire le risorse. AWS CloudFormation Ciò include la possibilità di convalidare e distribuire modelli utilizzando set di modifiche, visualizzare differenze di stack, eventi, risorse e output, elencare gli stack e sfogliare le risorse per tipo e inserire lo stato delle risorse in tempo reale direttamente nei modelli. CloudFormation Gli strumenti per sviluppatori e gli ambienti di sviluppo integrati (IDE) possono sfruttare le funzionalità del server linguistico per migliorare l'esperienza degli sviluppatori IaC su. CloudFormation

IDEs integrazione con il server linguistico AWS CloudFormation

L'estensione AWS Toolkit integra il server CloudFormation linguistico per migliorare l'esperienza di creazione. Questa integrazione è attualmente supportata in VS Code based IDEs, tra cui:

Nozioni di base

Prerequisiti

Prima di iniziare, assicurati di quanto segue:

  • Stai utilizzando un IDE basato su VS Code su un sistema operativo supportato (macOSWindows, o). Linux

  • Hai installato o eseguito l'aggiornamento alla versione più recente del AWS Toolkit per il tuo IDE.

Alcune funzionalità del server di AWS CloudFormation lingua richiedono credenziali attive Account AWS e configurate. È necessario accedere al proprio account Account AWS tramite il AWS Toolkit utilizzando credenziali valide.

Fase 1: Installare o aggiornare il Toolkit AWS

  • Apri le estensioni o il gestore dei plugin del tuo IDE.

  • Cerca AWS Toolkit.

  • Installa o aggiorna alla versione 3.85.0 o successiva del AWS Toolkit per il tuo IDE.

  • Riavvia l'IDE dopo l'installazione.

Nota: dopo l'installazione, il AWS Toolkit abilita automaticamente il supporto CloudFormation IDE. Quando installi o aggiorni per la prima volta il AWS Toolkit con l'estensione AWS CloudFormation Language Server, ti viene richiesto di concedere l'autorizzazione AWS per la raccolta di dati di utilizzo anonimi. Questi dati aiutano a AWS migliorare il server CloudFormation linguistico e l'esperienza di creazione. Non vengono raccolte informazioni sensibili e AWS non vengono registrati o archiviati i contenuti dei modelli, le configurazioni delle risorse o i dati identificabili dei clienti. È possibile modificare le preferenze di telemetria in qualsiasi momento dalle impostazioni IDE. I dati di utilizzo raccolti si concentrano solo sulle interazioni tra funzionalità e sulle metriche delle prestazioni. Queste informazioni aiutano a AWS identificare e dare priorità a miglioramenti come una convalida più rapida, il completamento automatico avanzato e una migliore diagnostica degli errori.

Fase 2: Accesso dal pannello Toolkit CloudFormation AWS

Nel tuo IDE, apri il pannello AWS Toolkit dalla barra delle attività. In AWS Toolkit, scegli CLOUDFORMATION.

Sezioni del pannello:

  • Regione: mostra la corrente Regione AWS. È possibile modificarla selezionando il nome della regione o utilizzando il comando AWS CloudFormation: Seleziona regione dalla palette dei comandi.

  • Ambiente: indica l'ambiente selezionato durante CFN init (ad esempio, dev, test o prod). Questo valore appare solo dopo aver completato la fase di selezione dell'ambiente.

  • Pile: mostra un elenco impaginato di CloudFormation pile presenti nel tuo account.

    • Fai clic sull'icona di aggiornamento per aggiornare l'elenco degli stack.

    • Usa l'icona + per distribuire un nuovo modello come pila.

    • Ogni voce dello stack include:

      • Panoramica: visualizza il riepilogo e lo stato dello stack

      • ID dello stack

      • Descrizione

      • Ora di creazione e ora di aggiornamento

      • Stato e motivo dello stato

      • Eventi, risultati e risorse

    • Cambia set

  • Risorse: dopo aver selezionato un tipo di risorsa, il pannello mostra le AWS risorse di quel tipo presenti nel tuo account. Puoi visualizzarle, aggiornarle, copiarle o importarle nel tuo modello.

Passaggio 3: convalida, testa e perfeziona il modello

Durante la stesura del CloudFormation modello, l'IDE fornisce assistenza di redazione intelligente per aiutarti a creare più rapidamente un'infrastruttura accurata e conforme. Il server della CloudFormation lingua viene eseguito in background e fornisce le seguenti funzionalità di creazione:

  • Completamento del codice: suggerisce tipi di risorse, parametri e proprietà in base a CloudFormation schemi.

  • Aggiungi AWS risorse esistenti: consente di importare risorse esistenti dal tuo Account AWS nel tuo modello. L'IDE utilizza AWS Cloud Control API (CCAPI) per recuperare la configurazione live e le proprietà della risorsa, aiutandovi a clonare o riutilizzare l'infrastruttura esistente all'interno del modello.

Per aggiungere risorse al modello

  • Espandi il pannello CloudFormation Risorse: nel pannello laterale AWS Toolkit, espandi CloudFormation, quindi in Risorse, fai clic sull'icona Aggiungi +.

  • Cerca un tipo di risorsa: per trovare un tipo di AWS risorsa specifico, nella barra di ricerca digita il tipo di AWS risorsa specifico che desideri aggiungere. Esempio:

    • AWS::S3::Bucket

    • AWS::Lambda::Function

    È possibile selezionare il tipo di risorsa utilizzando AWS CloudFormation: Aggiungi tipi di risorse nella palette dei comandi.

  • Aggiungere risorse al modello: nel pannello Risorse, viene visualizzato un elenco impaginato delle AWS risorse rilevate nell'account. Se disponi di molte risorse, viene mostrata solo la prima pagina. Utilizza i controlli di navigazione nella parte inferiore del pannello per spostarti tra le pagine aggiuntive e visualizzare tutte le risorse disponibili.

  • Scegli la risorsa che desideri includere nel tuo modello.

  • Puoi inserire una risorsa nel modello in due modi, a seconda del tuo obiettivo:

    • Clona una risorsa esistente: crea una nuova risorsa nel tuo modello utilizzando la configurazione live e le proprietà di una AWS risorsa esistente.

    • Importa una risorsa esistente: inserisci la risorsa effettiva nello stack aggiungendola al modello utilizzando il suo stato attivo.

Suggerimenti

  • Puoi aggiornare il pannello Risorse in qualsiasi momento per visualizzare l'elenco più recente delle risorse disponibili nel tuo account o nella tua regione.

  • Se state importando risorse, non aggiungete una risorsa che appartiene già a uno CloudFormation stack esistente nello stesso account.

  • Per confermare se una risorsa è già gestita da CloudFormation, fai clic sull'icona i (informazioni) accanto al nome della risorsa.

  • In alternativa, puoi usare il comando AWS CloudFormation: Get Stack Management Info per verificare se una risorsa appartiene a uno stack.

È possibile aggiungere risorse correlate alla risorsa selezionata utilizzando il comando AWS CloudFormation: Aggiungi risorse correlate per tipo. Dopo aver selezionato un tipo di risorsa tra quelli già definiti nel modello, l'IDE visualizza un elenco di risorse che in genere sono associate o dipendenti da quel tipo. Ad esempio, se si seleziona unAWS::EC2::Instance, l'IDE potrebbe suggerire di aggiungere risorse correlate come AWS::EC2::SecurityGroup oAWS::EC2::Subnet. Questa funzionalità consente di creare rapidamente componenti dell'infrastruttura connessa senza cercare manualmente tipi di risorse compatibili.

Convalida statica

L' CloudFormation IDE fornisce una convalida statica integrata basata su AWS CloudFormation Linter (cfn-lint) e. AWS CloudFormation Guard Queste convalide vengono eseguite dietro le quinte durante la creazione dei modelli, aiutandoti a identificare errori di sintassi, lacune di conformità e problemi relativi alle best practice prima della distribuzione.

Panoramica sulla convalida statica

Nell'IDE vedrai due tipi di convalide statiche in tempo reale:

  • CloudFormation Linter (cfn-lint): convalida il modello in base alle specifiche CloudFormation delle risorse e alle regole dello schema.

  • Guard (cfn-guard): convalida il modello rispetto alle regole di conformità e ai pacchetti di policy organizzative.

CloudFormation Linter (cfn-lint)

CloudFormation Linter è integrato nell'IDE per controllare automaticamente la sintassi e la struttura del modello durante la digitazione.

  • Convalida dello schema: rileva gli errori di sintassi e schema per garantire che i modelli siano conformi allo schema delle risorse. CloudFormation

  • Evidenziazione degli errori: visualizza linee ondulate rosse o gialle in corrispondenza dei problemi, che rappresentano avvisi o blocchi di distribuzione.

  • Guida al passaggio del mouse: quando passi il mouse su un errore, l'IDE mostra il messaggio di diagnostica associato a quel problema. Se è disponibile una soluzione rapida, questa verrà offerta anche nel pannello posizionato al passaggio del mouse.

Integrazione con Guard

Guard convalida i tuoi modelli in base a set di regole che definiscono le politiche di conformità e sicurezza. L'IDE esegue le convalide Guard in tempo reale tramite il server del CloudFormation linguaggio, offrendoti un feedback immediato durante la creazione dei modelli.

  • Pacchetti di regole predefiniti: l'IDE include un set preregistrato di regole Guard incentrate sulle migliori pratiche fondamentali per la sicurezza delle risorse e l'igiene della configurazione. Per saperne di più, consulta il Guard Rule Registry.

  • Aggiungere pacchetti di regole: per aggiungere o modificare set di regole, apri Settings, Guard e seleziona o carica altri pacchetti di regole Guard.

Suggerimenti: Comprendere gli indicatori a linee ondulate

  • Blue Squiggles: suggerimenti sulle migliori pratiche o consigli di ottimizzazione.

  • Scarabocchi gialli: avvertenze relative a problemi non bloccanti (ad esempio, tag o parametri mancanti).

  • Scarabocchi rossi: elementi che bloccano la distribuzione, ad esempio nomi di proprietà non validi, campi obbligatori mancanti o mancate corrispondenze dello schema.

Fase 4: Naviga attraverso il modello

Quando fai clic su un file modello in Explorer, il pannello Struttura mostra automaticamente una visualizzazione strutturata e gerarchica del modello. CloudFormation Organizza il modello in sezioni comeParameters, Resources OutputsMappings, e e mostra ogni tipo di risorsa e ID logico. In questo modo è facile individuare e accedere rapidamente a risorse o parametri specifici all'interno di modelli di grandi dimensioni.

È possibile utilizzare Vai alla definizione per funzioni intrinseche come GetAtt eRef, che consente di passare direttamente alla risorsa o al parametro di riferimento nel modello. Ciò consente di tracciare le dipendenze, comprendere le relazioni tra le risorse e apportare modifiche in modo più efficiente.

Fase 5: Convalida e implementazione

Quando sei pronto per distribuire il CloudFormation modello, apri la palette dei comandi ed esegui AWS CloudFormation: Validate and Deploy. Il comando convalida il modello e, se non vengono rilevati errori di blocco, passa alla fase di distribuzione. Prima della conferma, l'IDE mostra un riepilogo del set di modifiche in base alla deriva e una visualizzazione delle differenze in modo da poter esaminare tutte le modifiche proposte.

Come funziona la convalida

L'IDE esegue automaticamente un controllo di convalida prima della distribuzione e convalida il modello in base alle cause di errore più comuni, tra cui:

  • Errori nella sintassi delle proprietà o nello schema non validi: questi problemi vengono in genere rilevati cfn-lint durante la creazione, ma se un utente procede alla distribuzione senza risolverli, la convalida in fase di implementazione mostrerà gli stessi errori prima della creazione o CloudFormation dell'aggiornamento dello stack.

  • Il nome della risorsa è in conflitto con le risorse esistenti nel tuo account.

  • Vincoli specifici del servizio, come i conflitti tra i nomi dei bucket S3 o la mancanza di crittografia.

Se la convalida rileva errori, l'IDE evidenzia i problemi direttamente nel modello utilizzando linee ondulate rosse o gialle ed elenca gli errori nel pannello PROBLEMI. Ogni problema include la proprietà o la risorsa specifica che ha causato l'errore, insieme a una correzione suggerita. Se non sono presenti errori di blocco, puoi procedere alla fase di distribuzione.

Se vengono rilevati avvisi (problemi non bloccanti), viene visualizzata una finestra di dialogo che consente di procedere con la distribuzione o annullare e apportare correzioni.

L'IDE apre un set di modifiche in base alla deriva che mostra le eventuali differenze tra il modello corrente e la configurazione dello stack distribuito. Ciò consente di rivedere, confermare o annullare il set di modifiche prima dell'esecuzione.

Nota: i set di modifiche compatibili con la deriva migliorano il processo di CloudFormation implementazione consentendo di gestire la deriva dello stack in modo sicuro. La deriva dello stack si verifica quando lo stato effettivo delle risorse è diverso da quello definito nel CloudFormation modello, spesso a causa di modifiche manuali apportate tramite Console di gestione AWS CLI o SDK. CloudFormationil set di modifiche in base alla deriva confronta la configurazione dello stack elaborato con lo stato delle risorse in tempo reale e l'IDE evidenzia queste differenze in modo da poter ripristinare la conformità delle risorse prima della distribuzione.

Visualizzare gli eventi dello stack

All'inizio della distribuzione, puoi accedere alla CloudFormationscheda del pannello per monitorare l'avanzamento in tempo reale. In Stack Events, vedrai un elenco di operazioni eseguite durante la distribuzione. Ogni evento include dettagli come:

  • Timestamp: l'ora in cui si è verificato l'evento

  • Risorsa: la AWS risorsa specifica che viene creata, aggiornata o eliminata

  • Stato: lo stato corrente dell'operazione (ad esempioCREATE_IN_PROGRESS,UPDATE_COMPLETE, oROLLBACK_IN_PROGRESS)

  • Motivo: messaggi di contesto o di errore aggiuntivi, se applicabile

Da questo pannello puoi anche visualizzare le risorse e gli output dello stack. Se vuoi aprire lo stack in Console di gestione AWS, usa l'icona del link esterno accanto al nome dello stack. La visualizzazione Stack Events consente di tenere traccia dei progressi della distribuzione, identificare potenziali problemi e confermare se lo stack è stato completato correttamente.

Inizializzazione di un CloudFormation progetto nell'IDE

L'inizializzazione di un CloudFormation progetto nell'IDE consente di configurare uno spazio di lavoro strutturato con le cartelle, la configurazione dell'ambiente e le AWS credenziali corrette in modo da poter convalidare e distribuire i modelli in modo affidabile. È possibile inizializzare un nuovo CloudFormation progetto direttamente dall'IDE per creare questa configurazione consigliata.

Per inizializzare un CloudFormation progetto:

  • Aprire la palette dei comandi

    • Dal tuo IDE, apri la palette dei comandi (Ctrl+Shift+Po Cmd+Shift+P attivamacOS).

    • Scegli AWS CloudFormation: CFN Init: Initialize Project.

  • Scegli una cartella di progetto

    • Per impostazione predefinita, l'IDE utilizza la directory di lavoro corrente.

    • È possibile modificare questo percorso in qualsiasi cartella in cui si desidera archiviare i CloudFormation modelli.

  • Seleziona il tuo profilo di AWS credenziali

    • Ti verrà richiesto di scegliere un profilo di AWS credenziali. Il profilo selezionato verrà utilizzato per il rilevamento, le convalide e le implementazioni dell'ambiente.

  • Configura il tuo ambiente

    • Ti verrà richiesto di creare o selezionare un ambiente.

    • Gli ambienti definiscono dove e come verranno distribuiti o convalidati i modelli (ad esempio, sviluppo, versione beta o produzione). Puoi usare AWS CloudFormation: CFN Init: Add Environment per selezionare o modificare il tuo ambiente.

    • Puoi usare AWS CloudFormation: CFN Init: Remove Environment per rimuovere l'ambiente che hai selezionato.

  • (Facoltativo) Importa i file dei parametri

    • Se disponete già di file di parametri esistenti, l'IDE consente di importarli durante l'inizializzazione.

    • L'IDE rileva automaticamente i file compatibili e li collega al progetto per utilizzarli nella convalida e nella distribuzione dei modelli.

  • Assegna un nome e finalizza il progetto

    • Fornisci un nome per il progetto, ad esempio beta-environment, e completa la configurazione.

    • L'IDE crea automaticamente la struttura iniziale del progetto e il file di configurazione.

È possibile eseguire convalide, visualizzare in anteprima le distribuzioni o passare da un ambiente all'altro direttamente dall'IDE.

Open source

Il server AWS CloudFormation linguistico è open source in base alla Apache-2.0 licenza e offre ai clienti la massima trasparenza su come vengono eseguite la diagnostica dei modelli, la convalida dello schema e l'analisi statica. Ciò riduce le difficoltà legate alla sicurezza e alla conformità per i clienti che richiedono una visibilità a livello di sorgente prima di adottare gli strumenti.

Il codice base è disponibile pubblicamente su: cloudformation-languageserver/. GitHub https://github.com/aws-cloudformation/

Serve aiuto?

CloudFormationProva AWS re:Post la community su.