

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à.

# Tutorial: arresto automatico delle istanze Amazon EC2 prive dei tag obbligatori
<a name="monitor-example"></a>

Man mano che il tuo pool di AWS risorse e Account AWS quello che gestisci cresce, puoi utilizzare i tag per semplificare la categorizzazione delle tue risorse. I tag vengono comunemente utilizzati per casi d'uso critici come l'allocazione dei costi e la sicurezza. Per gestire efficacemente AWS le risorse, è necessario etichettarle in modo coerente. Spesso, quando una risorsa viene fornita, riceve tutti i tag appropriati. Tuttavia, un processo successivo può comportare una modifica dei tag che comporta un allontanamento dalla politica aziendale in materia di tag. Monitorando le modifiche ai tag, puoi individuare eventuali variazioni dei tag e rispondere immediatamente. In questo modo avrete la certezza che i processi che dipendono dalla corretta categorizzazione delle risorse produrranno i risultati desiderati.

L'esempio seguente mostra come monitorare le modifiche ai tag sulle istanze Amazon EC2 per verificare che un'istanza specificata continui ad avere i tag richiesti. Se i tag dell'istanza cambiano e l'istanza non ha più i tag richiesti, viene richiamata una funzione Lambda per chiudere automaticamente l'istanza. Perché vorresti farlo? Garantisce che tutte le risorse siano etichettate in base alla politica aziendale in materia di tag, per un'efficace allocazione dei costi o per poter contare su una sicurezza basata sul [controllo degli accessi basato sugli attributi (](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)ABAC).

**Importante**  
Ti consigliamo vivamente di eseguire questo tutorial in un account non di produzione in cui non sia possibile chiudere inavvertitamente istanze importanti.  
Il codice di esempio in questo tutorial limita intenzionalmente l'impatto di questo scenario solo alle istanze di un elenco di istanze. IDs È necessario aggiornare l'elenco con l'istanza IDs che si desidera chiudere per il test. Questo aiuta a evitare che tu possa chiudere accidentalmente tutte le istanze in una regione del tuo Account AWS.   
Dopo il test, assicurati che tutte le istanze siano etichettate in base alla strategia di tagging della tua azienda. Quindi, puoi rimuovere il codice che limita la funzione solo all'istanza nell' IDs elenco.

Questo esempio utilizza JavaScript la versione 16.x diNode.js. L'esempio utilizza l' Account AWS ID di esempio 123456789012 e gli Regione AWS Stati Uniti orientali (Virginia settentrionale) (). `us-east-1` Sostituiscili con l'ID e la regione del tuo account di prova. 

**Nota**  
Se la tua console utilizza una regione diversa come impostazione predefinita, assicurati di cambiare la regione che stai usando in questo tutorial ogni volta che cambi console. Una causa comune del fallimento di questo tutorial è che l'istanza e la funzione si trovano in due regioni diverse.

Se utilizzi una regione diversa da quella`us-east-1`, assicurati di modificare tutti i riferimenti nei seguenti esempi di codice nella regione scelta.

