Configurazione delle regole dello stato migliorato per un ambiente - AWS Elastic Beanstalk

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

Il reporting sull'ambiente migliorata AWS Elastic Beanstalk si basa su un set di regole per determinare l'integrità 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 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

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 e nell'elenco Regions (Regioni) seleziona la tua Regione AWS.

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

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel riquadro di navigazione, seleziona Configuration (Configurazione).

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

  5. 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
  6. 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

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.

  2. Crea un ambiente eseguendo il comando eb create.

  3. 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
  4. Apri il file di configurazione salvato in un editor di testo.

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

    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.

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

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

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

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 la AWS CLI, devi passare il documento come valore della chiave Value in un argomento di impostazioni delle opzioni, che è anch'esso 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 }