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
Apri la console Elastic Beanstalk
e nell'elenco Regions (Regioni) seleziona la tua Regione AWS. -
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.
Nel riquadro di navigazione, seleziona Configuration (Configurazione).
-
Nella categoria di configurazione Monitoring (Monitoraggio), scegliere Edit (Modifica).
-
In Health monitoring rule customization (Personalizzazione delle regole di monitoraggio dello stato), abilitare o disabilitare le opzioni Ignore (Ignora) desiderate.
-
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
-
Inizializza la tua cartella di progetto con eb init.
-
Crea un ambiente eseguendo il comando eb create.
-
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
Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml01-base-state
-
Apri il file di configurazione salvato in un editor di testo.
-
In
OptionSettings
>aws:elasticbeanstalk:healthreporting:system:
, aggiungi una chiaveConfigDocument
per elencare ciascuna regola dello stato migliorato da configurare. Il seguenteConfigDocument
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
eCloudWatchMetrics
nella stessa impostazione dell'opzioneConfigDocument
. LeCloudWatchMetrics
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 chiaveConfigDocument
con una sezioneCloudWatchMetrics
. Non eliminarla, ma aggiungi una sezioneRules
allo stesso valore dell'opzioneConfigDocument
. -
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. -
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
eput
con configurazioni salvate, non includere l'estensione del nome del file. -
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
}