**Topics**
+ [Passaggio 1. Creazione della funzione Lambda](#monitor-example-step-1)
+ [Passaggio 2. Configura le autorizzazioni IAM richieste](#monitor-example-step-2)
+ [Fase 3. Esegui un test preliminare della tua funzione Lambda](#monitor-example-step-3)
+ [Passaggio 4. Crea la EventBridge regola che avvia la funzione](#monitor-example-step-4)
+ [Fase 5. Prova la soluzione completa](#monitor-example-step-6)
+ [Riepilogo del tutorial](#summary)

## Passaggio 1. Creazione della funzione Lambda
<a name="monitor-example-step-1"></a>

**Creazione della funzione Lambda**

1. Apri la [console di gestione di AWS Lambda](https://console.aws.amazon.com/lambda/home).

1. Scegli **Crea funzione**, quindi scegli **Autore da zero**.

1. Per **Function name (Nome funzione)**, immettere **AutoEC2Termination**.

1. Per **Runtime** scegli **Node.js 16.x**.

1. Mantieni tutti gli altri campi ai valori predefiniti e scegli **Crea funzione**.

1. Nella scheda **Codice** della pagina dei `AutoEC2Termination` dettagli, apri il file **index.js** per visualizzarne il codice.
   + Se è aperta una scheda con **index.js**, puoi scegliere la casella di modifica in quella scheda per modificarne il codice.
   + Se una scheda con **index.js** non è aperta, fai un secondo clic sul file **index.js** nella cartella **Auto EC2 Terminator** nel pannello di navigazione. **Quindi scegli Apri.**

1. Nella scheda **index.js**, incolla il codice seguente nella casella dell'editor, sostituendo tutto ciò che è già presente.

    Sostituisci il valore `RegionToMonitor` con la regione in cui desideri eseguire questa funzione.

   ```
   // Set the following line to specify which Region's instances you want to monitor
   // Only instances in this Region are succesfully stopped on a match
   
   const RegionToMonitor = "us-east-1"
   
   // Specify the instance ARNs to check.
   // This limits the function for safety to avoid the tutorial shutting down all instances in account
   // The first ARN is a "dummy" that matches the test event you create in Step 3.
   // Replace the second ARN with one that matches a real instance that you want to monitor and that you can 
   // safely stop
   
   const InstanceList = [
       "i-0000000aaaaaaaaaa",
       "i-05db4466d02744f07"
   ];
   
   // The tag key name and value that marks a "valid" instance. Instances in the previous list that
   // do NOT have the following tag key and value are stopped by this function
   
   const ValidKeyName = "valid-key";
   const ValidKeyValue = "valid-value";
   
   // Load and configure the AWS SDK
   const AWS = require('aws-sdk');
   // Set the AWS Region
   AWS.config.update({region: RegionToMonitor});
   // Create EC2 service object.
   const ec2 = new AWS.EC2({apiVersion: '2016-11-15'});
   
   exports.handler = (event, context, callback) => {
   
     // Retrieve the details of the reported event.
     var detail = event.detail;
     var tags = detail["tags"];
     var service = detail["service"];
     var resourceType = detail["resource-type"];
     var resource = event.resources[0];
     var resourceSplit = resource.split("/");
     var instanceId = resourceSplit[resourceSplit.length - 1];
   
     // If this event is not for an EC2 resource, then do nothing.
     if (!(service === "ec2")) {
       console.log("Event not for correct service -- no action (", service, ")" );
       return;
     }
   
     // If this event is not about an instance, then do nothing.
     if (!(resourceType === "instance")) {
       console.log("Event not for correct resource type -- no action (", resourceType, ")" );
       return;
     }
   
     // CAUTION - Removing the following 'if' statement causes the function to run against 
     //           every EC2 instance in the specified Region in the calling Account AWS. 
     //           If you do this and an instance is not tagged with the approved tag key 
     //           and value, this function stops that instance.
   
     // If this event is not for the ARN of an instance in our include list, then do nothing.
     if (InstanceList.indexOf(instanceId)<0) {
       console.log("Event not for one of the monitored instances -- no action (", resource, ")");
       return;
     }
   
     console.log("Tags changed on monitored EC2 instance (",instanceId,")");
   
     // Check attached tags for expected tag key and value pair
     if ( tags.hasOwnProperty(ValidKeyName) && tags[ValidKeyName] == "valid-value"){
       // Required tags ARE present
       console.log("The instance has the required tag key and value -- no action");
       callback(null, "no action");
       return;
     }
     
     // Required tags NOT present
     console.log("This instance is missing the required tag key or value -- attempting to stop the instance");
   
     var params = {
       InstanceIds: [instanceId], 
       DryRun: true
     };
   
     // call EC2 to stop the selected instances
     ec2.stopInstances(params, function(err, data) {
       if (err && err.code === 'DryRunOperation') {
         // dryrun succeeded, so proceed with "real" stop operation
         params.DryRun = false;
         ec2.stopInstances(params, function(err, data) {
           if (err) {
             console.log("Failed to stop instance");
             callback(err, "fail");
           } else if (data) {
             console.log("Successfully stopped instance", data.StoppingInstances);
             callback(null, "Success");
           }
         });
       } else {
         console.log("Dryrun attempt failed");
         callback(err);
       }
     });
   };
   ```

1. Scegli **Deploy** per salvare le modifiche e rendere attiva la nuova versione della funzione.

Questa funzione Lambda controlla i tag di un'istanza Amazon EC2, come riportato dall'evento di modifica del tag in. EventBridge In questo esempio, se all'istanza dell'evento manca la chiave di tag richiesta `valid-key` o se il tag non ha il valore`valid-value`, la funzione tenta di fermare l'istanza. È possibile modificare questo controllo logico o i requisiti dei tag per i propri casi d'uso specifici.

Tieni aperta la finestra della console Lambda nel browser.

## Passaggio 2. Configura le autorizzazioni IAM richieste
<a name="monitor-example-step-2"></a>

Prima che la funzione possa essere eseguita correttamente, è necessario concedere alla funzione l'autorizzazione a interrompere un'istanza EC2. Il ruolo AWS fornito [https://console.aws.amazon.com/iamv2/home#/roles/details/lambda_basic_execution](https://console.aws.amazon.com/iamv2/home#/roles/details/lambda_basic_execution)non dispone di tale autorizzazione. In questo tutorial, modifichi la politica di autorizzazione IAM predefinita allegata al ruolo di esecuzione della funzione denominato`AutoEC2Termination-role-uniqueid`. L'autorizzazione aggiuntiva minima richiesta per questo tutorial è`ec2:StopInstances`. 

*Per ulteriori informazioni sulla creazione di policy IAM specifiche per Amazon EC2, consulta [Amazon EC2: consente l'avvio o l'arresto di un'istanza EC2 e la modifica di un gruppo di sicurezza, a livello di codice e nella console nella IAM User Guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_ec2_instance-securitygroup.html).*

**Per creare una policy di autorizzazione IAM e collegarla al ruolo di esecuzione della funzione Lambda**

1. In un'altra scheda o finestra del browser, apri la pagina [Ruoli](https://console.aws.amazon.com/iamv2/home#/roles) della console IAM.

1. Inizia a digitare il nome del ruolo e**AutoEC2Termination**, quando appare nell'elenco, scegli il nome del ruolo. 

1. Nella pagina di **riepilogo** del ruolo, scegli la scheda **Autorizzazioni** e scegli il nome dell'unica politica già allegata.

1. Nella pagina di **riepilogo** della politica, scegli **Modifica politica**.

1. Nella scheda **Visual Editor**, scegli **Aggiungi autorizzazioni aggiuntive**.

1. Per **Servizio**, scegli **EC2**.

1. Per **Azioni**, scegli **StopInstances**. Puoi digitare **Stop** nella barra di ricerca e quindi scegliere `StopInstances` quando visualizzare.

1. Per **Risorse**, scegli **Tutte le risorse**, scegli **Rivedi politica**, quindi scegli **Salva modifiche**. 

   Ciò crea automaticamente una nuova versione della politica e imposta quella versione come predefinita.

   La politica finale dovrebbe essere simile all'esempio seguente.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "ec2:StopInstances",
               "Resource": "*"
           },
           {
               "Sid": "VisualEditor1",
               "Effect": "Allow",
               "Action": "logs:CreateLogGroup",
               "Resource": "arn:aws:logs:us-east-1:123456789012:*"
           },
           {
               "Sid": "VisualEditor2",
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/lambda/AutoEC2Termination:*"
           }
       ]
   }
   ```

------

## Fase 3. Esegui un test preliminare della tua funzione Lambda
<a name="monitor-example-step-3"></a>

In questo passaggio, invii un evento di test alla tua funzione. La funzionalità di test Lambda funziona inviando un evento di test fornito manualmente. La funzione elabora l'evento di test come se l'evento provenisse da. EventBridge È possibile definire più eventi di test con valori diversi per esercitare tutte le diverse parti del codice. In questa fase, invii un evento di test che indica che i tag di un'istanza Amazon EC2 sono cambiati e che i nuovi tag non includono la chiave e il valore del tag richiesti.

**Per testare la tua funzione Lambda**

1. Torna alla finestra o alla scheda con la console Lambda e apri la scheda **Test** per la tua **funzione di EC2 terminazione automatica**.

1. Scegli **Crea nuovo evento**.

1. Per **Event name (Nome evento)** immettere **SampleBadTagChangeEvent**.

1. Nell'**Event JSON**, sostituisci il testo con l'evento di esempio mostrato nel seguente testo di esempio. Non è necessario modificare gli account, la regione o l'ID dell'istanza affinché questo evento di test funzioni correttamente.

   ```
   {
     "version": "0",
     "id": "bddcf1d6-0251-35a1-aab0-adc1fb47c11c",
     "detail-type": "Tag Change on Resource",
     "source": "aws.tag",
     "account": "123456789012",
     "time": "2018-09-18T20:41:38Z",
     "region": "us-east-1",
     "resources": [
       "arn:aws:ec2:us-east-1:123456789012:instance/i-0000000aaaaaaaaaa"
     ],
     "detail": {
       "changed-tag-keys": [
         "valid-key"
       ],
       "tags": {
         "valid-key": "NOT-valid-value"
       },
       "service": "ec2",
       "resource-type": "instance",
       "version": 3
     }
   }
   ```

1. Scegli **Save** (Salva), quindi **Test **.

   Il test sembra fallire, ma va bene. 

   Dovresti vedere il seguente errore nella scheda **Risultati dell'esecuzione** in **Risposta**.

   ```
   {
     "errorType": "InvalidInstanceID.NotFound",
     "errorMessage": "The instance ID 'i-0000000aaaaaaaaaa' does not exist",
     ...
   }
   ```

   L'errore si verifica perché l'istanza specificata nell'evento di test non esiste. 

   Le informazioni nella scheda **Risultati di esecuzione**, nella sezione **Function Logs, dimostrano che la funzione** Lambda ha tentato con successo di arrestare un'istanza EC2. Tuttavia, non è riuscita perché inizialmente il codice tenta un'[https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StartInstances.html#API_StartInstances_RequestParameters](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StartInstances.html#API_StartInstances_RequestParameters)operazione per arrestare l'istanza, il che indica che l'ID dell'istanza non era valido. 

   ```
   START RequestId: 390c1f8d-0d9b-4b44-b087-8de64479ab44 Version: $LATEST
   2022-11-30T20:17:30.427Z    390c1f8d-0d9b-4b44-b087-8de64479ab44    INFO    Tags changed on monitored EC2 instance ( i-0000000aaaaaaaaaa )
   2022-11-30T20:17:30.427Z    390c1f8d-0d9b-4b44-b087-8de64479ab44    INFO    This instance is missing the required tag key or value -- attempting to stop the instance
   2022-11-30T20:17:31.206Z    390c1f8d-0d9b-4b44-b087-8de64479ab44    INFO    Dryrun attempt failed
   2022-11-30T20:17:31.207Z    390c1f8d-0d9b-4b44-b087-8de64479ab44    ERROR   Invoke Error     {"errorType":"InvalidInstanceID.NotFound","errorMessage":"The instance ID 'i-0000000aaaaaaaaaa' does not exist","code":"InvalidInstanceID.NotFound","message":"The instance ID 'i-0000000aaaaaaaaaa' does not exist","time":"2022-11-30T20:17:31.205Z","requestId":"a5192c3b-142d-4cec-bdbc-685a9b7c7abf","statusCode":400,"retryable":false,"retryDelay":36.87870631147607,"stack":["InvalidInstanceID.NotFound: The instance ID 'i-0000000aaaaaaaaaa' does not exist","    at Request.extractError (/var/runtime/node_modules/aws-sdk/lib/services/ec2.js:50:35)","    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)","    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)","    at Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:686:14)","    at Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)","    at AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)","    at /var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10","    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)","    at Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:688:12)","    at Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)"]}
   END RequestId: 390c1f8d-0d9b-4b44-b087-8de64479ab44
   ```

1. Per dimostrare che il codice non tenta di interrompere l'istanza quando viene utilizzato il tag corretto, puoi creare e inviare un altro evento di test. 

   Scegli la scheda **Test** sopra **Code source**. La console mostra l'evento **SampleBadTagChangeEvent**di test esistente.

1. Scegli **Crea nuovo evento**.

1. In **Event Name (Nome evento)**, digitare **SampleGoodTagChangeEvent**.

1. Nella riga 17, elimina **NOT-** per modificare il valore in**valid-value**.

1. Nella parte superiore della finestra dell'**evento Test**, scegli **Salva**, quindi scegli **Test**.

   L'output mostra quanto segue, a dimostrazione del fatto che la funzione riconosce il tag valido e non tenta di chiudere l'istanza.

   ```
   START RequestId: 53631a49-2b54-42fe-bf61-85b9e91e86c4 Version: $LATEST
   2022-12-01T23:24:12.244Z    53631a49-2b54-42fe-bf61-85b9e91e86c4    INFO    Tags changed on monitored EC2 instance ( i-0000000aaaaaaaaaa )
   2022-12-01T23:24:12.244Z    53631a49-2b54-42fe-bf61-85b9e91e86c4    INFO    The instance has the required tag key and value -- no action
   END RequestId: 53631a49-2b54-42fe-bf61-85b9e91e86c4
   ```

   Tieni la console Lambda aperta nel browser.

## Passaggio 4. Crea la EventBridge regola che avvia la funzione
<a name="monitor-example-step-4"></a>

Ora puoi creare una EventBridge regola che corrisponda all'evento e punti alla tua funzione Lambda.

**Per creare la regola EventBridge**

1. In un'altra scheda o finestra del browser, apri la [EventBridge console](https://console.aws.amazon.com/events/home#/rules/create) nella pagina **Crea regola**.

1. Per **Nome**, immettete**ec2-instance-rule**, quindi scegliete **Avanti**.

1. Scorri verso il basso fino a **Metodo di creazione** e scegli **Modello personalizzato (editor JSON).**

1. Nella casella di modifica, incolla il seguente testo del pattern, quindi scegli **Avanti**.

   ```
   {
     "source": [
       "aws.tag"
     ],
     "detail-type": [
       "Tag Change on Resource"
     ],
     "detail": {
       "service": [
         "ec2"
       ],
       "resource-type": [
         "instance"
       ]
     }
   }
   ```

   Questa regola corrisponde `Tag Change on Resource` agli eventi per le istanze Amazon EC2 e richiama ciò che specifichi come **Target** nel passaggio successivo. 

1. Quindi, aggiungi la tua funzione Lambda come destinazione. Nella casella **Target 1**, in **Seleziona una destinazione**, scegli la funzione **Lambda**.

1. **In **Funzione**, scegliete la funzione di **EC2terminazione automatica** creata in precedenza, quindi scegliete Avanti.**

1. Nella pagina **Configura tag**, scegli **Avanti**. Quindi, nella pagina **Rivedi e crea**, scegli **Crea regola**. Ciò concede inoltre automaticamente il permesso di EventBridge richiamare la funzione Lambda specificata.

## Fase 5. Prova la soluzione completa
<a name="monitor-example-step-6"></a>

Puoi testare il risultato finale creando un'istanza EC2 e osservando cosa succede quando ne modifichi i tag.

**Per testare la soluzione di monitoraggio con un'istanza reale**

1. Apri la [console Amazon EC2 nella pagina](https://console.aws.amazon.com/ec2/v2/home#Instances:) **Istanze**.

1. Crea un'istanza Amazon EC2. Prima di avviarla, allega un tag con la chiave `valid-key` e il valore`valid-value`. Per informazioni su come creare e avviare un'istanza, consulta la [Fase 1: Avvio di un'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) nella *Amazon EC2 User* Guide. Nella procedura *Per avviare un'istanza*, nel passaggio 3, in cui inserisci il tag **Name**, scegli anche **Aggiungi tag aggiuntivi**, scegli **Aggiungi tag**, quindi inserisci la **chiave** **valid-key** e il **valore** di**valid-value**. Puoi **procedere senza una key pair** se questa istanza è destinata esclusivamente agli scopi di questo tutorial e prevedi di eliminarla dopo averla completata. Torna a questo tutorial quando raggiungi la fine del **passaggio 1**; non è necessario eseguire il **passaggio 2: Connect alla tua istanza**.

1. Copia il file **InstanceId**dalla console.

1. Passa dalla console Amazon EC2 alla console Lambda. Scegli la funzione di **EC2terminazione automatica**, scegli la scheda **Codice**, quindi scegli la scheda **index.js** per modificare il codice.

1. Modifica la seconda voce `InstanceList` incollando il valore che hai copiato dalla console Amazon EC2. Assicurati che il `RegionToMonitor` valore corrisponda alla regione che contiene l'istanza che hai incollato.

1. Scegli **Deploy** per rendere attive le modifiche. La funzione è ora pronta per essere attivata modificando i tag in quell'istanza nella regione specificata.

1. Passa dalla console Lambda alla console Amazon EC2.

1. Modifica i **tag** allegati all'istanza eliminando il tag **valid-key** o modificando il valore di quella chiave. 
**Nota**  
Per informazioni su come modificare i tag su un'istanza Amazon EC2 in esecuzione, consulta [Aggiungere ed eliminare tag su una singola risorsa](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#adding-or-deleting-tags) nella *Amazon EC2* User Guide.

1. Attendi qualche secondo, quindi aggiorna la console. **L'istanza dovrebbe cambiare **lo stato dell'istanza** in **Arresto e quindi** in Arrestato.**

1. **Passa dalla console Amazon EC2 alla console Lambda con la tua funzione e scegli la scheda Monitor.** 

1. Scegli la scheda **Registri** e, nella tabella **Richiamazioni recenti**, scegli la voce più recente nella colonna. **LogStream**

   La CloudWatch console Amazon si apre sulla pagina **Log events** per l'ultima chiamata della funzione Lambda. L'ultima voce dovrebbe essere simile all'esempio seguente.

   ```
   2022-11-30T12:03:57.544-08:00    START RequestId: b5befd18-2c41-43c8-a320-3a4b2317cdac Version: $LATEST
   2022-11-30T12:03:57.548-08:00    2022-11-30T20:03:57.548Z b5befd18-2c41-43c8-a320-3a4b2317cdac INFO Tags changed on monitored EC2 instance ( arn:aws:ec2:us-west-2:123456789012:instance/i-1234567890abcdef0 )
   2022-11-30T12:03:57.548-08:00    2022-11-30T20:03:57.548Z b5befd18-2c41-43c8-a320-3a4b2317cdac INFO This instance is missing the required tag key or value -- attempting to stop the instance
   2022-11-30T12:03:58.488-08:00    2022-11-30T20:03:58.488Z b5befd18-2c41-43c8-a320-3a4b2317cdac INFO Successfully stopped instance [ { CurrentState: { Code: 64, Name: 'stopping' }, InstanceId: 'i-1234567890abcdef0', PreviousState: { Code: 16, Name: 'running' } } ]
   2022-11-30T12:03:58.546-08:00    END RequestId: b5befd18-2c41-43c8-a320-3a4b2317cdac
   ```

## Riepilogo del tutorial
<a name="summary"></a>

Questo tutorial ha dimostrato come creare una EventBridge regola da abbinare a una modifica di tag su un evento di risorse per le istanze Amazon EC2. La regola indicava una funzione Lambda che spegne automaticamente l'istanza se non ha il tag richiesto.

Il EventBridge supporto di Amazon per la modifica dei tag sulle AWS risorse offre la possibilità di creare un'automazione basata sugli eventi per molte risorse. Servizi AWS La combinazione di questa funzionalità AWS Lambda offre strumenti per creare soluzioni serverless che accedono alle AWS risorse in modo sicuro, scalabili su richiesta e sono convenienti.

Altri possibili casi d'uso dell' tag-change-on-resource EventBridge evento includono:
+ **Lancia un avviso se qualcuno accede alla tua risorsa da un indirizzo IP insolito**: utilizza un tag per memorizzare l'indirizzo IP di origine di ogni visitatore che accede alla tua risorsa. Le modifiche al tag generano un CloudWatch evento. È possibile utilizzare tale evento per confrontare l'indirizzo IP di origine con un elenco di indirizzi IP validi e attivare un'e-mail di avviso se l'indirizzo IP di origine non è valido.
+ **Monitora se ci sono modifiche al controllo di accesso basato su tag per una risorsa**: se hai impostato l'accesso a una risorsa utilizzando il [controllo di accesso basato su attributi (tag) (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html), puoi utilizzare EventBridge gli eventi generati da qualsiasi modifica al tag per richiedere un controllo da parte del team di sicurezza.