As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usando o AWS AppConfig Agent com a Amazon EC2 e máquinas locais
Você pode se integrar AWS AppConfig com aplicativos executados em suas instâncias Linux do Amazon Elastic Compute Cloud (AmazonEC2) usando o AWS AppConfig Agent. O agente aprimora o processamento e o gerenciamento de aplicativos das seguintes maneiras:
-
O agente liga AWS AppConfig em seu nome usando uma função AWS Identity and Access Management (IAM) e gerenciando um cache local de dados de configuração. Ao extrair dados de configuração do cache local, seu aplicativo exige menos atualizações de código para gerenciar dados de configuração, recupera dados de configuração em milissegundos e não é afetado por problemas de rede que podem afetar as chamadas para esses dados.*
-
O agente oferece uma experiência nativa para recuperar e resolver sinalizadores de AWS AppConfig recursos.
-
Pronto para uso, o agente fornece as práticas recomendadas para estratégias de armazenamento em cache, intervalos de pesquisa e disponibilidade de dados de configuração locais, enquanto rastreia os tokens de configuração necessários para chamadas de serviço subsequentes.
-
Durante a execução em segundo plano, o agente consulta periodicamente o plano de AWS AppConfig dados para atualizações de dados de configuração. Seu aplicativo pode recuperar os dados conectando-se ao localhost na porta 2772 (um valor de porta padrão personalizável) e ligando HTTP GET para recuperar os dados.
* O AWS AppConfig agente armazena os dados em cache na primeira vez que o serviço recupera seus dados de configuração. Por esse motivo, a primeira chamada para recuperar dados é mais lenta que as chamadas subsequentes.
Tópicos
- Etapa 1: (obrigatória) crie recursos e configure permissões
- Etapa 2: (Obrigatório) Instalar e iniciar o AWS AppConfig agente nas EC2 instâncias da Amazon
- Etapa 3: (opcional, mas recomendado) Enviar arquivos de log para o CloudWatch Logs
- Etapa 4: (opcional) Usando variáveis de ambiente para configurar o AWS AppConfig agente para a Amazon EC2
- Etapa 5: (obrigatória) recuperação de dados de configuração
- Etapa 6 (opcional, mas recomendada): automatizar as atualizações do Agente AWS AppConfig
Etapa 1: (obrigatória) crie recursos e configure permissões
Para se integrar AWS AppConfig aos aplicativos executados em suas EC2 instâncias da Amazon, você deve criar AWS AppConfig artefatos e dados de configuração, incluindo sinalizadores de recursos ou dados de configuração de formato livre. Para obter mais informações, consulte Criação de sinalizadores de recursos e dados de configuração de formato livre no AWS AppConfig.
Para recuperar dados de configuração hospedados por AWS AppConfig, seus aplicativos devem ser configurados com acesso ao plano de AWS AppConfig dados. Para dar acesso aos seus aplicativos, atualize a política de IAM permissões atribuída à função de EC2 instância da Amazon. Especificamente, você deve adicionar as ações appconfig:StartConfigurationSession
e appconfig:GetLatestConfiguration
à política. Exemplo:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "appconfig:StartConfigurationSession", "appconfig:GetLatestConfiguration" ], "Resource": "*" } ] }
Para obter mais informações sobre como adicionar permissões a uma política, consulte Adicionar e remover permissões de IAM identidade no Guia IAM do usuário.
Etapa 2: (Obrigatório) Instalar e iniciar o AWS AppConfig agente nas EC2 instâncias da Amazon
AWS AppConfig O agente está hospedado em um bucket do Amazon Simple Storage Service (Amazon S3) gerenciado por. AWS Use o procedimento a seguir para instalar a versão mais recente do agente em sua instância do Linux. Se seu aplicativo estiver distribuído entre várias instâncias, você deverá executar este procedimento em cada instância que hospeda o aplicativo.
nota
Observe as seguintes informações:
-
AWS AppConfig O agente está disponível para sistemas operacionais Linux que executam a versão 4.15 ou superior do kernel. Sistemas baseados em Debian, como o Ubuntu, não são suportados.
-
O agente oferece suporte a x86_64 e arquiteturas. ARM64
-
Para aplicativos distribuídos, recomendamos adicionar os comandos de instalação e inicialização aos dados de EC2 usuário da Amazon do seu grupo Auto Scaling. Se fizer isso, cada instância executará os comandos automaticamente. Para obter mais informações, consulte Executar comandos em sua instância Linux no lançamento no Guia EC2 do usuário da Amazon. Além disso, consulte o Tutorial: Configurar dados do usuário para recuperar o estado do ciclo de vida desejado por meio de metadados da instância no Guia do usuário do Amazon Auto Scaling. EC2
-
Os procedimentos deste tópico descrevem como realizar ações como instalar o agente fazendo login na instância para executar o comando. Você pode executar os comandos em uma máquina cliente local e direcionar uma ou mais instâncias usando o Run Command, que é um recurso do AWS Systems Manager. Para obter mais informações, consulte Comando AWS Systems Manager Run no Guia do usuário do AWS Systems Manager .
-
AWS AppConfig O agente nas instâncias EC2 Linux da Amazon é um
systemd
serviço.
Para instalar e iniciar o AWS AppConfig Agente em uma instância
-
Faça login na sua instância do Linux.
-
Abra um terminal e execute o seguinte comando com permissões de administrador para arquiteturas x86_64:
sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/x86_64/latest/aws-appconfig-agent.rpm
Para ARM64 arquiteturas, execute o seguinte comando:
sudo yum install https://s3.amazonaws.com/aws-appconfig-downloads/aws-appconfig-agent/linux/arm64/latest/aws-appconfig-agent.rpm
Se você quiser instalar uma versão específica do AWS AppConfig Agente,
latest
substitua-a URL por um número de versão específico. Veja um exemplo para 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
-
Para iniciar o agente, execute o seguinte comando:
sudo systemctl start aws-appconfig-agent
-
Execute o seguinte comando para verificar se o agente está em execução:
sudo systemctl status aws-appconfig-agent
Se houver êxito, o comando retornará informações como as seguintes:
aws-appconfig-agent.service - aws-appconfig-agent ... Active: active (running) since Mon 2023-07-26 00:00:00 UTC; 0s ago ...
nota
Para interromper o agente, execute o seguinte comando:
sudo systemctl stop aws-appconfig-agent
Etapa 3: (opcional, mas recomendado) Enviar arquivos de log para o CloudWatch Logs
Por padrão, o AWS AppConfig Agente publica registros emSTDERR. O Systemd redireciona STDOUT e, STDERR para todos os serviços executados na instância Linux, para o diário systemd. Você pode visualizar e gerenciar dados de log no diário do systemd se estiver executando o AWS AppConfig Agent em apenas uma ou duas instâncias. Uma solução melhor, uma solução altamente recomendada para aplicativos distribuídos, é gravar arquivos de log em disco e, em seguida, usar o CloudWatch agente da Amazon para carregar os dados de log na AWS nuvem. Além disso, você pode configurar o CloudWatch agente para excluir arquivos de log antigos da sua instância, o que evita que ela fique sem espaço em disco.
Para habilitar o log em disco, você deve definir a variável de ambiente LOG_PATH
, conforme descrito em Etapa 4: (opcional) Usando variáveis de ambiente para configurar o AWS AppConfig agente para a Amazon EC2.
Para começar a usar o CloudWatch agente, consulte Coletar métricas e registros de EC2 instâncias da Amazon e servidores locais com o CloudWatch agente no Guia do CloudWatch usuário da Amazon. Você pode usar o Quick Setup, um recurso do Systems Manager para instalar rapidamente o CloudWatch agente. Para obter mais informações, consulte Gerenciamento do host de Configuração Rápida no Guia do usuário do AWS Systems Manager .
Atenção
Se você optar por gravar arquivos de log no disco sem usar o CloudWatch agente, deverá excluir os arquivos de log antigos. AWS AppConfig O agente gira automaticamente os arquivos de log a cada hora. Se você não excluir os arquivos de log antigos, sua instância poderá ficar sem espaço em disco.
Depois de instalar o CloudWatch agente na sua instância, crie um arquivo de configuração do CloudWatch agente. O arquivo de configuração instrui o CloudWatch agente sobre como trabalhar com os arquivos de log do AWS AppConfig agente. Para obter mais informações sobre a criação de um arquivo de configuração do CloudWatch agente, consulte Criar o arquivo de configuração do CloudWatch agente.
Adicione a logs
seção a seguir ao arquivo de configuração do CloudWatch agente na instância e salve suas alterações:
"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 o valor de auto_removal
fortrue
, o CloudWatch agente excluirá automaticamente os arquivos de log do AWS AppConfig Agente rotacionados.
Etapa 4: (opcional) Usando variáveis de ambiente para configurar o AWS AppConfig agente para a Amazon EC2
Você pode configurar o AWS AppConfig Agent for Amazon EC2 usando variáveis de ambiente. Para definir variáveis de ambiente para um serviço do systemd
, crie um arquivo de unidade drop-in. O exemplo a seguir mostra como criar um arquivo de unidade drop-in para definir o nível de registro do AWS AppConfig agente como. DEBUG
Exemplo de como criar um arquivo de unidade drop-in para variáveis de ambiente
-
Faça login na sua instância do Linux.
-
Abra um terminal ou execute o comando a seguir com permissões de administrador. O comando cria um diretório de configuração:
sudo mkdir /etc/systemd/system/aws-appconfig-agent.service.d
-
Execute o comando a seguir para criar o arquivo de unidade drop-in. Substituir
file_name
com um nome para o arquivo. A extensão deve ser.conf
:sudo touch /etc/systemd/system/aws-appconfig-agent.service.d/
file_name
.conf -
Insira as informações no arquivo da unidade drop-in. O exemplo a seguir adiciona uma seção
Service
que define uma variável de ambiente. O exemplo define o nível de log do AWS AppConfig Agente comoDEBUG
.[Service] Environment=LOG_LEVEL=DEBUG
-
Execute o comando a seguir para recarregar a configuração do systemd:
sudo systemctl daemon-reload
-
Execute o comando a seguir para reiniciar o AWS AppConfig Agente:
sudo systemctl restart aws-appconfig-agent
Você pode configurar o AWS AppConfig Agent for Amazon EC2 especificando as seguintes variáveis de ambiente em um arquivo de unidade suspenso.
Variável de ambiente | Detalhes | Valor padrão |
---|---|---|
|
Essa variável de ambiente define um token que deve ser fornecido ao solicitar dados de configuração do HTTP servidor do agente. O valor do token deve ser definido no cabeçalho de autorização da HTTP solicitação com um tipo de autorização de
|
Nenhum |
|
Essa variável de ambiente permite que o AWS AppConfig Agente salve um backup de cada configuração recuperada no diretório especificado. ImportanteAs configurações copiadas em disco não são criptografadas. Se sua configuração contiver dados confidenciais, recomendamos AWS AppConfig que você pratique o princípio do menor privilégio com as permissões do sistema de arquivos. Para obter mais informações, consulte Segurança em AWS AppConfig. |
Nenhum |
|
Essa variável de ambiente especifica a porta na qual o HTTP servidor do agente é executado. |
2772 |
|
Esta variável de ambiente especifica o nível de detalhes que o agente registra. Cada nível inclui o nível atual e todos os níveis superiores. As variáveis diferenciam maiúsculas de minúsculas. Do mais detalhado ao menos detalhado, os níveis de log são: |
|
|
O local do disco em que os logs são gravados. Se não especificado, os logs serão gravados em stderr. |
Nenhum |
|
Essa variável de ambiente configura o AWS AppConfig Agente para aproveitar os recursos adicionais por configuração, como recuperações de várias contas e salvamento da configuração em disco. Você pode inserir um dos seguintes valores:
Para obter mais informações sobre esses recursos, consulte Usando um manifesto para habilitar recursos adicionais de recuperação. |
verdadeiro |
|
Esta variável de ambiente configura o número máximo de conexões que o agente usa para recuperar configurações do AWS AppConfig. |
3 |
|
Essa variável de ambiente controla a frequência com que o agente pesquisa dados AWS AppConfig de configuração atualizados. É possível especificar um número de segundos para o intervalo. Você também pode especificar um número com uma unidade de tempo: s para segundos, m para minutos, e h para horas. Se nenhuma unidade for especificada, o agente usará segundos como padrão. Por exemplo, 60, 60 s e 1 min resultam no mesmo intervalo de pesquisa. |
45 segundos |
|
Essa variável de ambiente especifica os dados de configuração que o agente solicita AWS AppConfig assim que é iniciado. |
Nenhum |
|
Se definido como |
verdadeiro |
PROXY_HEADERS |
Esta variável de ambiente especifica cabeçalhos que são exigidos pelo proxy referenciado na variável de ambiente PROXY_URL . O valor é uma lista de cabeçalhos separados por vírgula. Cada cabeçalho usa o formato a seguir:
|
Nenhum |
PROXY_URL |
Essa variável de ambiente especifica o proxy URL a ser usado para conexões do agente com Serviços da AWS, inclusive AWS AppConfig. HTTPS e HTTP URLs são suportados. |
Nenhum |
|
Essa variável de ambiente controla a quantidade de tempo do qual o agente espera por uma resposta. AWS AppConfig Se o serviço não responder, a solicitação falhará. Se a solicitação for para a recuperação inicial de dados, o agente retornará um erro ao seu aplicativo. Se o tempo limite ocorrer durante uma verificação de dados atualizados em segundo plano, o agente registrará o erro e tentará novamente após um pequeno atraso. Você pode especificar o número de milissegundos para o tempo limite. Você pode também especificar um número com uma unidade de tempo: ms, para milissegundos, e s, para segundos. Se nenhuma unidade for especificada, o agente usará milissegundos como padrão. Por exemplo, 5000, 5000 ms e 5 s resultam no mesmo valor de tempo limite da solicitação. |
3000 milissegundos |
ROLE_ARN |
Essa variável de ambiente especifica o Amazon Resource Name (ARN) de uma IAM função. AWS AppConfig O agente assume essa função para recuperar os dados de configuração. | Nenhum |
ROLE_EXTERNAL_ID |
Essa variável de ambiente especifica a ID externa a ser usada com a função ARN assumida. | Nenhum |
ROLE_SESSION_NAME |
Essa variável de ambiente especifica o nome da sessão a ser associado às credenciais da função assumidaIAM. | Nenhum |
SERVICE_REGION |
Essa variável de ambiente especifica uma alternativa Região da AWS que o AWS AppConfig Agente usa para chamar o AWS AppConfig serviço. Se não for definida, o agente tentará determinar a região atual. Se não for possível, o agente não iniciará. | Nenhum |
|
Essa variável de ambiente configura o AWS AppConfig Agente para esperar até que o manifesto seja processado antes de concluir a inicialização. |
verdadeiro |
Etapa 5: (obrigatória) recuperação de dados de configuração
Você pode recuperar dados de configuração do AWS AppConfig Agente usando uma chamada HTTP localhost. Os exemplos a seguir são usados curl
com um HTTP cliente. Você pode chamar o agente usando qualquer HTTP cliente disponível suportado pela linguagem do seu aplicativo ou pelas bibliotecas disponíveis, incluindo um AWS SDK.
Para recuperar o conteúdo completo de qualquer configuração implantada
$ curl "http://localhost:2772/applications/
application_name
/environments/environment_name
/configurations/configuration_name
"
Para recuperar um único sinalizador e seus atributos de uma configuração do AWS AppConfig
do tipo Feature Flag
$ curl "http://localhost:2772/applications/
application_name
/environments/environment_name
/configurations/configuration_name
?flag=flag_name
"
Para acessar vários sinalizadores e seus atributos a partir de uma configuração do AWS AppConfig
do tipo Feature Flag
$ curl "http://localhost:2772/applications/
application_name
/environments/environment_name
/configurations/configuration_name
?flag=flag_name_one
&flag=flag_name_two
"
Etapa 6 (opcional, mas recomendada): automatizar as atualizações do Agente AWS AppConfig
AWS AppConfig O agente é atualizado periodicamente. Para garantir que você esteja executando a versão mais recente do AWS AppConfig Agent em suas instâncias, recomendamos que você adicione os seguintes comandos aos seus dados de EC2 usuário da Amazon. Você pode adicionar os comandos aos dados do usuário na instância ou no grupo EC2 Auto Scaling. O script instala e inicia a versão mais recente do agente sempre que uma instância é iniciada ou reinicializada.
#!/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