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à.
Utilizzo di AWS AppConfig Agent con Amazon EC2 e macchine locali
Puoi integrarti AWS AppConfig con le applicazioni in esecuzione sulle tue istanze Amazon Elastic Compute Cloud (AmazonEC2) Linux utilizzando AWS AppConfig Agent. L'agente migliora l'elaborazione e la gestione delle applicazioni nei seguenti modi:
-
L'agente chiama AWS AppConfig per conto dell'utente utilizzando un ruolo AWS Identity and Access Management (IAM) e gestendo una cache locale dei dati di configurazione. Estraendo i dati di configurazione dalla cache locale, l'applicazione richiede un minor numero di aggiornamenti del codice per gestire i dati di configurazione, recupera i dati di configurazione in millisecondi e non è interessata da problemi di rete che possono interrompere le chiamate per tali dati. *
-
L'agente offre un'esperienza nativa per il recupero e la risoluzione dei AWS AppConfig flag di funzionalità.
-
Immediatamente, l'agente fornisce le migliori pratiche per le strategie di memorizzazione nella cache, gli intervalli di polling e la disponibilità dei dati di configurazione locali, tenendo traccia dei token di configurazione necessari per le successive chiamate di servizio.
-
Durante l'esecuzione in background, l'agente analizza periodicamente il piano dati per verificare la presenza di aggiornamenti dei AWS AppConfig dati di configurazione. L'applicazione può recuperare i dati connettendosi a localhost sulla porta 2772 (un valore di porta predefinito personalizzabile) e chiamando HTTP GET per recuperare i dati.
*AWS AppConfig L'agente memorizza i dati nella cache la prima volta che il servizio recupera i dati di configurazione. Per questo motivo, la prima chiamata per recuperare i dati è più lenta delle chiamate successive.
Argomenti
- Passaggio 1: (Obbligatorio) Creazione di risorse e configurazione delle autorizzazioni
- Fase 2: (Obbligatorio) Installazione e avvio AWS AppConfig dell'agente sulle EC2 istanze Amazon
- Passaggio 3: (Facoltativo, ma consigliato) Invio dei file di registro ai CloudWatch registri
- Fase 4: (Facoltativo) Utilizzo delle variabili di ambiente per configurare AWS AppConfig Agent for Amazon EC2
- Fase 5: (Obbligatorio) Recupero dei dati di configurazione
- Passaggio 6 (facoltativo, ma consigliato): Automatizzazione degli aggiornamenti all'agente AWS AppConfig
Passaggio 1: (Obbligatorio) Creazione di risorse e configurazione delle autorizzazioni
Per l'integrazione AWS AppConfig con le applicazioni in esecuzione sulle tue EC2 istanze Amazon, devi creare AWS AppConfig artefatti e dati di configurazione, inclusi flag di funzionalità o dati di configurazione in formato libero. Per ulteriori informazioni, consulta Creazione di flag di funzionalità e dati di configurazione in formato libero in AWS AppConfig.
Per recuperare i dati di configurazione ospitati da AWS AppConfig, le applicazioni devono essere configurate con accesso al piano dati. AWS AppConfig Per consentire l'accesso alle tue applicazioni, aggiorna la politica di IAM autorizzazione assegnata al ruolo dell'EC2istanza Amazon. In particolare, devi aggiungere le appconfig:GetLatestConfiguration
azioni appconfig:StartConfigurationSession
e alla policy. Ecco un esempio:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "appconfig:StartConfigurationSession", "appconfig:GetLatestConfiguration" ], "Resource": "*" } ] }
Per ulteriori informazioni sull'aggiunta di autorizzazioni a una politica, consulta Aggiungere e rimuovere le autorizzazioni di IAM identità nella Guida per l'IAMutente.
Fase 2: (Obbligatorio) Installazione e avvio AWS AppConfig dell'agente sulle EC2 istanze Amazon
AWS AppConfig L'agente è ospitato in un bucket Amazon Simple Storage Service (Amazon S3) gestito da. AWS Usa la seguente procedura per installare la versione più recente dell'agente sulla tua istanza Linux. Se l'applicazione è distribuita su più istanze, è necessario eseguire questa procedura su ogni istanza che ospita l'applicazione.
Nota
Prendi nota delle seguenti informazioni:
-
AWS AppConfig L'agente è disponibile per i sistemi operativi Linux che eseguono la versione del kernel 4.15 o successiva. I sistemi basati su Debian, come Ubuntu, non sono supportati.
-
L'agente supporta x86_64 e architetture. ARM64
-
Per le applicazioni distribuite, ti consigliamo di aggiungere i comandi di installazione e avvio ai dati EC2 utente Amazon del tuo gruppo Auto Scaling. Se lo fai, ogni istanza esegue i comandi automaticamente. Per ulteriori informazioni, consulta Esegui comandi sulla tua istanza Linux all'avvio nella Amazon EC2 User Guide. Inoltre, consulta Tutorial: Configura i dati utente per recuperare lo stato del ciclo di vita di destinazione tramite i metadati dell'istanza nella Amazon Auto Scaling EC2 User Guide.
-
Le procedure illustrate in questo argomento descrivono come eseguire azioni come l'installazione dell'agente accedendo all'istanza per eseguire il comando. È possibile eseguire i comandi da un computer client locale e indirizzare una o più istanze utilizzando Run Command, che è una funzionalità di. AWS Systems Manager Per ulteriori informazioni, consulta Run Command AWS Systems Manager nella Guida per l'utente AWS Systems Manager .
-
AWS AppConfig Agent on Amazon EC2 Linux Instances è un
systemd
servizio.
Per installare e avviare AWS AppConfig Agent su un'istanza
-
Accedi alla tua istanza Linux.
-
Apri un terminale ed esegui il seguente comando con i permessi di amministratore per le architetture x86_64:
sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/x86_64/latest/aws-appconfig-agent.rpm
Per le ARM64 architetture, esegui il comando seguente:
sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/arm64/latest/aws-appconfig-agent.rpm
Se desideri installare una versione specifica di AWS AppConfig Agent, sostituiscila
latest
URL con un numero di versione specifico. Ecco un esempio per x86_64:sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/x86_64/2.0.2/aws-appconfig-agent.rpm
-
Esegui il comando seguente per avviare l'agente:
sudo systemctl start aws-appconfig-agent
-
Esegui il comando seguente per verificare che l'agente sia in esecuzione:
sudo systemctl status aws-appconfig-agent
In caso di successo, il comando restituisce informazioni come le seguenti:
aws-appconfig-agent.service - aws-appconfig-agent ... Active: active (running) since Mon 2023-07-26 00:00:00 UTC; 0s ago ...
Nota
Per arrestare l'agente, esegui questo comando:
sudo systemctl stop aws-appconfig-agent
Passaggio 3: (Facoltativo, ma consigliato) Invio dei file di registro ai CloudWatch registri
Per impostazione predefinita, AWS AppConfig Agent pubblica i log su. STDERR Systemd reindirizza al journal STDOUT systemd STDERR per tutti i servizi in esecuzione sull'istanza Linux. È possibile visualizzare e gestire i dati di registro nel journal systemd se si esegue AWS AppConfig Agent solo su una o due istanze. Una soluzione migliore, una soluzione che consigliamo vivamente per le applicazioni distribuite, è scrivere file di registro su disco e quindi utilizzare Amazon CloudWatch Agent per caricare i dati di registro sul AWS cloud. Inoltre, puoi configurare l' CloudWatch agente per eliminare i vecchi file di registro dall'istanza, in modo da evitare che l'istanza esaurisca lo spazio su disco.
Per abilitare la registrazione su disco, è necessario impostare la variabile di LOG_PATH
ambiente, come descritto inFase 4: (Facoltativo) Utilizzo delle variabili di ambiente per configurare AWS AppConfig Agent for Amazon EC2.
Per iniziare a usare l' CloudWatch agente, consulta Raccogli metriche e log EC2 dalle istanze Amazon e dai server locali con l'agente CloudWatch nella Amazon User Guide. CloudWatch È possibile utilizzare Quick Setup, una funzionalità di Systems Manager per installare rapidamente l' CloudWatch agente. Per ulteriori informazioni, vedere Quick Setup Host Management nella Guida AWS Systems Manager per l'utente.
avvertimento
Se si sceglie di scrivere i file di registro su disco senza utilizzare l' CloudWatch agente, è necessario eliminare i vecchi file di registro. AWS AppConfig L'agente ruota automaticamente i file di registro ogni ora. Se non elimini i vecchi file di registro, l'istanza può esaurire lo spazio su disco.
Dopo aver installato l' CloudWatch agente sull'istanza, crea un file di configurazione CloudWatch dell'agente. Il file di configurazione spiega all' CloudWatch agente come lavorare con i file di registro AWS AppConfig dell'agente. Per ulteriori informazioni sulla creazione di un file di configurazione CloudWatch dell'agente, vedere Creare il file di configurazione dell' CloudWatch agente.
Aggiungi la logs
sezione seguente al file di configurazione dell' CloudWatch agente sull'istanza e salva le modifiche:
"logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/
path_you_specified_for_logging
", "log_group_name": "${YOUR_LOG_GROUP_NAME
}/aws-appconfig-agent.log", "auto_removal": true }, ... ] }, ... }, ... }
Se il valore di auto_removal
ètrue
, l' CloudWatch agente elimina automaticamente i file di registro AWS AppConfig dell'agente ruotati.
Fase 4: (Facoltativo) Utilizzo delle variabili di ambiente per configurare AWS AppConfig Agent for Amazon EC2
Puoi configurare AWS AppConfig Agent for Amazon EC2 utilizzando variabili di ambiente. Per impostare le variabili di ambiente per un systemd
servizio, crei un file di unità drop-in. L'esempio seguente mostra come creare un file di unità drop-in su cui impostare il livello di registrazione dell' AWS AppConfig agente. DEBUG
Esempio di come creare un file di unità drop-in per le variabili di ambiente
-
Accedi alla tua istanza Linux.
-
Apri un terminale ed esegui il seguente comando con i permessi di amministratore. Il comando crea una directory di configurazione:
sudo mkdir /etc/systemd/system/aws-appconfig-agent.service.d
-
Eseguite il comando seguente per creare il file dell'unità drop-in. Replace (Sostituisci)
file_name
con un nome per il file. L'estensione deve essere.conf
:sudo touch /etc/systemd/system/aws-appconfig-agent.service.d/
file_name
.conf -
Inserisci le informazioni nel file dell'unità drop-in. L'esempio seguente aggiunge una
Service
sezione che definisce una variabile di ambiente. L'esempio imposta il livello di registro AWS AppConfig dell'agente suDEBUG
.[Service] Environment=LOG_LEVEL=DEBUG
-
Eseguite il comando seguente per ricaricare la configurazione systemd:
sudo systemctl daemon-reload
-
Eseguite il seguente comando per riavviare AWS AppConfig l'agente:
sudo systemctl restart aws-appconfig-agent
Puoi configurare AWS AppConfig Agent for Amazon EC2 specificando le seguenti variabili di ambiente in un file di unità drop-in.
Variabile di ambiente | Informazioni | Valore predefinito |
---|---|---|
|
Questa variabile di ambiente definisce un token che deve essere fornito quando si richiedono i dati di configurazione dal server dell'agente. HTTP Il valore del token deve essere impostato nell'intestazione di autorizzazione della HTTP richiesta con un tipo di autorizzazione di.
|
Nessuno |
|
Questa variabile di ambiente consente all' AWS AppConfig agente di salvare un backup di ogni configurazione recuperata nella directory specificata. ImportanteLe configurazioni di cui è stato eseguito il backup su disco non sono crittografate. Se la configurazione contiene dati sensibili, si AWS AppConfig consiglia di applicare il principio del privilegio minimo con le autorizzazioni del file system. Per ulteriori informazioni, consulta Sicurezza in AWS AppConfig. |
Nessuno |
|
Questa variabile di ambiente specifica la porta su cui viene eseguito il server per l'HTTPagente. |
2772 |
|
Questa variabile di ambiente specifica il livello di dettaglio registrato dall'agente. Ogni livello include il livello corrente e tutti i livelli superiori. Le variabili distinguono tra maiuscole e minuscole. Dal più dettagliato al meno dettagliato, i livelli di registro sono: |
|
|
La posizione su disco in cui vengono scritti i log. Se non specificato, i log vengono scritti su stderr. |
Nessuno |
|
Questa variabile di ambiente configura AWS AppConfig Agent per sfruttare funzionalità aggiuntive relative alla configurazione, come il recupero di più account e il salvataggio della configurazione su disco. È possibile inserire uno dei seguenti valori:
Per ulteriori informazioni su queste caratteristiche, consultare Utilizzo di un manifesto per abilitare funzionalità di recupero aggiuntive. |
true |
|
Questa variabile di ambiente configura il numero massimo di connessioni utilizzate dall'agente per recuperare le configurazioni. AWS AppConfig |
3 |
|
Questa variabile di ambiente controlla la frequenza con cui l'agente richiede dati di configurazione aggiornati. AWS AppConfig È possibile specificare un numero di secondi per l'intervallo. È inoltre possibile specificare un numero con un'unità di tempo: s per secondi, m per minuti e h per ore. Se non viene specificata un'unità, l'agente utilizza come impostazione predefinita i secondi. Ad esempio, 60, 60 e 1 m generano lo stesso intervallo di sondaggio. |
45 secondi |
|
Questa variabile di ambiente specifica i dati di configurazione richiesti dall'agente non AWS AppConfig appena viene avviato. |
Nessuno |
|
Se impostato su |
true |
PROXY_HEADERS |
Questa variabile di ambiente specifica le intestazioni richieste dal proxy a cui fa riferimento la variabile di ambiente. PROXY_URL Il valore è un elenco di intestazioni separate da virgole. Ogni intestazione utilizza il seguente modulo.
|
Nessuno |
PROXY_URL |
Questa variabile di ambiente specifica il proxy da URL utilizzare per le connessioni dall'agente a AWS servizi, incluso. AWS AppConfigHTTPS e HTTP URLs sono supportati. |
Nessuno |
|
Questa variabile di ambiente controlla la quantità di tempo da AWS AppConfig cui l'agente attende una risposta. Se il servizio non risponde, la richiesta ha esito negativo. Se la richiesta riguarda il recupero iniziale dei dati, l'agente restituisce un errore all'applicazione. Se il timeout si verifica durante un controllo in background per verificare la presenza di dati aggiornati, l'agente registra l'errore e riprova dopo un breve ritardo. È possibile specificare il numero di millisecondi per il timeout. È inoltre possibile specificare un numero con un'unità di tempo: ms per millisecondi e s per secondi. Se non viene specificata un'unità, l'agente utilizza come impostazione predefinita i millisecondi. Ad esempio, 5000, 5000 ms e 5 secondi generano lo stesso valore di timeout della richiesta. |
3000 millisecondi |
ROLE_ARN |
Questa variabile di ambiente specifica l'Amazon Resource Name (ARN) di un IAM ruolo. AWS AppConfig L'agente assume questo ruolo per recuperare i dati di configurazione. | Nessuno |
ROLE_EXTERNAL_ID |
Questa variabile di ambiente specifica l'ID esterno da utilizzare con il ruolo assunto. ARN | Nessuno |
ROLE_SESSION_NAME |
Questa variabile di ambiente specifica il nome della sessione da associare alle credenziali per il ruolo assunto. IAM | Nessuno |
SERVICE_REGION |
Questa variabile di ambiente specifica un'alternativa Regione AWS utilizzata dall' AWS AppConfig agente per chiamare il servizio. AWS AppConfig Se non viene definita, l'agente tenta di determinare la regione corrente. In caso contrario, l'agente non si avvia. | Nessuno |
|
Questa variabile di ambiente configura l' AWS AppConfig agente in modo che attenda l'elaborazione del manifesto prima di completare l'avvio. |
true |
Fase 5: (Obbligatorio) Recupero dei dati di configurazione
È possibile recuperare i dati di configurazione dall' AWS AppConfig agente utilizzando una HTTP chiamata localhost. I seguenti esempi vengono utilizzati curl
con un HTTP client. È possibile chiamare l'agente utilizzando qualsiasi HTTP client disponibile supportato dal linguaggio dell'applicazione o dalle librerie disponibili, tra cui un AWS SDK.
Per recuperare il contenuto completo di qualsiasi configurazione distribuita
$ curl "http://localhost:2772/applications/
application_name
/environments/environment_name
/configurations/configuration_name
"
Per recuperare un singolo flag e i relativi attributi da una AWS AppConfig
configurazione di tipo Feature Flag
$ curl "http://localhost:2772/applications/
application_name
/environments/environment_name
/configurations/configuration_name
?flag=flag_name
"
Per accedere a più flag e ai relativi attributi da una AWS AppConfig
configurazione di tipo Feature Flag
$ curl "http://localhost:2772/applications/
application_name
/environments/environment_name
/configurations/configuration_name
?flag=flag_name_one
&flag=flag_name_two
"
Passaggio 6 (facoltativo, ma consigliato): Automatizzazione degli aggiornamenti all'agente AWS AppConfig
AWS AppConfig L'agente viene aggiornato periodicamente. Per assicurarti di eseguire la versione più recente di AWS AppConfig Agent sulle tue istanze, ti consigliamo di aggiungere i seguenti comandi ai tuoi dati EC2 utente Amazon. È possibile aggiungere i comandi ai dati utente sull'istanza o sul gruppo EC2 Auto Scaling. Lo script installa e avvia la versione più recente dell'agente ogni volta che un'istanza viene avviata o riavviata.
#!/bin/bash # install the latest version of the agent yum install -y https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/x86_64/latest/aws-appconfig-agent.rpm # optional: configure the agent mkdir /etc/systemd/system/aws-appconfig-agent.service.d echo "${
MY_AGENT_CONFIG
}" > /etc/systemd/system/aws-appconfig-agent.service.d/overrides.conf systemctl daemon-reload # start the agent systemctl start aws-appconfig-agent