

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

# Configurazione delle regole dello stato migliorato per un ambiente
<a name="health-enhanced-rules"></a>

AWS Elastic Beanstalk i report avanzati sullo stato di salute si basano su una serie di regole per determinare lo stato dell'ambiente. Alcune di queste regole potrebbero non essere idonee per la tua applicazione specifica. Di seguito sono riportati alcuni esempi comuni:
+ Utilizzo di strumenti di test lato client. In questo caso, sono previsti frequenti errori (4xx) del client HTTP.
+ Utilizzare [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/) insieme all'Application Load Balancer dell'ambiente per bloccare il traffico in entrata indesiderato. In questo caso, Application Load Balancer restituisce un errore HTTP 403 per ogni messaggio in arrivo rifiutato.

Per impostazione predefinita, Elastic Beanstalk include tutti gli errori HTTP 4xx dell'applicazione quando si determina lo stato dell'ambiente. Consente di modificare lo stato di integrità dell'ambiente da **OK** to **Warning** (Avviso), **Degraded** (Degradato) o **Severe** (Grave), a seconda della percentuale di errori. Per gestire correttamente casi come gli esempi descritti, Elastic Beanstalk consente di configurare alcune regole dello stato migliorato. Puoi ignorare gli errori HTTP 4xx dell'applicazione nelle istanze dell'ambiente oppure quelli restituiti dal sistema di bilanciamento del carico dell'ambiente. In questo argomento viene descritto come apportare queste modifiche alla configurazione.

**Nota**  
Al momento, sono le uniche personalizzazioni disponibili per le regole dello stato migliorato. Non è possibile configurare lo stato migliorato in modo che ignori errori HTTP diversi da 4xx.

## Configurazione delle regole dello stato avanzato mediante la console Elastic Beanstalk
<a name="health-enhanced-rules.console"></a>

Puoi utilizzare la console Elastic Beanstalk per configurare le regole dello stato avanzato nell'ambiente.

**Per configurare il controllo dei codici di stato HTTP 4xx utilizzando la console Elastic Beanstalk**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

