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 AWS CloudFormation Language Server 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

IDEs integrazione con il AWS CloudFormation Language Server

AWS fornisce off-the-shelf l'integrazione con il CloudFormation Language Server tramite il AWS Toolkit per quanto segue: IDEs

Quanto segue supporta IDEs anche il Language Server: CloudFormation

  • Kiro

  • Cursore

  • La maggior parte dei fork e delle distribuzioni di VS Code

Il CloudFormation Language Server aderisce al Language Server Protocol (LSP) e quindi altre integrazioni sono configurabili. Per istruzioni sull'integrazione del server di lingua con altri editor, consulta la guida all'installazione.

Nozioni di base

Prerequisiti

Prima di iniziare, assicurati di quanto segue:

  • Stai utilizzando un IDE supportato su un sistema operativo supportato (macOSWindows, oLinux).

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

Alcune funzionalità del AWS CloudFormation Language Server 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

Installa o aggiorna il AWS Toolkit alla versione più recente dal gestore di estensioni o plugin del tuo IDE, quindi riavvia l'IDE.

Dopo l'installazione, il AWS Toolkit abilita automaticamente il supporto CloudFormation IDE. Quando installi o aggiorni per la prima volta il AWS Toolkit con il AWS CloudFormation Language Server, ti viene richiesto di concedere l'autorizzazione per la raccolta di dati AWS di utilizzo anonimi. Questi dati aiutano a AWS migliorare il CloudFormation Language Server 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. Riavvia l'IDE per rendere effettive le modifiche. 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 Toolkit CloudFormation AWS

Dopo aver installato il AWS Toolkit, apri il CloudFormation pannello nel tuo IDE. In VS Code, apri il pannello AWS Toolkit dalla barra delle attività e scegli CLOUDFORMATION. In JetBrains IDEs, apri la finestra AWS degli strumenti Toolkit dalla barra laterale e seleziona la scheda. CloudFormation

Il CloudFormation pannello contiene le seguenti sezioni:

  • Regione: visualizza la corrente Regione AWS. In VS Code, puoi cambiarlo selezionando il nome della regione o utilizzando il comando AWS CloudFormation: Seleziona regione dalla palette dei comandi. In JetBrains IDEs, la regione è configurata tramite le impostazioni di connessione del AWS Toolkit.

  • Pile: mostra un elenco impaginato di pile presenti nel tuo CloudFormation account. Espandi uno stack per visualizzarne il nodo Change Sets, che elenca i set di modifiche associati a quello stack. Utilizzare l'azione Visualizza dettagli dello stack per aprire la visualizzazione dei dettagli dello stack, che mostra la panoramica dello stack, gli eventi, gli output e le risorse.

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

In JetBrains IDEs, la barra degli strumenti sopra l'albero consente di accedere rapidamente alle azioni più comuni, tra cui Validate and Deploy, Rerun Validate and Deploy, Add Resource Type e Refresh. Le azioni sono disponibili anche tramite i menu contestuali visualizzati con il pulsante destro del mouse sui nodi dell'albero.

Fase 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 CloudFormation Language Server 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.

  • Estrai su parametro: quando il cursore si trova su un valore letterale in un modello (ad esempio, una stringa simile at2.micro), l'IDE offre un'azione di refactoring per estrarre il valore nella Parameters sezione e sostituire il valore letterale con a nel nuovo parametro. !Ref Se lo stesso valore letterale appare in più punti, puoi scegliere di estrarre tutte le occorrenze contemporaneamente.

Per aggiungere risorse al modello

  • Aggiungere un tipo di risorsa: nel CloudFormation pannello AWS Toolkit, in Risorse, aggiungi un tipo di risorsa da sfogliare. In VS Code, fai clic sull'icona Aggiungi + o usa il comando AWS CloudFormation: Aggiungi tipi di risorse dalla palette dei comandi. In JetBrains, fai clic sul pulsante Aggiungi tipo di risorsa nella barra degli strumenti o fai clic con il pulsante destro del mouse sul nodo Risorse.

  • Cerca un tipo di risorsa: nella finestra di dialogo di ricerca, digita il tipo di AWS risorsa che desideri aggiungere. Esempio:

    • AWS::S3::Bucket

    • AWS::Lambda::Function

  • Sfoglia le risorse: nella sezione Risorse, viene visualizzato un elenco impaginato delle AWS risorse rilevate nel tuo account. Se disponi di molte risorse, viene mostrata solo la prima pagina. Utilizza i controlli di navigazione 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 la sezione Risorse in qualsiasi momento per visualizzare l'elenco più recente delle risorse disponibili nel tuo account o nella tua regione.

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

  • Per confermare se una risorsa è già gestita da CloudFormation, utilizzate l'azione informativa accanto alla risorsa. In VS Code, fai clic sull'icona i. In JetBrains IDEs, fai clic con il pulsante destro del mouse sulla risorsa e scegli Ottieni informazioni sulla gestione dello stack.

