Rileva le modifiche di configurazione non gestite agli stack e alle risorse con il rilevamento della deriva - 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à.

Rileva le modifiche di configurazione non gestite agli stack e alle risorse con il rilevamento della deriva

Anche se gestisci le tue risorse tramite CloudFormation, gli utenti possono modificare tali risorse all'esterno di. CloudFormation Gli utenti possono modificare le risorse direttamente utilizzando il servizio sottostante che ha creato la risorsa. Ad esempio, puoi utilizzare la EC2 console Amazon per aggiornare un'istanza del server creata come parte di uno CloudFormation stack. Alcune modifiche potrebbero essere accidentali mentre altre potrebbero essere apportate intenzionalmente per rispondere a eventi operativi prioritari. In ogni caso, le modifiche apportate all'esterno CloudFormation possono complicare le operazioni di aggiornamento o eliminazione dello stack. È possibile utilizzare il rilevamento delle deviazioni per identificare le risorse dello stack a cui sono state apportate modifiche alla configurazione al di fuori della gestione. CloudFormation Puoi quindi intraprendere un'azione correttiva per risincronizzare le risorse di stack con le relative definizioni nel modello di stack, ad esempio aggiornando direttamente le risorse deviate affinché corrispondano alla propria definizione di modello. La risoluzione della deviazione consente di assicurare la coerenza della configurazione e la riuscita delle operazioni di stack.

Cos'è una deviazione?

Il rilevamento della deviazione consente di stabilire se la configurazione effettiva di uno stack differisce, o risulta deviata, da quella prevista. Utilizzalo CloudFormation per rilevare la deriva su un intero stack o su singole risorse all'interno dello stack. Una risorsa è considerata come deviata se uno qualsiasi dei relativi valori di proprietà effettivi differisce dai valori di proprietà previsti. Ciò include l'eventuale eliminazione della proprietà o della risorsa. Uno stack è considerato come deviato se una o più delle relative risorse risultano deviate.

Per determinare se una risorsa è andata alla deriva, CloudFormation determina i valori delle proprietà della risorsa previsti, come definiti nel modello dello stack, e tutti i valori specificati come parametri del modello. CloudFormation quindi confronta tali valori attesi con i valori effettivi di tali proprietà delle risorse così come sono attualmente presenti nello stack. Una risorsa è considerata deviata se una o più delle relative proprietà sono state eliminate o se il valore delle stesse è stato modificato.

CloudFormation genera informazioni dettagliate su ogni risorsa dello stack che è andata alla deriva.

CloudFormation rileva la deriva su quelle AWS risorse che supportano il rilevamento della deriva. Alle risorse che non supportano il rilevamento della deriva viene assegnato uno stato di deriva pari a _. NOT CHECKED Per un elenco di AWS risorse che supportano il rilevamento della deriva, consulta. Supporto per tipi di risorse

Inoltre, CloudFormation supporta il rilevamento della deriva su tipi di risorse private che sono disponibili, ovvero il cui tipo di approvvigionamento è o. FULLY_MUTABLE IMMUTABLE Per eseguire un rilevamento della deviazione su una risorsa di un tipo di risorsa privata, è necessario che per la versione predefinita del tipo di risorsa registrata nell'account sia possibile effettuare il provisioning. Per ulteriori informazioni sul tipo di fornitura delle risorse, vedere il ProvisioningType parametro dell'DescribeTypeazione nel AWS CloudFormation API riferimento e del DescribeTypecomando nel riferimento dei comandi. AWS CLI Per ulteriori informazioni sulle risorse private, vedereGestione delle estensioni con il CloudFormation registro.

Puoi eseguire il rilevamento della deviazione su stack il cui stato è: CREATE_COMPLETE, UPDATE_COMPLETE, UPDATE_ROLLBACK_COMPLETE o UPDATE_ROLLBACK_FAILED.

Quando rileva una deriva su una pila, CloudFormation non rileva la deriva su nessuna pila annidata che appartiene a quella pila. Per ulteriori informazioni, consulta Incorpora pile all'interno di altre pile utilizzando pile annidate. È invece possibile avviare un'operazione di rilevamento della deviazione direttamente sullo stack nidificato.

Nota

CloudFormation determina la deriva solo per i valori delle proprietà che sono impostati in modo esplicito, tramite il modello di stack o specificando i parametri del modello. Ciò non include i valori predefiniti delle proprietà di risorsa. Per tenere CloudFormation traccia della proprietà di una risorsa allo scopo di determinare la deriva, impostate esplicitamente il valore della proprietà, anche se la state impostando sul valore predefinito.