1. Nel pannello di navigazione selezionare **Environments** (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

1. Nel riquadro di navigazione, seleziona **Configuration** (Configurazione).

1. Nella categoria di configurazione **Monitoring (Monitoraggio)**, scegliere **Edit (Modifica)**.

1. In **Health monitoring rule customization (Personalizzazione delle regole di monitoraggio dello stato)**, abilitare o disabilitare le opzioni **Ignore (Ignora)** desiderate.  
![\[Sezione per la personalizzazione delle regole di monitoraggio dello stato nella pagina relativa alla configurazione del monitoraggio della console Elastic Beanstalk\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/images/enhanced-health-rule-customization.png)

1. Per salvare le modifiche scegli **Apply** (Applica) nella parte inferiore della pagina.

## Configurazione delle regole dello stato migliorato mediante l'interfaccia a riga di comando EB
<a name="health-enhanced-rules.ebcli"></a>

Puoi utilizzare l'interfaccia a riga di comando EB per configurare le regole dello stato avanzato salvando la configurazione dell'ambiente in locale, aggiungendo una voce che configuri le regole dello stato migliorato e caricando la configurazione in Elastic Beanstalk. Puoi applicare la configurazione salvata a un ambiente durante o dopo la creazione.

**Per configurare il controllo dei codici di stato HTTP 4xx utilizzando l'interfaccia della riga di comando EB e le configurazioni salvate**

1. Inizializza la tua cartella di progetto con [**eb init**](eb-cli3-configuration.md).

1. Crea un ambiente eseguendo il comando **eb create**.

1. Salva un modello di configurazione in locale eseguendo il comando **eb config save**. L'esempio seguente utilizza l'opzione `--cfg` per specificare il nome della configurazione.

   ```
   $ eb config save --cfg 01-base-state
   Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml
   ```

1. Apri il file di configurazione salvato in un editor di testo.

1. In `OptionSettings` > `aws:elasticbeanstalk:healthreporting:system:`, aggiungi una chiave `ConfigDocument` per elencare ciascuna regola dello stato migliorato da configurare. Il seguente `ConfigDocument` disabilita il controllo dei codici di stato HTTP 4xx dell'applicazione, mantenendo abilitato quello del sistema di bilanciamento del carico.

   ```
   OptionSettings:
     ...
     aws:elasticbeanstalk:healthreporting:system:
       ConfigDocument:
         Rules:
           Environment:
             Application:
               ApplicationRequests4xx:
                 Enabled: false
             ELB:
               ELBRequests4xx:
                 Enabled: true
         Version: 1
       SystemType: enhanced
   ...
   ```
**Nota**  
Puoi combinare `Rules` e `CloudWatchMetrics` nella stessa impostazione dell'opzione `ConfigDocument`. Le `CloudWatchMetrics` sono descritte in [Pubblicazione di parametri Amazon CloudWatch personalizzati per un ambiente](health-enhanced-cloudwatch.md).  
Se hai già attivato `CloudWatchMetrics`, il file di configurazione che recuperi utilizzando il comando **eb config save** dispone già di una chiave `ConfigDocument` con una sezione `CloudWatchMetrics`. *Non eliminarla*, ma aggiungi una sezione `Rules` allo stesso valore dell'opzione `ConfigDocument`.

1. Salva il file di configurazione e chiudi l'editor di testo. In questo esempio, il file di configurazione aggiornato viene salvato con un nome (`02-cloudwatch-enabled.cfg.yml`) diverso rispetto al file di configurazione scaricato. In questo modo, si crea una configurazione salvata distinta quando si carica il file. Puoi utilizzare lo stesso nome del file scaricato per sovrascrivere la configurazione esistente senza crearne una nuova.

1. Usa il comando **eb config put** per caricare il file di configurazione aggiornato in Elastic Beanstalk.

   ```
   $ eb config put 02-cloudwatch-enabled
   ```

   Quando utilizzi i comandi **eb config** `get` e `put` con configurazioni salvate, non includere l'estensione del nome del file.

1. Applica la configurazione salvata all'ambiente in esecuzione.

   ```
   $ eb config --cfg 02-cloudwatch-enabled
   ```

   L'opzione `--cfg` specifica un file di configurazione con nome che viene applicato all'ambiente. Puoi salvare il file di configurazione in locale o in Elastic Beanstalk. Se un file di configurazione con il nome specificato esiste in entrambi i percorsi, l'interfaccia a riga di comando EB utilizza il file locale.

## Configurazione delle regole dello stato migliorato mediante un documento di configurazione
<a name="health-enhanced-rules.configdocument"></a>

Il documento di configurazione (config) per le regole dello stato migliorato è un documento in formato JSON in cui sono elencate le regole da configurare. 

Nel seguente esempio è illustrato un documento di configurazione che disabilita il controllo dei codici di stato HTTP 4xx dell'applicazione e abilita quello del sistema di bilanciamento del carico.

```
{
  "Rules": {
    "Environment": {
      "Application": {
        "ApplicationRequests4xx": {
          "Enabled": false
        }
      },
      "ELB": {
        "ELBRequests4xx": {
          "Enabled": true
        }
      }
    }
  },
  "Version": 1
}
```

Per il AWS CLI, passi il documento come valore per la `Value` chiave in un argomento delle impostazioni delle opzioni, che a sua volta è un oggetto JSON. In questo caso, devi specificare il carattere di escape per le virgolette nel documento incorporato. Il comando seguente verifica se le impostazioni di configurazione sono valide.

```
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
    {
        "Namespace": "aws:elasticbeanstalk:healthreporting:system",
        "OptionName": "ConfigDocument",
        "Value": "{\"Rules\": { \"Environment\": { \"Application\": { \"ApplicationRequests4xx\": { \"Enabled\": false } }, \"ELB\": { \"ELBRequests4xx\": {\"Enabled\": true } } } }, \"Version\": 1 }"
    }
]'
```

Per un file di configurazione `.ebextensions` in YAML, puoi fornire il documento in formato JSON così com'è.

```
  option_settings:
    - namespace: aws:elasticbeanstalk:healthreporting:system
      option_name: ConfigDocument
      value: {
  "Rules": {
    "Environment": {
      "Application": {
        "ApplicationRequests4xx": {
          "Enabled": false
        }
      },
      "ELB": {
        "ELBRequests4xx": {
          "Enabled": true
        }
      }
    }
  },
  "Version": 1
}
```