

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

# HAProxy OpsWorks Camada de pilhas
<a name="layers-haproxy"></a>

**nota**  
Essa camada está disponíveis apenas para o Chef 11 e pilhas anteriores com base em Linux.

A camada OpsWorks Stacks é uma HAProxy camada OpsWorks Stacks que fornece um modelo para instâncias que hospedam um [HAProxy](http://haproxy.1wt.eu/)servidor — um balanceamento de carga confiável de alto desempenho. TCP/HTTP Uma pequena instância é normalmente suficiente para processar todo o tráfego do servidor dos aplicativos. 

**nota**  
As pilhas estão limitadas a uma única região. Para distribuir seu aplicativo em várias regiões, é necessário criar uma pilha separada para cada região.

**Para criar uma HAProxy camada**

1. No painel de navegação, clique em **Layers**.

1. Na página **Layers**, clique em **Add a Layer** ou **\$1 Layer**. Em **Tipo de camada**, selecione **HAProxy**.

A camada tem as seguintes definições de configuração, as quais são opcionais.

**HAProxy estatísticas**  
Se a camada coleta e exibe estatísticas. O valor padrão é **Yes**.

**Statistics URL**  
A cominho do URL da página estática. O URL completo é http://*DNSName**StatisticsPath*, onde *DNSName* está o nome DNS da instância associada. O *StatisticsPath* valor padrão é /haproxy? stats, que corresponde a algo como: http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/haproxy?stats.

**Statistics user name**  
O nome de usuário da página de estatísticas, que você deve fornecer para visualizar a página de estatísticas. O valor padrão é “opsworks”.

**Statistics password**  
A senha da página de estatísticas, que você deve fornecer para visualizar a página de estatísticas. O valor padrão é uma string gerada aleatoriamente.

**Health check URL**  
O sufixo do URL da verificação de saúde. HAProxy usa essa URL para chamar periodicamente um método HTTP em cada instância do servidor de aplicativos para determinar se a instância está funcionando. Se a verificação de integridade falhar, HAProxy interrompe o roteamento do tráfego para a instância até que ela seja reiniciada, manualmente ou por meio de recuperação [automática](workinginstances-autohealing.md). O valor padrão para o sufixo do URL é “/”, que corresponde à página inicial da instância do servidor: http://*DNSName*/. 

**Health check method**  
Um método HTTP para ser usado a fim de verificar se as instâncias estão funcionando. O valor padrão é **OPTIONS**, e você também pode especificar **GET** ou **HEAD**. Para obter mais informações, consulte [httpchk](http://cbonte.github.io/haproxy-dconv/configuration-1.5.html). 

**Grupos de segurança personalizados**  
Essa configuração aparece se você optar por não associar automaticamente um grupo de segurança embutido do OpsWorks Stacks às suas camadas. Você deve especificar qual grupo de segurança associar com a camada. Certifique-se de que o grupo tenha as configurações corretas para permitir o tráfego entre as camadas. Para obter mais informações, consulte [Criar uma nova pilha](workingstacks-creating.md).

![\[HAProxy layer configuration form with options for statistics and health check settings.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/add_layer_haproxy.png)


**nota**  
Grave a senha para uso posterior; o OpsWorks Stacks não permite que você visualize a senha depois de criar a camada. No entanto, você pode atualizar a senha acessando a página **Edit** da camada e clicando em **Update password** na guia **General Settings**.  

![\[HAProxy layer settings interface with options for statistics, health checks, and auto healing.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/haproxy_update_password.png)


## Como a HAProxy camada funciona
<a name="w2ab1c14c71b9c21c13c19"></a>

Por padrão, HAProxy faz o seguinte:
+ Detecta solicitações nas portas HTTP e HTTPS.

  Você pode configurar HAProxy para ouvir apenas na porta HTTP ou HTTPS substituindo o modelo de configuração do Chef,`haproxy.cfg.erb`.
+ Direciona o tráfego de entrada para instâncias que fazem parte de qualquer camada do servidor do aplicativo.

  Por padrão, o OpsWorks Stacks é configurado HAProxy para distribuir tráfego para instâncias que são membros de qualquer camada do servidor de aplicativos. Você poderia, por exemplo, ter uma pilha com as camadas Rails App Server e PHP App Server, e um HAProxy mestre distribui o tráfego para as instâncias em ambas as camadas. É possível configurar o roteamento padrão utilizando uma receita personalizada.
+ Direciona o tráfego em diversas Zonas de disponibilidade.

  Se uma Zona de disponibilidade for desativada, o load balancer direciona o tráfego de entrada para instâncias em outras zonas para que o aplicativo continue a ser executado sem interrupção. Por esse motivo, uma prática recomendada é distribuir os servidores de aplicativos em várias Zonas de disponibilidade.
+ Executa periodicamente o método de verificação de integridade em cada instância do servidor do aplicativo avaliar sua integridade.

  Se o método não retornar dentro de um período de tempo limite especificado, presume-se que a instância falhou e HAProxy interrompe o roteamento de solicitações para a instância. OpsWorks O Stacks também fornece uma forma de substituir automaticamente as instâncias com falha. Para obter mais informações, consulte [Como usar a correção automática](workinginstances-autohealing.md). Você pode alterar o método de verificação de integridade ao criar a camada. 
+ Coleta as estatísticas e, como opção, as exibe em uma página da Web.

**Importante**  
Para que a verificação de integridade funcione corretamente com o método OPÇÕES padrão, o aplicativo deve retornar um código de status 2xx ou 3xx.

Por padrão, quando você adiciona uma instância a uma HAProxy camada, o OpsWorks Stacks atribui a ela um endereço IP elástico para representar o aplicativo, que é público para o mundo. Como o endereço IP elástico da instância HAProxy é o único URL exposto publicamente do aplicativo, não é necessário criar e gerenciar nomes de domínio público para as instâncias do servidor de aplicativo subjacente. Você pode obter o endereço na página **Instâncias** e examinar o endereço IP público da instância, como a ilustração a seguir mostra. Um endereço seguido de (EIP) é um endereço IP elástico. Para obter mais informações sobre endereços IP elásticos, consulte [Endereços IP elásticos (EIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html). 

![\[HAProxy instance table showing hostname, status, size, type, AZ, and public IP address.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/load_balancer_elastic_ip.png)


Quando você interrompe uma HAProxy instância, o OpsWorks Stacks retém o endereço IP elástico e o reatribui à instância quando você a reinicia. Se você excluir uma HAProxy instância, por padrão, o OpsWorks Stacks excluirá o endereço IP da instância. Para manter o endereço desmarque a opção **Excluir o IP elástico da instância**, como mostrado na ilustração a seguir.

![\[HAProxy instance deletion confirmation dialog with option to retain Elastic IP address.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/delete_lb.png)


Essa opção afeta o que acontece ao adicionar uma nova instância à camada para substituir uma instância excluída:
+ Se você manteve o endereço IP elástico da instância excluída, o OpsWorks Stacks atribui o endereço à nova instância.
+ Caso contrário, o OpsWorks Stacks atribuirá um novo endereço IP elástico à instância e você deverá atualizar as configurações do registrador de DNS para mapear para o novo endereço.

Quando as instâncias do servidor de aplicativos ficam on-line ou off-line, manualmente ou como consequência da [escalabilidade automática](workinginstances-autoscaling.md) ou da [autorrecuperação](workinginstances-autohealing.md); a configuração do balanceador de carga deve ser atualizada para direcionar o tráfego até o conjunto atual de instâncias on-line. Essa tarefa é processada automaticamente pelas receitas internas da camada:
+ [Quando novas instâncias são ativadas, o OpsWorks Stacks aciona um evento de ciclo de vida do Configure.](workingcookbook-events.md) As receitas de configuração integradas da HAProxy camada atualizam a configuração do balanceador de carga para que ela também distribua solicitações para qualquer nova instância do servidor de aplicativos.
+ Quando as instâncias ficam off-line ou uma instância falha em uma verificação de saúde, o OpsWorks Stacks também aciona um evento de ciclo de vida do Configure. As receitas de HAProxy configuração atualizam a configuração do balanceador de carga para rotear o tráfego somente para as instâncias on-line restantes. 

Finalmente, você também pode usar um domínio personalizado com a HAProxy camada. Para obter mais informações, consulte [Usando domínios predefinidos](workingapps-domains.md). 

## Página de estatísticas
<a name="w2ab1c14c71b9c21c13c21"></a>

Se você tiver ativado a página de estatísticas, ela HAProxy exibirá uma página contendo uma variedade de métricas no URL especificado.

**Para ver HAProxy estatísticas**

1. Obtenha o nome **DNS público** da HAProxy instância na página **Detalhes** da instância e copie-o.

1. Na página **Camadas**, clique em **HAProxy** para abrir a página de detalhes da camada.

1. Obtenha o URL das estatísticas nos detalhes da camada e anexe-os ao nome DNS público. Por exemplo: **http://ec2-54-245-102-172.us-west-2.compute.amazonaws.com/haproxy?stats** para isso.

1. Cole o URL da etapa anterior no navegador e use o nome do usuário e a senha especificada ao criar a camada para abrir a página de estatísticas.   
![\[HAProxy statistics report showing process information and session data for frontend and backend servers.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/haproxy_stats.png)