Codici di stato del rilevamento della deviazione

Le tabelle di questa sezione descrivono i vari tipi di stato utilizzati con il rilevamento della deviazione:

  • Lo stato dell'operazione di rilevamento della deviazione descrive lo stato corrente dell'operazione.

  • Drift status (Stato di deviazione)

    Per i set di stack, questo descrive lo stato di deviazione del set di stack nel suo complesso, in base allo stato di deviazione delle istanze dello stack che lo appartengono.

    Per le istanze dello stack, questo descrive lo stato di deviazione dell'istanza dello stack, in base allo stato di deviazione dello stack associato.

    Lo stato di deviazione dello stack descrive lo stato di deviazione dell'intero stack, in base allo stato di deviazione delle relative risorse.

  • Lo stato di deviazione di risorsa descrive lo stato di deviazione di una singola risorsa.

La tabella seguente elenca i codici di stato CloudFormation assegnati alle operazioni di rilevamento della deriva dello stack.

Stato dell'operazione di rilevamento della deviazione Descrizione

DETECTION_COMPLETE

L'operazione di rilevamento della deviazione di stack è stata completata con successo per tutte le risorse nello stack che supportano il rilevamento della deviazione.

DETECTION_FAILED

L'operazione di rilevamento della deviazione di stack non è riuscita per almeno una risorsa nello stack. I risultati saranno disponibili per le risorse sulle quali il rilevamento della deriva è CloudFormation stato completato con successo.

DETECTION_IN_PROGRESS

L'operazione di rilevamento della deviazione di stack è attualmente in corso.

La tabella seguente elenca i codici di stato di deriva assegnati agli CloudFormation stack.

Drift status (Stato di deviazione) Descrizione

DRIFTED

Per gli stack: lo stack differisce, o risulta deviato, dalla configurazione di modello prevista. Uno stack è considerato come deviato se una o più delle relative risorse risultano deviate.

Per le istanze dello stack: un'istanza dello stack è considerata deviata se lo stack ad esso associato è stato deviato.

Per i set di stack: un set di stack è considerato deviato se una o più istanze di stack sono state deviate.

NOT_CHECKED

CloudFormation non ha verificato se lo stack, lo stack set o l'istanza dello stack differiscono dalla configurazione del modello prevista.

IN_SYNC

La configurazione corrente di ogni risorsa supportata corrisponde alla configurazione di modello prevista. Anche uno stack, un set di stack o un'istanza di stack senza risorse che supportano il rilevamento della deriva avranno lo stato IN_. SYNC

La tabella seguente elenca i codici di stato di drift assegnati alle risorse dello stack. CloudFormation

Stato di deviazione di risorsa Descrizione

DELETED

La risorsa differisce dalla relativa configurazione di modello prevista in quanto la risorsa è stata eliminata.

MODIFIED

La risorsa differisce, o risulta deviata, dalla relativa configurazione di modello prevista.

NOT_CHECKED

CloudFormation non ha verificato se la risorsa differisce dalla configurazione del modello prevista.

IN_SYNC

La configurazione corrente della risorsa corrisponde alla configurazione di modello prevista.

La tabella seguente elenca i codici di stato del tipo di differenza CloudFormation assegnati alle proprietà delle risorse che differiscono dalla configurazione prevista del modello.

Tipi di differenza di proprietà Descrizione

ADD

Un valore è stato aggiunto a una proprietà della risorsa che è un tipo di dati a matrice o elenco.

REMOVE

La proprietà è stata rimossa dalla configurazione di risorsa corrente.

NOT_EQUAL

Il valore di proprietà corrente differisce dal relativo valore previsto come definito nel modello di stack.

Considerazioni sul rilevamento della deviazione

Per eseguire con successo il rilevamento della deviazione su uno stack, un utente deve disporre delle autorizzazioni seguenti:

  • Autorizzazione di lettura per ogni risorsa che supporta il rilevamento della rilevazione inclusa nello stack. Ad esempio, se lo stack include una risorsa AWS::EC2::Instance, devi disporre dell'autorizzazione ec2:DescribeInstances per eseguire il rilevamento della deviazione sullo stack.

  • cloudformation:DetectStackDrift

  • cloudformation:DetectStackResourceDrift

  • cloudformation:BatchDescribeTypeConfigurations

Per ulteriori informazioni sull'impostazione delle autorizzazioni in, vedere. CloudFormation Controlla l'accesso con AWS Identity and Access Management