In VS Code, puoi 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. Questa funzionalità non è attualmente supportata in JetBrains IDEs.

Convalida statica

Il CloudFormation Language Server 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 e consentono di 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 i marker in linea sotto i 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, viene offerta anche questa.

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 CloudFormation Language Server, 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 le impostazioni IDE e vai alla sezione di configurazione di Guard per selezionare o caricare pacchetti di regole Guard aggiuntivi.

Suggerimenti: comprensione degli indicatori diagnostici

  • Indicatori blu: suggerimenti sulle migliori pratiche o consigli di ottimizzazione.

  • Indicatori gialli: avvisi relativi a problemi non bloccanti (ad esempio, tag o parametri mancanti).

  • Indicatori rossi: ostacoli alla distribuzione, ad esempio nomi di proprietà non validi, campi obbligatori mancanti o mancanti corrispondenze dello schema.

Passaggio 4: Naviga attraverso il modello

L'IDE fornisce una visualizzazione strutturata e gerarchica del CloudFormation modello, organizzata in sezioni qualiParameters,, e Resources OutputsMappings, che mostrano ogni tipo di risorsa e ID logico. Ciò semplifica l'individuazione e la navigazione rapida di risorse o parametri specifici all'interno di modelli di grandi dimensioni. In VS Code, il pannello Outline nella barra laterale di Explorer mostra questa struttura. In JetBrains IDEs, apri la finestra dello strumento Struttura per visualizzare la struttura del modello per il file attualmente aperto.

È 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, usa la funzionalità Convalida e distribuisci per creare un set di modifiche. L'IDE convalida il modello e, se non vengono rilevati errori di blocco, procede alla creazione di un set di modifiche in grado di rilevare la deriva. L'IDE mostra quindi una visualizzazione differenziale in modo da poter esaminare tutte le modifiche proposte prima di eseguire il set di modifiche.

In VS Code, apri la palette dei comandi ed esegui AWS CloudFormation: Validate and Deploy. La palette dei comandi ti guida passo dopo passo nella selezione di un modello, del nome dello stack, dei parametri, delle funzionalità e di altre opzioni di distribuzione. In JetBrains IDEs, utilizzate il pulsante Validate and Deploy della barra degli strumenti, fate clic con il pulsante destro del mouse su un file modello nell'editor o fate clic con il pulsante destro del mouse su una pila nell'albero. JetBrains presenta una finestra di dialogo guidata in cui è possibile configurare tutte le opzioni di distribuzione, tra cui la selezione del modello, il nome dello stack, i parametri, le funzionalità, i tag e le opzioni avanzate.

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 si procede alla distribuzione senza risolverli, la convalida in fase di implementazione evidenzia 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 e li elenca nel pannello di diagnostica. 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. L'annullamento della distribuzione elimina il set di modifiche.

I set di modifiche sensibili alla 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. CloudFormation I set di modifiche in base alla deriva confrontano 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'avvio della distribuzione, è possibile monitorare l'avanzamento in tempo reale dal pannello. CloudFormation In Stack Events, viene visualizzato 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. La visualizzazione Stack Events consente di tenere traccia dell'avanzamento dell'implementazione, identificare potenziali problemi e confermare se lo stack è stato completato correttamente.

Inizializzazione di un CloudFormation progetto nell'IDE (solo VS Code)

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. Questa funzionalità è attualmente disponibile solo in VS Code e non è supportata in JetBrains IDEs.

Per inizializzare un CloudFormation progetto:

  • Aprire la palette dei comandi

    • Da VS Code, 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 viene richiesto di scegliere un profilo di AWS credenziali. Il profilo selezionato viene utilizzato per il rilevamento, le convalide e le distribuzioni dell'ambiente.

  • Configura il tuo ambiente

    • Ti viene richiesto di creare o selezionare un ambiente.

    • Gli ambienti definiscono dove e come i modelli vengono distribuiti o convalidati (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 AWS CloudFormation Language Server è open source con 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. In questo modo si riducono 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.