In alcuni casi estremi, CloudFormation potrebbe non essere possibile restituire sempre risultati di deriva accurati. Devi essere consapevole dell'esistenza di questi casi limite per interpretare in modo appropriato i risultati del rilevamento della deviazione.

  • In alcuni casi, gli oggetti contenuti in matrici di proprietà sono segnalati come deviazione, quando in realtà sono valori predefiniti forniti alla proprietà dal servizio sottostante responsabile della risorsa.

  • Alcune risorse hanno relazioni di collegamento con risorse correlate; una risorsa può quindi effettivamente collegare o rimuovere valori di proprietà per un'altra risorsa, definiti nello stesso modello o in un altro modello. Ad esempio, le risorse AWS::EC2::SecurityGroupEgress e AWS::EC2::SecurityGroupIngress possono essere utilizzate per collegare e rimuovere valori dalle risorse AWS::EC2::SecurityGroup. In questi casi, CloudFormation analizza il modello di pila per gli allegati prima di eseguire il confronto della deriva. Tuttavia, non è CloudFormation possibile eseguire questa analisi tra pile e pertanto potrebbe non restituire risultati di deriva accurati se le risorse collegate risiedono in pile diverse.

    Le risorse che supportano il rilevamento della deviazione e consentono o necessitano collegamenti da altre risorse includono:

    Tipo di risorsa Tipo di risorsa di collegamento

    AWS::SNS::Topic

    AWS::SNS::Subscription

    AWS::IAM::User

    AWS::IAM::UserToGroupAddition

    AWS::IAM::Group

    AWS::IAM::Role

    AWS::IAM::User

    AWS::IAM::Policy

    AWS::IAM::ManagedPolicy

    AWS::ElasticLoadBalancingV2::Listener

    AWS::ElasticLoadBalancingV2::ListenerCertificate

    AWS::EC2::SecurityGroup

    AWS::EC2::SecurityGroupEgress

    AWS::EC2::SecurityGroupIngress

  • CloudFormation non esegue il rilevamento della deriva sulla proprietà di alcuna risorsa. KMSKeyId Poiché AWS KMS le chiavi possono essere referenziate da più alias, non è CloudFormation possibile garantire risultati di deriva costantemente accurati per questa proprietà.

  • Nel modello di stack è possibile specificare alcune proprietà delle risorse che, per loro stessa natura, CloudFormation non possono essere confrontate con le proprietà delle risorse dello stack risultanti. Queste proprietà non possono quindi essere incluse nei risultati del rilevamento della deviazione. Tali proprietà rientrano in due categorie generali:

    • Valori delle proprietà che CloudFormation non possono essere mappati al valore iniziale delle proprietà della risorsa nel modello dello stack.

      Ad esempio, CloudFormation non può mappare il codice sorgente di una funzione Lambda al tipo di Codeproprietà della AWS::Lambda::Functionrisorsa e quindi non CloudFormation può includerlo nei risultati del rilevamento della deriva.

    • Valori di proprietà che il servizio responsabile della risorsa non restituisce.

      Esistono alcuni valori di proprietà che, per concezione, non vengono mai restituiti dal servizio a cui la risorsa appartiene. Questi valori contengono in genere informazioni riservate, come password o altri dati sensibili che non devono essere esposti. Ad esempio, il IAM servizio non restituirà mai il valore della Password proprietà del tipo di IAM User LoginProfileproprietà e pertanto non CloudFormation può includerlo nei risultati del rilevamento della deriva.

    • Gli oggetti in un array: possono essere in realtà impostazioni predefinite del servizio, non una deviazione aggiunta manualmente.

  • Se riscontri falsi positivi, inviaci i tuoi commenti utilizzando il link di feedback nella CloudFormation console oppure contattaci tramite AWS re:Post.

  • Alcune proprietà possono avere valori di input uguali ma non identici. Per evitare falsi positivi, è necessario assicurarsi che la configurazione prevista corrisponda alla configurazione effettiva.

    • Ad esempio, la configurazione prevista della proprietà della risorsa può essere 1.024 MB, mentre la configurazione effettiva della stessa proprietà può essere 1 GB. 1.024 MB e 1 GB sono valori uguali ma non identici.

      Quando su questa proprietà della risorsa viene eseguito il rilevamento delle deviazioni, verranno segnalate le deviazioni.

      Per evitare questo falso positivo, modifica la configurazione prevista della proprietà della risorsa a 1.024 MB, quindi esegui il rilevamento delle deviazioni.