

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

# Conceitos do App Mesh
<a name="concepts"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

**Topics**
+ [Malhas de serviço](meshes.md)
+ [Serviços virtuais](virtual_services.md)
+ [Gateways virtuais](virtual_gateways.md)
+ [Nós virtuais](virtual_nodes.md)
+ [Roteadores virtuais](virtual_routers.md)

# Malhas de serviço
<a name="meshes"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Uma malha de serviços é um limite lógico para o tráfego de rede entre os serviços que residem nela. Depois de criar sua malha de serviços, você poderá criar serviços virtuais, nós virtuais, roteadores virtuais e rotas para distribuir o tráfego entre os aplicativos na sua malha.

## Criação de uma malha de serviços
<a name="create-mesh"></a>

**nota**  
Ao criar uma malha, você deve adicionar um seletor de namespace. Se o seletor de namespace estiver vazio, ele selecionará todos os namespaces. Para restringir os namespaces, use um rótulo para associar os recursos do App Mesh à malha criada.

------
#### [ Console de gerenciamento da AWS ]

**Para criar uma malha de serviços usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Selecione **Create mesh (Criar malha)**.

1. Em **Mesh name (Nome da malha)**, especifique um nome para sua malha de serviços.

1. (Opcional) Escolha **Permitir tráfego externo**. Por padrão, os proxies na malha somente encaminham o tráfego entre si. Se permitir tráfego externo, os proxies na malha também encaminharão o tráfego TCP diretamente para serviços que não estão implantados com um proxy definido na malha.
**nota**  
Se você especificar qualquer back-end em um nó virtual usando `ALLOW_ALL`, deverá especificar todas as saídas desse nó virtual como back-ends. Caso contrário, `ALLOW_ALL` não funcionará mais para esse nó virtual.

1. 

**Preferência de versão do IP**

   Controle qual versão de IP deve ser usada para tráfego dentro da malha ativando **Substituir comportamento da versão de IP padrão**. Por padrão, o App Mesh usa uma variedade de versões de IP.
**nota**  
A malha aplica a preferência de IP a todos os nós virtuais e gateways virtuais dentro de uma malha. Esse comportamento pode ser substituído em um nó virtual individual configurando a preferência de IP ao criar ou editar o nó. A preferência de IP não pode ser substituída em um gateway virtual porque a configuração dos gateways virtuais que permite que eles escutem ambos IPv4 e o IPv6 tráfego é a mesma, independentemente da preferência definida na malha.
   + Padrão
     + O resolvedor de DNS do Envoy prefere o `IPv6` e volta para o `IPv4`.
     + Usamos o endereço `IPv4` retornado pelo AWS Cloud Map , se disponível, e voltamos a usar o endereço `IPv6`.
     + O endpoint criado para o aplicativo local usa um endereço `IPv4`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4`.
   + IPv6 preferido
     + O resolvedor de DNS do Envoy prefere o `IPv6` e volta para o `IPv4`.
     + O endereço `IPv6` retornado pelo AWS Cloud Map é usado, se disponível, e volta a usar o endereço `IPv4`
     + O endpoint criado para o aplicativo local usa um endereço `IPv6`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.
   + IPv4 preferido
     + O resolvedor de DNS do Envoy prefere o `IPv4` e volta para o `IPv6`.
     + Usamos o endereço `IPv4` retornado pelo AWS Cloud Map , se disponível, e voltamos a usar o endereço `IPv6`.
     + O endpoint criado para o aplicativo local usa um endereço `IPv4`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.
   + IPv6 somente
     + O resolvedor de DNS do Envoy usa apenas `IPv6`.
     + Somente o endereço `IPv6` retornado pelo AWS Cloud Map é usado. Se AWS Cloud Map retornar um `IPv4` endereço, nenhum endereço IP será usado e os resultados vazios serão retornados ao Enviado.
     + O endpoint criado para o aplicativo local usa um endereço `IPv6`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.
   + IPv4 somente
     + O resolvedor de DNS do Envoy usa apenas `IPv4`.
     + Somente o endereço `IPv4` retornado pelo AWS Cloud Map é usado. Se AWS Cloud Map retornar um `IPv6` endereço, nenhum endereço IP será usado e os resultados vazios serão retornados ao Enviado.
     + O endpoint criado para o aplicativo local usa um endereço `IPv4`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.

1. Selecione **Create mesh (Criar malha)** para concluir.

1. (Opcional) Compartilhe a malha com outras contas. Uma malha compartilhada permite que recursos criados por contas diferentes se comuniquem entre si na mesma malha. Para obter mais informações, consulte [Como trabalhar com malhas compartilhadas](sharing.md).

------
#### [ AWS CLI ]

**Criação de uma malha usando a AWS CLI.**

Crie uma malha de serviços usando o seguinte comando (substitua *red* os valores pelos seus):

1. 

   ```
   aws appmesh create-mesh --mesh-name meshName
   ```

1. Resultado do exemplo:

   ```
   {
       "mesh":{
           "meshName":"meshName",
           "metadata":{
               "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName",
               "createdAt":"2022-04-06T08:45:50.072000-05:00",
               "lastUpdatedAt":"2022-04-06T08:45:50.072000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version":1
           },
           "spec":{},
           "status":{
               "status":"ACTIVE"
           }
       }
   }
   ```

Para obter mais informações sobre como criar uma malha com o AWS CLI for App Mesh, consulte o comando [create-mesh](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-mesh.html) na referência. AWS CLI 

------

## Exclusão de uma malha
<a name="delete-mesh"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para excluir um gateway virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha que deseja excluir. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Na caixa de confirmação, digite **delete** e clique em **Excluir**.

------
#### [ AWS CLI ]

**Para excluir uma malha usando o AWS CLI**

1. Use o comando a seguir para excluir sua malha (substitua *red* os valores pelos seus):

   ```
   aws appmesh delete-mesh \
        --mesh-name meshName
   ```

1. Resultado do exemplo:

   ```
   {
       "mesh": {
           "meshName": "meshName",
           "metadata": {
               "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName",
               "createdAt": "2022-04-06T08:45:50.072000-05:00",
               "lastUpdatedAt": "2022-04-07T11:06:32.795000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {},
           "status": {
               "status": "DELETED"
           }
       }
   }
   ```

Para obter mais informações sobre como excluir uma malha com o AWS CLI for App Mesh, consulte o comando [delete-mesh](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-mesh.html) na referência. AWS CLI 

------

# Serviços virtuais
<a name="virtual_services"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Um serviço virtual é uma abstração de um serviço real que é fornecido por um nó virtual direta ou indiretamente por meio de um roteador virtual. Os serviços dependentes chamam o serviço virtual pelo seu `virtualServiceName` e essas solicitações são roteadas para o nó virtual ou para o roteador virtual que é especificado como o provedor do serviço virtual.

## Criar um serviço virtual
<a name="create-virtual-service"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para criar um serviço virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha na qual você deseja criar o serviço virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual services (Serviços virtuais)** no painel de navegação à esquerda.

1. Selecione **Create virtual service (Criar serviço virtual)**.

1. Em **Virtual service name (Nome do serviço virtual)**, escolha um nome para o serviço virtual. Você pode escolher qualquer nome, mas o nome da descoberta de serviços real que você está almejando, como `my-service.default.svc.cluster.local`, é recomendado para facilitar a correlação de seus serviços virtuais com serviços reais. Dessa forma, não é necessário alterar o código para referenciar um nome diferente do referenciado atualmente no código. O nome que você especificar deve ser resolvido como um endereço IP não loopback, pois o contêiner do aplicativo deve ser capaz de resolver o nome com êxito antes que a solicitação seja enviada ao proxy do Envoy. Você pode usar qualquer endereço IP não loopback porque nem o aplicativo nem os contêineres de proxy se comunicam com esse endereço IP. O proxy se comunica com outros serviços virtuais por meio dos nomes que você configurou para eles no App Mesh, não por meio de endereços IP para os quais os nomes são resolvidos.

1. Em **Provider (Provedor)**, escolha o tipo de provedor para o serviço virtual:
   + Se desejar que o serviço virtual distribua o tráfego entre vários nós virtuais, selecione **Virtual router (Roteador virtual)** e escolha o roteador virtual a ser usado no menu suspenso.
   + Se desejar que o serviço virtual acesse um nó virtual diretamente, sem um roteador virtual, selecione **Nó virtual** e escolha o nó virtual a ser usado no menu suspenso.
**nota**  
O App Mesh pode criar automaticamente uma política de novas tentativas de rota padrão do Envoy para cada provedor de nó virtual que você tenha definido em ou após 29 de julho de 2020, mesmo que você não possa definir essa política por meio da API do App Mesh. Para obter mais informações, consulte [Política padrão de tentativas de rotas](envoy-defaults.md#default-retry-policy).
   + Se não desejar que o serviço virtual faça o roteamento do tráfego no momento (por exemplo, se os seus nós virtuais ou o roteador virtual ainda não existirem), selecione **None (Nenhum)**. Você poderá atualizar o provedor desse serviço virtual mais tarde.

1. Selecione **Create virtual service (Criar serviço virtual)** para concluir.

------
#### [ AWS CLI ]

**Para criar um serviço virtual usando a AWS CLI.**

Crie um serviço virtual com um provedor de nó virtual usando o comando a seguir e um arquivo JSON de entrada (substitua *red* os valores pelos seus):

1. 

   ```
   aws appmesh create-virtual-service \ 
   --cli-input-json file://create-virtual-service-virtual-node.json
   ```

1. Conteúdo do **exemplo** create-virtual-service-virtual -node.json:

   ```
   {
       "meshName": "meshName",
       "spec": {
           "provider": {
               "virtualNode": {
                   "virtualNodeName": "nodeName"
               }
           }
       },
       "virtualServiceName": "serviceA.svc.cluster.local"
   }
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualService": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local",
               "createdAt": "2022-04-06T09:45:35.890000-05:00",
               "lastUpdatedAt": "2022-04-06T09:45:35.890000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "provider": {
                   "virtualNode": {
                       "virtualNodeName": "nodeName"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualServiceName": "serviceA.svc.cluster.local"
       }
   }
   ```

Para obter mais informações sobre como criar um serviço virtual com o AWS CLI for App Mesh, consulte o [create-virtual-service](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-service.html)comando na AWS CLI referência.

------

## Excluir um serviço virtual
<a name="delete-virtual-service"></a>

**nota**  
Você não pode excluir um serviço virtual referenciado por uma rota do gateway. Primeiro, você precisa excluir a rota do gateway. 

------
#### [ Console de gerenciamento da AWS ]

**Para excluir um serviço virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha da qual você deseja excluir um serviço virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual services (Serviços virtuais)** no painel de navegação à esquerda.

1. Escolha o serviço virtual que você deseja excluir e clique em **Excluir** no canto superior direito. Você só pode excluir um gateway virtual em que sua conta esteja listada como **Proprietário do recurso**.

1. Na caixa de confirmação, digite **delete** e clique em **Excluir**.

------
#### [ AWS CLI ]

**Para excluir um serviço virtual usando o AWS CLI**

1. Use o comando a seguir para excluir seu serviço virtual (substitua *red* os valores pelos seus):

   ```
   aws appmesh delete-virtual-service \
        --mesh-name meshName \
        --virtual-service-name serviceA.svc.cluster.local
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualService": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local",
               "createdAt": "2022-04-06T09:45:35.890000-05:00",
               "lastUpdatedAt": "2022-04-07T10:39:42.772000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "provider": {
                   "virtualNode": {
                       "virtualNodeName": "nodeName"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualServiceName": "serviceA.svc.cluster.local"
       }
   }
   ```

Para obter mais informações sobre como excluir um serviço virtual com o AWS CLI for App Mesh, consulte o [delete-virtual-service](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-service.html)comando na AWS CLI referência.

------

# Gateways virtuais
<a name="virtual_gateways"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Um gateway virtual permite que recursos fora da sua malha se comuniquem com recursos que estão dentro da sua malha. O gateway virtual representa um proxy Envoy em execução em um serviço Amazon ECS, em um serviço Kubernetes ou em uma instância da Amazon. EC2 Ao contrário de um nó virtual, que representa um Envoy em execução com um aplicativo, um gateway virtual representa o Envoy implantado por si mesmo. 

Os recursos externos devem ser capazes de resolver um nome do DNS para um endereço IP atribuído ao serviço ou instância que executa o Envoy. O Envoy pode então acessar toda a configuração do App Mesh para os recursos que estão dentro da malha. A configuração para lidar com as solicitações de entrada no gateway virtual é especificada usando [Rotas do gateway](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html).

**Importante**  
Um gateway virtual com HTTP ou HTTP2 ouvinte reescreve o nome do host da solicitação recebida no nome do Serviço Virtual de destino do Gateway Route, e o prefixo correspondente da Rota do Gateway é regravado, por padrão. `/` Por exemplo, se você configurou o prefixo de correspondência da Rota do gateway como `/chapter`, se a solicitação de entrada for `/chapter/1`, a solicitação será regravada para `/1`. Para configurar regravações, consulte a seção [Criar uma rota de gateway](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html#create-gateway-route) em Rotas do gateway.  
Ao criar um gateway virtual, `proxyConfiguration` e `user` não devem ser configurados.

Para concluir um end-to-end passo a passo, consulte [Configurando](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-ingress-gateway) o gateway de entrada.

## Criar um gateway virtual
<a name="create-virtual-gateway"></a>

**nota**  
Ao criar um gateway virtual, você deve adicionar um Seletor de namespace com um rótulo para identificar a lista de namespaces aos quais associar Rotas do gateway ao Gateway virtual criado.

------
#### [ Console de gerenciamento da AWS ]

**Para criar um gateway virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha na qual você deseja criar o gateway virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Escolha **Gateways virtuais** no painel de navegação à esquerda.

1. Escolha **Criar gateway virtual**.

1. Em **Nome do gateway virtual**, insira um nome para o seu gateway virtual.

1. (Opcional, mas recomendado) Configurar os **Padrões de política de cliente**.

   1. (Opcional) Selecione **Impor o TLS** se quiser exigir que o gateway só se comunique com os serviços virtuais usando Transport Layer Security (TLS).

   1. (Opcional) Para **Portas**, especifique uma ou mais portas nas quais você deseja impor o TLS na comunicação com serviços virtuais.

   1. Para **Método de validação**, selecione uma das opções a seguir. O certificado especificado já deve existir e atender aos requisitos específicos. Para obter mais informações, consulte [Requisitos de certificado](tls.md#virtual-node-tls-prerequisites).
      + Hospedagem da **Autoridade de Certificação Privada da AWS**: selecione um ou mais **Certificados** existentes.
      + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo para o Envoy buscar usando o Secret Discovery Service.
      + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** no sistema de arquivos em que o Envoy está implantado.

   1. (Opcional) Insira um **Nome alternativo do assunto**. Para adicionar mais SANs, selecione **Adicionar SAN**. SANs deve ser formatado em FQDN ou URI.

   1. (Opcional) Selecione **Fornecer certificado de cliente** e uma das opções abaixo para fornecer um certificado de cliente quando um servidor o solicitar e habilitar a autenticação de TLS mútuo. Para saber mais sobre o TLS mútuo, consulte os documentos de [Autenticação de TLS mútuo](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) do App Mesh.
      + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo para o Envoy buscar usando o Secret Discovery Service.
      + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** como a **Chave privada**, no sistema de arquivos em que o Envoy está implantado. Para ver um resumo completo da implantação de uma malha com um aplicativo de amostra usando criptografia com arquivos locais, consulte [Configurando o TLS com certificados TLS fornecidos pelo arquivo ativados](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided). end-to-end GitHub

1. (Opcional) Para configurar o registro em log, selecione **Registro**. Insira o **caminho dos logs de acesso HTTP** que você deseja que o Envoy use. Recomendamos o `/dev/stdout` caminho para que você possa usar os drivers de log do Docker para exportar seus registros do Envoy para um serviço como o Amazon Logs. CloudWatch 
**nota**  
Os logs ainda devem ser ingeridos por um agente no seu aplicativo e enviados para um destino. Esse caminho de arquivo apenas informa ao Envoy para onde os logs devem ser enviados. 

1. Configure o **Receptor**.

   1. Selecione um **Protocolo** e especifique a **Porta** na qual o Envoy recebe o tráfego. O receptor **http** permite a transição da conexão para websockets. Você pode clicar em **Adicionar receptor** para adicionar vários receptores. O botão **Remover** removerá esse receptor.

   1. (Opcional) **Habilitar grupo de conexões** 

      O pooling de conexões limita o número de conexões que o Envoy do gateway virtual pode estabelecer simultaneamente. O objetivo é proteger sua instância do Envoy de ficar sobrecarregada com conexões e permitir que você ajuste a modelagem de tráfego de acordo com as necessidades dos seus aplicativos.

      Você pode definir as configurações do grupo de conexões do lado do destino para um receptor de gateway virtual. O App Mesh define as configurações do grupo de conexões do lado do cliente como infinitas por padrão, simplificando a configuração da malha.
**nota**  
Os protocolos portMapping `connectionPool` e `connectionPool` devem ser os mesmos. Se o protocolo do seu receptor for `grpc` ou `http2`, especifique `maxRequests` somente. Se o protocolo do seu receptor for `http`, você poderá especificar ambos, `maxConnections` e `maxPendingRequests`. 
      + Em **Máximo de conexões**, especifique o número máximo de conexões de saída.
      + Em **Máximo de solicitações**, especifique o número máximo de solicitações paralelas que podem ser estabelecidas com o Envoy do gateway virtual.
      + (Opcional) Para **Máximo de solicitações pendentes**, especifique o número de solicitações excedentes após o **Máximo de conexões** que um Envoy coloca na fila. O valor padrão é `2147483647`.

   1. (Opcional) Se você quiser configurar uma verificação de integridade para seu receptor, selecione **Habilitar a verificação de integridade**.

      Uma política de verificação de integridade é opcional, mas se você especificar qualquer valor para uma política de integridade, deverá especificar valores para **Limite de integridade**, **Intervalo de verificação de integridade**, **Protocolo de verificação de integridade**, **Tempo limite** e **Limite de integridade inadequada**.
      + Em **Protocolo de verificação de integridade**, escolha um protocolo. Se você selecionar **grpc**, o serviço deverá estar em conformidade com o [Protocolo de verificação de integridade GRPC](https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
      + Em **Health check port (Porta de verificação de integridade)**, especifique a porta em que a verificação de integridade deve ser executada.
      + Em **Healthy threshold (Limite de integridade)**, especifique o número de verificações de integridade consecutivas bem-sucedidas que deve ocorrer antes de o listener ser declarado íntegro.
      + Em **Health check interval (Intervalo de verificação de integridade)**, especifique o período em milissegundos entre cada execução de verificação de integridade.
      + Em **Path (Caminho)**, especifique o caminho de destino para a solicitação de verificação de integridade. Esse valor é usado somente se o **Protocolo de verificação de integridade** for `http` ou `http2`. O valor é ignorado para outros protocolos.
      + Em **Período de tempo limite**, especifique tempo de espera ao receber uma resposta da verificação de integridade, em milissegundos.
      + Em **Unhealthy threshold (Limite de não integridade)**, especifique o número de verificações de integridade consecutivas com falha que deve ocorrer antes de o listener ser declarado não íntegro.

   1. (Opcional) Se você quiser especificar se os clientes se comunicam com esse gateway virtual usando TLS, selecione **Habilitar encerramento do TLS**.
      + Em **Modo**, selecione o modo no qual você deseja que o TLS seja configurado no receptor.
      + Em **Método de certificado**, selecione uma das seguintes opções. O certificado deve atender aos requisitos específicos. Para obter mais informações, consulte [Requisitos de certificado](tls.md#virtual-node-tls-prerequisites).
        + **AWS Certificate Manager hospedagem** — Selecione um **certificado** existente.
        + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo para o Envoy buscar usando o Secret Discovery Service.
        + **Hospedagem de arquivos local**: especifique o caminho para os arquivos da **Cadeia de certificados** e da **Chave privada** no sistema de arquivos em que o Envoy está implantado.
      + (Opcional) Selecione **Exigir certificado de cliente** e uma das opções abaixo para habilitar a autenticação de TLS mútuo quando um cliente fornecer um certificado. Para saber mais sobre o TLS mútuo, consulte os documentos de [Autenticação de TLS mútuo](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) do App Mesh.
        + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo para o Envoy buscar usando o Secret Discovery Service.
        + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** no sistema de arquivos em que o Envoy está implantado.
      + (Opcional) Insira um **Nome alternativo do assunto**. Para adicionar mais SANs, selecione **Adicionar SAN**. SANs deve ser formatado em FQDN ou URI.

1. Escolha **Criar gateway virtual** para concluir.

------
#### [ AWS CLI ]

**Para criar um gateway virtual usando a AWS CLI.**

Crie um gateway virtual usando o seguinte comando e insira JSON (substitua os *red* valores pelos seus):

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \ 
   --cli-input-json file://create-virtual-gateway.json
   ```

1. Conteúdo do **exemplo** create-virtual-gateway .json:

   ```
   {
       "spec": {
         "listeners": [
           {
             "portMapping": {
               "port": 9080,
               "protocol": "http"
             }
           }
         ]
       }
   }
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-06T10:42:42.015000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Para obter mais informações sobre como criar um gateway virtual com o AWS CLI for App Mesh, consulte o [create-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-gateway.html)comando na AWS CLI referência.

------

## Implementar um gateway virtual
<a name="deploy-virtual-gateway"></a>

Implante um serviço Amazon ECS ou Kubernetes que contenha somente o [contêiner do Envoy](envoy.md). Você também pode implantar o contêiner Envoy em uma instância da Amazon EC2. Para obter mais informações, consulte [Introdução ao App Mesh e à Amazon EC2](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ec2.html). Para obter mais informações sobre como implantar no Amazon ECS, consulte [Conceitos básicos do App Mesh e do Amazon ECS](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ecs.html) ou [Conceitos básicos do AWS App Mesh e do Kubernetes](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-kubernetes.html) para implantar no Kubernetes. Você precisa definir a variável de ambiente `APPMESH_RESOURCE_ARN` como `mesh/mesh-name/virtualGateway/virtual-gateway-name` e não especificar a configuração do proxy para que o tráfego do proxy não seja redirecionado para ele mesmo. Por padrão, o App Mesh usa o nome do recurso especificado em `APPMESH_RESOURCE_ARN` quando o Envoy está se referindo a si mesmo em métricas e rastreamentos. É possível substituir esse comportamento definindo a variável de ambiente `APPMESH_RESOURCE_CLUSTER ` com seu próprio nome.

Recomendamos implantar várias instâncias do contêiner e configurar um Network Load Balancer para balancear a carga do tráfego para as instâncias. O nome de descoberta de serviço do balanceador de carga é o nome que você deseja que os serviços externos usem para acessar recursos que estão na malha, como*myapp.example.com*. Para obter mais informações, consulte [Criação de um Load Balancer de Rede](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-network-load-balancer.html) (Amazon ECS), [Criação de um Load Balancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) Externo (Kubernetes) ou [Tutorial: Aumente a disponibilidade do seu aplicativo na](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-increase-availability.html) Amazon. EC2 Você também pode encontrar mais exemplos e orientações em nossos [Exemplos do App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/examples.html).

Habilite a autorização de proxy para o Envoy. Para obter mais informações, consulte [Autorização do Envoy Proxy](proxy-authorization.md).

## Excluir um gateway virtual
<a name="delete-virtual-gateway"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para excluir um gateway virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha da qual você deseja excluir um gateway virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Escolha **Gateways virtuais** no painel de navegação à esquerda.

1. Escolha o gateway virtual que deseja excluir e selecione **Excluir**. Você não pode excluir um gateway virtual se ele alguma rota do gateway associada. Você deve primeiro excluir todas as rotas do gateway associadas. Você só pode excluir um gateway virtual em que sua conta esteja listada como **Proprietário do recurso**.

1. Na caixa de confirmação, digite **delete** e selecione **Excluir**.

------
#### [ AWS CLI ]

**Para excluir um gateway virtual usando o AWS CLI**

1. Use o comando a seguir para excluir seu gateway virtual (substitua *red* os valores pelos seus):

   ```
   aws appmesh delete-virtual-gateway \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-07T10:57:22.638000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Para obter mais informações sobre como excluir um gateway virtual com o AWS CLI for App Mesh, consulte o [delete-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-gateway.html)comando na AWS CLI referência.

------

# Rotas de gateway
<a name="gateway-routes"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Uma rota de gateway é anexada a um gateway virtual e roteia o tráfego para um serviço virtual existente. Se uma rota corresponder a uma solicitação, ela poderá distribuir o tráfego para um serviço virtual de destino. Este tópico ajuda você a trabalhar com rotas de gateway em uma malha de serviços.

## Como criar uma rota de gateway
<a name="create-gateway-route"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para criar uma rota de gateway usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Selecione a malha na qual você deseja criar a rota de gateway. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Escolha **Gateways virtuais** no painel de navegação à esquerda.

1. Selecione o gateway virtual ao qual você deseja associar uma nova rota de gateway. Se não houver nenhum, você precisará [criar um gateway virtual](virtual_gateways.md#create-virtual-gateway) primeiro. Você só pode criar uma rota de gateway para um gateway virtual cuja conta esteja listada como **Proprietária do recurso**.

1. Na tabela de **Rotas de gateway**, selecione **Criar rota de gateway**.

1. Em **Nome da rota do gateway**, especifique o nome a ser usado para a rota.

1. Para o **Tipo de rota de gateway**, selecione **http**, **http2** ou **grpc**.

1. Selecione um **nome de serviço virtual** existente. Se não houver nenhum, você precisará criar um [serviço virtual](virtual_services.md#create-virtual-service) primeiro.

1. Selecione a porta que corresponde ao destino em **Porta do provedor de serviços virtuais**. A porta do provedor de serviços virtuais é **necessária** quando o provedor (roteador ou nó) do serviço virtual selecionado tem vários receptores.

1. (Opcional) Em **Prioridade**, especifique a prioridade dessa rota de gateway.

1. Para a configuração da **Correspondência**, especifique:
   + 

     Se **http/http2** for o tipo selecionado:
     + (Opcional) **Método**: especifica o cabeçalho do método a ser correspondido nas solicitações de entrada **http**/**http2**.
     + (Opcional) **Correspondência de porta**: corresponde a porta para o tráfego de entrada. A correspondência de porta é **obrigatória** se esse gateway virtual tiver vários receptores.
     + (Opcional) **Nome de host exato/com sufixo**: especifica o nome do host que deve ser correspondente na solicitação recebida para rotear para o serviço virtual de destino.
     + **Prefix/Exact/RegexCaminho** (opcional) ‐ O método de correspondência do caminho do URL.
       + **Correspondência de prefixo**: uma solicitação correspondente por uma rota de gateway é regravada no nome do serviço virtual de destino e o prefixo correspondente é regravado, por padrão como `/`. Dependendo de como você configura seu serviço virtual, ele pode usar um roteador virtual para rotear a solicitação para diferentes nós virtuais, com base em prefixos ou cabeçalhos específicos. 
**Importante**  
Você não pode especificar nenhum `/aws-appmesh*` ou `/aws-app-mesh*` para a **Correspondência de prefixo**. Esses prefixos são reservados para uso interno futuro do App Mesh.
Se várias rotas de gateway forem definidas, uma solicitação corresponderá à rota com o prefixo mais longo. Por exemplo, se existissem duas rotas de gateway, uma com prefixo de `/chapter` e outra com prefixo de `/`, uma solicitação de `www.example.com/chapter/` corresponderia à rota de gateway com o prefixo `/chapter`.
**nota**  
Se você habilitar a correspondência baseada no **Caminho**/**Prefixo**, o App Mesh habilita a normalização do caminho ([normalize\$1path](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path) e [merge\$1slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes)) para minimizar a probabilidade de vulnerabilidades de confusão de caminhos.  
As vulnerabilidades de confusão de caminhos ocorrem quando as partes que participam da solicitação usam representações de caminho diferentes.
       + **Correspondência exata**: o parâmetro exato desativa a correspondência parcial de uma rota e garante que ela só retorne a rota se o caminho for uma correspondência **EXATA** com a URL atual.
       + **Regex match** ‐ Usado para descrever padrões em que vários URLs podem realmente identificar uma única página no site.
     + (Opcional) **Parâmetros de consulta**: esse campo permite que você faça a correspondência com os parâmetros da consulta.
     + (Opcional) **Cabeçalhos**: especifica os cabeçalhos para **http** e **http2**. Ele deve corresponder à solicitação de entrada para rotear para o serviço virtual de destino.
   + 

     Se **grpc** for o tipo selecionado:
     + **Tipo de correspondência de nome de host** e (opcional) **Correspondência exata/de sufixo**: especifica o nome do host que deve ser correspondente na solicitação de entrada para rotear para o serviço virtual de destino. 
     + **nome do serviço grpc** ‐ O serviço **grpc** atua como uma API para seu aplicativo e é definido com. ProtoBuf
**Importante**  
Você não pode especificar `/aws.app-mesh*` ou `aws.appmesh` para o **Nome do serviço**. Esses nomes de serviço são reservados para uso interno futuro do App Mesh.
     + (Opcional) **Metadados**: especifica os metadados para **grpc**. Deve corresponder à solicitação recebida para rotear para o serviço virtual de destino.

1. (Opcional) Para **regravar** a configuração:
   + 

     Se **http/http2** for o tipo selecionado:
     + 

       Se **Prefixo** for o tipo de correspondência selecionado:
       + **Substituir regravação automática do nome do host**: por padrão, o nome do host é regravado no nome do serviço virtual de destino.
       + **Substituir a regravação automática do prefixo**: quando ativada, a **reescrita do prefixo** especifica o valor do prefixo regravado.
     + 

       Se **Caminho exato** for o tipo de correspondência selecionado:
       + **Substituir regravação automática do nome do host**: por padrão, o nome do host é regravado no nome do serviço virtual de destino.
       + **Regravação do caminho**: especifica o valor do caminho regravado. Sem caminho padrão.
     + 

       Se **Caminho Regex** for o tipo de correspondência selecionado:
       + **Substituir regravação automática do nome do host**: por padrão, o nome do host é regravado no nome do serviço virtual de destino.
       + **Regravação do caminho**: especifica o valor do caminho regravado. Sem caminho padrão.
   + 

     Se **grpc** for o tipo selecionado:
     + **Substituir regravação automática do nome do host**: por padrão, o nome do host é regravado no nome do serviço virtual de destino.

1. Selecione **Criar rota de gateway** para concluir.

------
#### [ AWS CLI ]

**Para criar uma rota de gateway usando a AWS CLI.**

Crie uma rota de gateway usando o seguinte comando e insira JSON (substitua *red* os valores pelos seus):

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \
   --gateway-route-name gatewayRouteName \ 
   --cli-input-json file://create-gateway-route.json
   ```

1. Conteúdo do **exemplo** create-gateway-route .json:

   ```
   {
       "spec": {
           "httpRoute" : {
               "match" : {
                   "prefix" : "/"
               },
               "action" : {
                   "target" : {
                       "virtualService": {
                           "virtualServiceName": "serviceA.svc.cluster.local"
                       }
                   }
               }
           }
       }
   }
   ```

1. Resultado do exemplo:

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-06T11:05:32.100000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "gatewayName"
       }
   }
   ```

Para obter mais informações sobre como criar uma rota de gateway com o AWS CLI for App Mesh, consulte o [create-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-gateway-route.html)comando na AWS CLI referência.

------

## Como excluir uma rota de gateway
<a name="delete-gateway-route"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para excluir uma rota de gateway usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Selecione a malha da qual você deseja excluir uma rota de gateway. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Escolha **Gateways virtuais** no painel de navegação à esquerda.

1. Selecione o gateway virtual do qual você deseja excluir uma rota de gateway.

1. Na tabela de **rotas do gateway**, selecione a rota do gateway que você deseja excluir e selecione **Excluir**. Você só pode excluir uma rota de gateway se sua conta estiver listada como **Proprietária do recurso**.

1. Na caixa de confirmação, digite **delete** e clique em **Excluir**.

------
#### [ AWS CLI ]

**Para excluir uma rota de gateway usando o AWS CLI**

1. Use o comando a seguir para excluir sua rota de gateway (substitua *red* os valores pelos seus):

   ```
   aws appmesh delete-gateway-route \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName \
        --gateway-route-name gatewayRouteName
   ```

1. Resultado do exemplo:

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-07T10:36:33.191000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Para obter mais informações sobre como excluir uma rota de gateway com o AWS CLI for App Mesh, consulte o [delete-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-gateway-route.html)comando na AWS CLI referência.

------

# Nós virtuais
<a name="virtual_nodes"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Um nó virtual atua como um ponteiro lógico para um grupo de tarefas específico, como um serviço do Amazon ECS ou uma implantação Kubernetes. Ao criar um nó virtual, você deve especificar um método de descoberta de serviços para seu grupo de tarefas. Qualquer tráfego de entrada que seu nó virtual esperar deverá ser especificado como um *receptor*. Qualquer serviço virtual para o qual um nó virtual envia tráfego de saída é especificado como *back-end*.

Os metadados de resposta para o novo nó virtual contêm o nome do recurso da Amazon (ARN) associado ao nó virtual. Defina esse valor como a variável de ambiente `APPMESH_RESOURCE_ARN` para o contêiner do proxy Envoy do seu grupo de tarefas em sua definição de tarefa do Amazon ECS ou na especificação de pods do Kubernetes. Por exemplo, o valor pode ser `arn:aws:appmesh:us-west-2:111122223333:mesh/myMesh/virtualNode/myVirtualNode`. Depois, isso é mapeado para os parâmetros do Envoy `node.id` e `node.cluster`. É necessário usar `1.15.0` ou posterior da imagem do Envoy quando definir essa variável. Para obter mais informações sobre variáveis Envoy do App Mesh, consulte [Imagem do Envoy](envoy.md).

**nota**  
Por padrão, o App Mesh usa o nome do recurso especificado em `APPMESH_RESOURCE_ARN` quando o Envoy está se referindo a si mesmo em métricas e rastreamentos. É possível substituir esse comportamento definindo a variável de ambiente `APPMESH_RESOURCE_CLUSTER` com seu próprio nome.

## Criar um nó virtual
<a name="vn-create-virtual-node"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para criar um nó virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha em que deseja criar o nó virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual nodes (Nós virtuais)** no painel de navegação à esquerda.

1. Escolha **Criar nó virtual** e especifique as configurações para o seu nó virtual.

1. Em **Nome do nó virtual**, escolha um nome para seu nó virtual.

1. Em **Método de descoberta de serviços**, escolha uma das seguintes opções:
   + **DNS**: especifique o **Nome de host DNS** do serviço real que o nó virtual representa. O proxy Envoy é implantado em uma Amazon VPC. O proxy envia solicitações de resolução de nomes para o servidor DNS configurado para a VPC. Se o nome do host for resolvido, o servidor DNS retornará um ou mais endereços IP. Para obter mais informações sobre as configurações de DNS para uma VPC, consulte [Usando DNS com sua VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html). Para o **tipo de resposta DNS** (opcional), especifique os tipos de endpoints retornados pelo resolvedor de DNS. **Balanceador de carga** significa que o resolvedor de DNS retorna um conjunto de endpoints balanceados. **Endpoints** significa que o resolvedor de DNS está retornando todos os endpoints. Por padrão, presume-se que o tipo de resposta seja **Balanceador de carga**.
**nota**  
Se você usar o **Route53**, precisará usar o **Balanceador de carga**.
   + **AWS Cloud Map**: especifique um **Nome do serviço** e um **Namespace** HTTP existentes. **Opcionalmente, você também pode especificar atributos que o App Mesh pode consultar AWS Cloud Map selecionando **Adicionar linha** e especificando uma **chave e um valor**.** Somente instâncias que correspondam a todos os key/value pares especificados serão retornadas. Para ser usada AWS Cloud Map, sua conta deve ter a função `AWSServiceRoleForAppMesh` [vinculada ao serviço](using-service-linked-roles.md). Para obter mais informações sobre AWS Cloud Map, consulte o [Guia do AWS Cloud Map desenvolvedor](https://docs.aws.amazon.com/cloud-map/latest/dg/).
   + **Nenhum**: selecione se o nó virtual não esperar nenhum tráfego de entrada.

1. 

**Preferência de versão do IP**

   Controle qual versão de IP deve ser usada para tráfego dentro da malha ativando **Substituir comportamento da versão de IP padrão**. Por padrão, o App Mesh usa uma variedade de versões de IP.
**nota**  
A definição da preferência de IP em um nó virtual substitui apenas a preferência de IP definida para a malha nesse nó específico.
   + Padrão
     + O resolvedor de DNS do Envoy prefere o `IPv6` e volta para o `IPv4`.
     + Usamos o `IPv4` endereço retornado por, AWS Cloud Map se disponível, e voltamos a usar o `IPv6` endereço.
     + O endpoint criado para o aplicativo local usa um endereço `IPv4`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4`.
   + IPv6 preferido
     + O resolvedor de DNS do Envoy prefere o `IPv6` e volta para o `IPv4`.
     + O `IPv6` endereço retornado por AWS Cloud Map é usado, se disponível, e volta a usar o `IPv4` endereço
     + O endpoint criado para o aplicativo local usa um endereço `IPv6`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.
   + IPv4 preferido
     + O resolvedor de DNS do Envoy prefere o `IPv4` e volta para o `IPv6`.
     + Usamos o `IPv4` endereço retornado por, AWS Cloud Map se disponível, e voltamos a usar o `IPv6` endereço.
     + O endpoint criado para o aplicativo local usa um endereço `IPv4`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.
   + IPv6 somente
     + O resolvedor de DNS do Envoy usa apenas `IPv6`.
     + Somente o `IPv6` endereço retornado por AWS Cloud Map é usado. Se o AWS Cloud Map retornar um endereço `IPv4`, nenhum endereço IP será usado e os resultados vazios serão retornados ao Envoy.
     + O endpoint criado para o aplicativo local usa um endereço `IPv6`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.
   + IPv4 somente
     + O resolvedor de DNS do Envoy usa apenas `IPv4`.
     + Somente o `IPv4` endereço retornado por AWS Cloud Map é usado. Se o AWS Cloud Map retornar um endereço `IPv6`, nenhum endereço IP será usado e os resultados vazios serão retornados ao Envoy.
     + O endpoint criado para o aplicativo local usa um endereço `IPv4`.
     + Os receptores do Envoy se vinculam a todos os endereços `IPv4` e `IPv6`.

1. 

**(Opcional) **Padrões da política do cliente**: configure os requisitos padrão ao se comunicar com serviços virtuais de back-end.**
**nota**  
Se você quiser habilitar o Transport Layer Security (TLS) para um nó virtual existente, recomendamos criar um novo nó virtual, que represente o mesmo serviço do nó virtual existente, para habilitar nele o TLS. Em seguida, transfira gradualmente o tráfego para o novo nó virtual usando um roteador virtual e uma rota. Para obter mais informações sobre como criar uma rota e ajustar os pesos para a transição, consulte [Rotas](routes.md). Se você atualizar um nó virtual existente que serve tráfego com TLS, há uma chance de que os proxies Envoy do cliente downstream recebam o contexto de validação de TLS antes que o proxy Envoy do nó virtual que você atualizou receba o certificado. Isso pode causar erros de negociação de TLS nos proxies Envoy downstream.
A [autorização de proxy](proxy-authorization.md) deve ser habilitada para o proxy Envoy implantado com o aplicativo representado pelos nós virtuais do serviço de back-end. Recomendamos que, ao habilitar a autorização de proxy, restrinja o acesso somente aos nós virtuais com os quais esse nó virtual está se comunicando.
   + (Opcional) Selecione **Impor o TLS** se quiser exigir que o nó virtual se comunique com todos os back-ends usando o Transport Layer Security (TLS).
   + (Opcional) Se você quiser exigir apenas o uso de TLS para uma ou mais portas específicas, insira um número em **Portas**. Para adicionar mais portas, selecione **Adicionar porta**. Se você não especificar nenhuma porta, o TLS será aplicado a todas as portas.
   + Para **Método de validação**, selecione uma das opções a seguir. O certificado especificado já deve existir e atender aos requisitos específicos. Para obter mais informações, consulte [Requisitos de certificado](tls.md#virtual-node-tls-prerequisites).
     + Hospedagem da **Autoridade de Certificação Privada da AWS**: selecione um ou mais **Certificados** existentes. Para obter um resumo completo da implantação de uma malha com um aplicativo de amostra usando criptografia com um certificado ACM, consulte [Configurando o TLS com o Certificate Manager AWS ativado](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/tls-with-acm). end-to-end GitHub
     + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo que o Envoy buscará usando o Secret Discovery Service.
     + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** no sistema de arquivos em que o Envoy está implantado. Para ver um resumo completo da implantação de uma malha com um aplicativo de amostra usando criptografia com arquivos locais, consulte [Configurando o TLS com certificados TLS fornecidos pelo arquivo ativados](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided). end-to-end GitHub
   + (Opcional) Insira um **Nome alternativo do assunto**. Para adicionar mais SANs, selecione **Adicionar SAN**. SANs deve ser formatado em FQDN ou URI.
   + (Opcional) Selecione **Fornecer certificado de cliente** e uma das opções abaixo para fornecer um certificado de cliente quando um servidor o solicitar e habilitar a autenticação de TLS mútuo. Para saber mais sobre o TLS mútuo, consulte os documentos de [Autenticação de TLS mútuo](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) do App Mesh.
     + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo que o Envoy buscará usando o Secret Discovery Service.
     + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** como a **Chave privada**, no sistema de arquivos em que o Envoy está implantado.

1. 

**(Opcional) **Backends de serviço**: especifique o serviço virtual do App Mesh com o qual o nó virtual se comunicará.**
   + Insira um nome do serviço virtual do App Mesh ou um nome do recurso da Amazon (ARN) completo para o serviço virtual com o qual o seu nó virtual se comunica.
   + (Opcional) Se você quiser definir configurações de TLS exclusivas para um back-end, selecione **Configurações de TLS** e, em seguida, selecione **Substituir padrões**.
     + (Opcional) Selecione **Impor o TLS** se quiser exigir que o nó virtual se comunique com todos os back-ends usando TLS.
     + (Opcional) Se você quiser exigir apenas o uso de TLS para uma ou mais portas específicas, insira um número em **Portas**. Para adicionar mais portas, selecione **Adicionar porta**. Se você não especificar nenhuma porta, o TLS será aplicado a todas as portas.
     + Para **Método de validação**, selecione uma das opções a seguir. O certificado especificado já deve existir e atender aos requisitos específicos. Para obter mais informações, consulte [Requisitos de certificado](tls.md#virtual-node-tls-prerequisites).
       + Hospedagem da **Autoridade de Certificação Privada da AWS**: selecione um ou mais **Certificados** existentes.
       + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo que o Envoy buscará usando o Secret Discovery Service.
       + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** no sistema de arquivos em que o Envoy está implantado.
     + (Opcional) Insira um **Nome alternativo do assunto**. Para adicionar mais SANs, selecione **Adicionar SAN**. SANsdeve ser formatado em FQDN ou URI.
     + (Opcional) Selecione **Fornecer certificado de cliente** e uma das opções abaixo para fornecer um certificado de cliente quando um servidor o solicitar e habilitar a autenticação de TLS mútuo. Para saber mais sobre o TLS mútuo, consulte os documentos de [Autenticação de TLS mútuo](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) do App Mesh.
       + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo que o Envoy buscará usando o Secret Discovery Service.
       + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** como a **Chave privada**, no sistema de arquivos em que o Envoy está implantado.
   + Para adicionar mais back-ends, selecione **Adicionar back-end**.

1. (Opcional) **Registro**

   Para configurar o registro em log, insira o caminho de logs de acesso HTTP que o Envoy deve usar. Recomendamos o `/dev/stdout` caminho para que você possa usar os drivers de log do Docker para exportar seus registros do Envoy para um serviço como o Amazon Logs. CloudWatch 
**nota**  
Os logs ainda devem ser ingeridos por um agente no seu aplicativo e enviados para um destino. Esse caminho de arquivo apenas informa ao Envoy para onde os logs devem ser enviados. 

1. **Configuração do receptor**

   Os receptores são compatíveis com os protocolos `HTTP`, `HTTP/2`, `GRPC` e `TCP`. `HTTPS` não é compatível.

   1. Se o seu nó virtual esperar tráfego de entrada, especifique uma **Porta** e um **Protocolo** para o **Receptor**. O receptor **http** permite a transição da conexão para websockets. Você pode clicar em **Adicionar receptor** para adicionar vários receptores. O botão **Remover** removerá esse receptor.

   1. 

**(Opcional) **Habilitar grupo de conexões****

      O pooling de conexões limita o número de conexões que um Envoy pode estabelecer simultaneamente com o cluster de aplicativos local. O objetivo é proteger seu aplicativo local de ficar sobrecarregado com conexões e permitir que você ajuste a modelagem de tráfego de acordo com as necessidades dos seus aplicativos.

      Você pode definir as configurações do grupo de conexões do lado do destino para um receptor de nó virtual. O App Mesh define as configurações do grupo de conexões do lado do cliente como infinitas por padrão, simplificando a configuração da malha.
**nota**  
Os protocolos connectionPool e portMapping devem ser os mesmos. Se o protocolo do seu receptor for tcp, especifique somente maxConnections. Se o protocolo do seu receptor for grpc ou http2, especifique somente maxRequests. Se seu protocolo de ouvinte for http, você poderá especificar maxConnections e. maxPendingRequests 
      + Em **Máximo de conexões**, especifique o número máximo de conexões de saída.
      + (Opcional) Para **Máximo de solicitações pendentes**, especifique o número de solicitações excedentes após o **Máximo de conexões** que um Envoy colocará na fila. O valor padrão é `2147483647`.

   1. 

**(Opcional) **Ativar a detecção de valores discrepantes****

      A detecção de discrepâncias aplicada no Envoy do cliente permite que os clientes tomem medidas quase imediatas em conexões com falhas conhecidas e observadas. É uma forma de implementação de disjuntor que rastreia o estado de integridade de hosts individuais no serviço upstream.

      A detecção de discrepâncias determina dinamicamente se os endpoints em um cluster upstream têm um desempenho diferente dos outros e os remove do conjunto de balanceamento de carga íntegro.
**nota**  
Para configurar com eficácia a detecção de valores discrepantes em um nó virtual do servidor, o método de descoberta de serviço desse nó virtual pode ser um AWS Cloud Map ou o DNS com o campo do tipo de resposta definido como. `ENDPOINTS` Se você usar o método de descoberta de serviços por DNS com o tipo de resposta como `LOADBALANCER`, o proxy Envoy elegerá apenas um único endereço IP para rotear para o serviço upstream. Isso anula o comportamento de detecção de discrepâncias de ejetar um host não íntegro de um conjunto de hosts. Consulte a seção Método de descoberta de serviços para obter mais detalhes sobre o comportamento do proxy Envoy em relação ao tipo de descoberta de serviços.
      + Para **Erros do servidor**, especifique o número de erros 5xx consecutivos necessários para a ejeção.
      + Para o **Intervalo da detecção de discrepância**, especifique o intervalo e a unidade de tempo entre a análise de varredura e a ejeção.
      + Para **Duração da ejeção básica**, especificar o valor básico e a unidade de tempo no qual um host é ejetado.
      + Para **Porcentagem de ejeção**, especificar a porcentagem máxima de hosts no grupo de balanceamento de carga que pode ser ejetado.

   1. 

**(Opcional) **Ativar verificação de integridade**: defina as configurações de uma política de verificação de integridade.**

      Uma política de verificação de integridade é opcional, mas se você especificar qualquer valor para uma política de integridade, deverá especificar valores para **Limite de integridade**, **Intervalo de verificação de integridade**, **Protocolo de verificação de integridade**, **Tempo limite** e **Limite de integridade inadequada**.
      + Em **Protocolo de verificação de integridade**, escolha um protocolo. Se você selecionar **grpc**, o serviço deverá estar em conformidade com o [Protocolo de verificação de integridade GRPC](https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
      + Em **Health check port (Porta de verificação de integridade)**, especifique a porta em que a verificação de integridade deve ser executada.
      + Em **Healthy threshold (Limite de integridade)**, especifique o número de verificações de integridade consecutivas bem-sucedidas que deve ocorrer antes de o listener ser declarado íntegro.
      + Em **Health check interval (Intervalo de verificação de integridade)**, especifique o período em milissegundos entre cada execução de verificação de integridade.
      + Em **Path (Caminho)**, especifique o caminho de destino para a solicitação de verificação de integridade. Esse valor é usado somente se o **Protocolo de verificação de integridade** for `http` ou `http2`. O valor é ignorado para outros protocolos.
      + Em **Timeout period (Período de tempo limite)**, especifique tempo de espera ao receber uma resposta da verificação de integridade, em milissegundos.
      + Em **Unhealthy threshold (Limite de não integridade)**, especifique o número de verificações de integridade consecutivas com falha que deve ocorrer antes de o listener ser declarado não íntegro.

   1. 

**(Opcional) **Habilitar encerramento do TLS**: configure como outros nós virtuais se comunicam com esse nó virtual usando TLS.**
      + Em **Modo**, selecione o modo para o qual você deseja que o TLS seja configurado no receptor.
      + Em **Método de certificado**, selecione uma das seguintes opções. O certificado deve atender aos requisitos específicos. Para obter mais informações, consulte [Requisitos de certificado](tls.md#virtual-node-tls-prerequisites).
        + **AWS Certificate Manager hospedagem** — Selecione um **certificado** existente.
        + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo que o Envoy buscará usando o Secret Discovery Service.
        + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** como a **Chave privada**, no sistema de arquivos em que o proxy Envoy está implantado.
      + (Opcional) Selecione **Exigir certificados de cliente** e uma das opções abaixo para habilitar a autenticação de TLS mútuo quando um cliente fornecer um certificado. Para saber mais sobre o TLS mútuo, consulte os documentos de [Autenticação de TLS mútuo](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) do App Mesh.
        + **Envoy Secret Discovery Service (SDS)** hosting: digite o nome do segredo que o Envoy buscará usando o Secret Discovery Service.
        + **Hospedagem de arquivos local**: especifique o caminho para o arquivo da **Cadeia de certificados** no sistema de arquivos em que o Envoy está implantado.
      + (Opcional) Insira um **Nome alternativo do assunto**. Para adicionar mais SANs, selecione **Adicionar SAN**. SANsdeve ser formatado em FQDN ou URI.

   1. 

**(Opcional) **Tempos limite****
**nota**  
 Se você especificar um tempo limite maior que o padrão, certifique-se de configurar um roteador virtual e uma rota com um tempo limite maior que o padrão. No entanto, se você diminuir o tempo limite para um valor menor que o padrão, é opcional atualizar os tempos limite em Rota. Para obter mais informações, consulte [Rotas](https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html).
      + **Tempo limite da solicitação**: você pode especificar um tempo limite da solicitação se tiver selecionado **grpc**, **http** ou **http2** para o **Protocolo** do receptor. O padrão é 15 segundos. Um valor de `0` desabilita o tempo limite.
      + **Duração do tempo ocioso**: você pode especificar uma duração do tempo ocioso para qualquer protocolo do receptor. O padrão é trezentos segundos.

1. Escolha **Criar nó virtual** para concluir.

------
#### [ AWS CLI ]

**Para criar um nó virtual usando a AWS CLI.**

Crie um nó virtual que use DNS para descoberta de serviços usando o comando a seguir e um arquivo JSON de entrada (substitua os *red* valores pelos seus):

1. 

   ```
   aws appmesh create-virtual-node \
   --cli-input-json file://create-virtual-node-dns.json
   ```

1. Conteúdo do **exemplo** create-virtual-node-dns .json:

   ```
   {
       "meshName": "meshName",
       "spec": {
           "listeners": [
               {
                   "portMapping": {
                       "port": 80,
                       "protocol": "http"
                   }
               }
           ],
           "serviceDiscovery": {
               "dns": {
                   "hostname": "serviceBv1.svc.cluster.local"
               }
           }
       },
       "virtualNodeName": "nodeName"
   }
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-06T09:12:24.348000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ],
               "serviceDiscovery": {
                   "dns": {
                       "hostname": "serviceBv1.svc.cluster.local"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualNodeName": "nodeName"
       }
   }
   ```

Para obter mais informações sobre como criar um nó virtual com o AWS CLI for App Mesh, consulte o [create-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-node.html)comando na AWS CLI referência.

------

## Excluir um nó virtual
<a name="delete-virtual-node"></a>

**nota**  
Você não pode excluir um nó virtual se ele for especificado como destino em qualquer [rota](routes.md) ou como provedor em qualquer [serviço virtual](virtual_services.md).

------
#### [ Console de gerenciamento da AWS ]

**Para excluir um nó virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha da qual você deseja excluir um nó virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual nodes (Nós virtuais)** no painel de navegação à esquerda.

1. Na tabela **Nós virtuais**, escolha o nó virtual que deseja excluir e selecione **Excluir**. Para excluir um nó virtual, o ID da sua conta deve estar listado nas colunas **Proprietário da malha** ou **Proprietário do recurso** do nó virtual.

1. Na caixa de confirmação, digite **delete** e selecione **Excluir**.

------
#### [ AWS CLI ]

**Para excluir um nó virtual usando o AWS CLI**

1. Use o comando a seguir para excluir seu nó virtual (substitua *red* os valores pelos seus):

   ```
   aws appmesh delete-virtual-node \
        --mesh-name meshName \
        --virtual-node-name nodeName
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-07T11:03:48.120000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "backends": [],
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ],
               "serviceDiscovery": {
                   "dns": {
                       "hostname": "serviceBv1.svc.cluster.local"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualNodeName": "nodeName"
       }
   }
   ```

Para obter mais informações sobre como excluir um nó virtual com o AWS CLI for App Mesh, consulte o [delete-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-node.html)comando na AWS CLI referência.

------

# Roteadores virtuais
<a name="virtual_routers"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Os roteadores virtuais manipulam o tráfego de um ou mais serviços virtuais dentro da malha. Depois de criar um roteador virtual, você pode criar e associar rotas para seu roteador virtual que direcionem as solicitações de entrada para diferentes nós virtuais.

![\[Virtual router diagram showing HTTP route with prefix and targets B and B' for different service versions.\]](http://docs.aws.amazon.com/pt_br/app-mesh/latest/userguide/images/virtual_router.png)


Qualquer tráfego de entrada que o roteador virtual esperar deverá ser especificado como um *receptor*.

## Criar um roteador virtual
<a name="create-virtual-router"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para criar um roteador virtual usando o Console de gerenciamento da AWS**
**nota**  
Ao criar um roteador virtual, você deve adicionar um seletor de namespace com um rótulo para identificar a lista de namespaces para associar Rotas ao Roteador virtual criado.

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha em que deseja criar o roteador virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual routers (Roteadores virtuais)** no painel de navegação à esquerda.

1. Selecione **Create virtual router (Criar roteador virtual)**.

1. Em **Virtual router name (Nome do roteador virtual)**, especifique um nome para seu roteador virtual. São permitidos até 255 letras, números, hifens e sublinhados.

1. (Opcional) Na configuração do **Receptor**, especifique uma **Porta** e um **Protocolo** para seu roteador virtual. O receptor `http` permite a transição da conexão para websockets. Você pode clicar em **Adicionar receptor** para adicionar vários receptores. O botão **Remover** removerá esse receptor.

1. Selecione **Create virtual router (Criar roteador virtual)** para concluir.

------
#### [ AWS CLI ]

**Para criar um roteador virtual usando a AWS CLI.**

Crie um roteador virtual usando o seguinte comando e insira JSON (substitua os *red* valores pelos seus):

1. 

   ```
   aws appmesh create-virtual-router \
        --cli-input-json file://create-virtual-router.json
   ```

1. Conteúdo do **exemplo create-virtual-router .json**

1. 

   ```
   {
       "meshName": "meshName",
       "spec": {
           "listeners": [
               {
                   "portMapping": {
                       "port": 80,
                       "protocol": "http"
                   }
               }
           ]
       },
       "virtualRouterName": "routerName"
   }
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualRouter": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName",
               "createdAt": "2022-04-06T11:49:47.216000-05:00",
               "lastUpdatedAt": "2022-04-06T11:49:47.216000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Para obter mais informações sobre como criar um roteador virtual com o AWS CLI for App Mesh, consulte o [create-virtual-router](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-router.html)comando na AWS CLI referência.

------

## Excluir um roteador virtual
<a name="delete-virtual-router"></a>

**nota**  
Você não pode excluir um roteador virtual se ele tiver alguma [rota](routes.md) ou se estiver especificado como provedor de qualquer [serviço virtual](virtual_services.md).

------
#### [ Console de gerenciamento da AWS ]

**Para excluir um roteador virtual usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha da qual você deseja excluir um roteador virtual. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual routers (Roteadores virtuais)** no painel de navegação à esquerda.

1. Na tabela **Roteadores virtuais**, escolha o roteador virtual que você deseja excluir e selecione **Excluir** no canto superior direito. Para excluir um roteador virtual, o ID da conta deve estar listado nas colunas **Proprietário da malha** ou **Proprietário do recurso** do roteador virtual.

1. Na caixa de confirmação, digite **delete** e clique em **Excluir**.

------
#### [ AWS CLI ]

**Para excluir um roteador virtual usando o AWS CLI**

1. Use o comando a seguir para excluir seu roteador virtual (substitua *red* os valores pelos seus):

   ```
   aws appmesh delete-virtual-router \
        --mesh-name meshName \
        --virtual-router-name routerName
   ```

1. Resultado do exemplo:

   ```
   {
       "virtualRouter": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName",
               "createdAt": "2022-04-06T11:49:47.216000-05:00",
               "lastUpdatedAt": "2022-04-07T10:49:53.402000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Para obter mais informações sobre como excluir um roteador virtual com o AWS CLI for App Mesh, consulte o [delete-virtual-router](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-router.html)comando na AWS CLI referência.

------

# Rotas
<a name="routes"></a>

**Importante**  
Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog [Migrando do AWS App Mesh Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

A rota está associada a um roteador virtual. A rota é usada para atender às solicitações do roteador virtual e distribuir o tráfego para os nós virtuais associados. Se uma rota corresponder a uma solicitação, ela poderá distribuir o tráfego para um ou mais nós virtuais de destino. Você pode especificar o peso relativo para cada nó virtual. Este tópico ajuda você a trabalhar com rotas em uma malha de serviços.

## Criar uma rota
<a name="create-route"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para criar uma rota usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha na qual deseja criar a rota. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual routers (Roteadores virtuais)** no painel de navegação à esquerda.

1. Escolha o roteador ao qual deseja associar uma nova rota. Se nenhum estiver listado, você precisará [criar um roteador virtual](virtual_routers.md#create-virtual-router) primeiro.

1. Na tabela **Routes (Rotas)**, selecione **Create route (Criar rota)**. Para criar uma rota, o ID da conta deve estar listado como o **Proprietário do recurso** da rota.

1. Em **Route name (Nome da rota)**, especifique o nome a ser usado para a rota.

1. Em **Tipo de rota**, escolha o protocolo que deseja para a rota. O protocolo que selecionar deve corresponder ao protocolo do receptor selecionado para o roteador virtual e o nó virtual para o qual você está roteando o tráfego.

1. (Opcional) Em **Prioridade da rota**, especifique uma prioridade de 0 a 1000 para usar em sua rota. A correspondência das rotas é feita com base em um valor especificado, e 0 é a prioridade mais alta.

1. (Opcional) Escolha **Configuração adicional**. Nos protocolos abaixo, escolha o protocolo que você selecionou para **Tipo de rota** e especifique as configurações no console conforme desejado.

1. Para **Configuração de destino**, selecione o nó virtual existente do App Mesh para direcionar o tráfego e especificar um **Peso**. Você pode escolher **Adicionar destino** para adicionar mais destinos. A porcentagem de todos os destinos deve somar 100. Se nenhum nó virtual estiver listado, você deverá [criar](virtual_nodes.md#vn-create-virtual-node) um primeiro. Se o nó virtual selecionado tiver vários receptores, a **Porta de destino** será **necessária**.

1. Para a configuração da **Correspondência**, especifique:

   ***A configuração de correspondência** não está disponível para `tcp`*
   + 

     Se **http/http2** for o tipo selecionado:
     + (Opcional) **Método**: especifica o cabeçalho do método a ser correspondido nas solicitações de entrada **http**/**http2**.
     + (Opcional) **Correspondência de porta**: corresponde a porta para o tráfego de entrada. A correspondência de portas é **necessária** se esse roteador virtual tiver vários receptores.
     + **Prefix/Exact/RegexCaminho** (opcional) ‐ método de correspondência do caminho do URL.
       + **Correspondência de prefixo**: uma solicitação correspondente por uma rota de gateway é regravada no nome do serviço virtual de destino e o prefixo correspondente é regravado, por padrão como `/`. Dependendo de como você configura seu serviço virtual, ele pode usar um roteador virtual para rotear a solicitação para diferentes nós virtuais, com base em prefixos ou cabeçalhos específicos. 
**nota**  
Se você habilitar a correspondência baseada no **Caminho**/**Prefixo**, o App Mesh habilita a normalização do caminho ([normalize\$1path](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path) e [merge\$1slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes)) para minimizar a probabilidade de vulnerabilidades de confusão de caminhos.  
As vulnerabilidades de confusão de caminhos ocorrem quando as partes que participam da solicitação usam representações de caminho diferentes.
       + **Correspondência exata**: o parâmetro exato desabilita a correspondência parcial de uma rota e garante que ela retorne a rota somente se o caminho for uma correspondência EXATA com o URL atual.
       + **Regex match** ‐ usado para descrever padrões em que vários URLs podem realmente identificar uma única página no site.
     + (Opcional) **Parâmetros de consulta**: esse campo permite que você faça a correspondência com os parâmetros da consulta.
     + (Opcional) **Cabeçalhos**: especifica os cabeçalhos para **http** e **http2**. Ele deve corresponder à solicitação de entrada para rotear para o serviço virtual de destino.
   + 

     Se **grpc** for o tipo selecionado:
     + **Nome do serviço**: o serviço de destino ao qual corresponder à solicitação.
     + **Nome do método**: o método de destino ao qual corresponder à solicitação.
     + (Opcional) **Metadados**: especifica a `Match` com base na presença de metadados. Todos devem corresponder para que a solicitação seja processada.

1. Selecione **Criar rota**.

------
#### [ AWS CLI ]

**Para criar uma rota usando a AWS CLI.**

Crie uma rota gRPC usando o seguinte comando e insira JSON (substitua os *red* valores pelos seus):

1. 

   ```
   aws appmesh create-route \
        --cli-input-json file://create-route-grpc.json
   ```

1. Conteúdo do **exemplo create-route-grpc .json**

   ```
   {
       "meshName" : "meshName",
       "routeName" : "routeName",
       "spec" : {
          "grpcRoute" : {
             "action" : {
                "weightedTargets" : [
                   {
                      "virtualNode" : "nodeName",
                      "weight" : 100
                   }
                ]
             },
             "match" : {
                "metadata" : [
                   {
                      "invert" : false,
                      "match" : {
                         "prefix" : "123"
                      },
                      "name" : "myMetadata"
                   }
                ],
                "methodName" : "nameOfmethod",
                "serviceName" : "serviceA.svc.cluster.local"
             },
             "retryPolicy" : {
                "grpcRetryEvents" : [ "deadline-exceeded" ],
                "httpRetryEvents" : [ "server-error", "gateway-error" ],
                "maxRetries" : 3,
                "perRetryTimeout" : {
                   "unit" : "s",
                   "value" : 15
                },
                "tcpRetryEvents" : [ "connection-error" ]
             }
          },
          "priority" : 100
       },
       "virtualRouterName" : "routerName"
   }
   ```

1. Resultado do exemplo:

   ```
   {
       "route": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName",
               "createdAt": "2022-04-06T13:48:20.749000-05:00",
               "lastUpdatedAt": "2022-04-06T13:48:20.749000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "routeName": "routeName",
           "spec": {
               "grpcRoute": {
                   "action": {
                       "weightedTargets": [
                           {
                               "virtualNode": "nodeName",
                               "weight": 100
                           }
                       ]
                   },
                   "match": {
                       "metadata": [
                           {
                               "invert": false,
                               "match": {
                                   "prefix": "123"
                               },
                               "name": "myMetadata"
                           }
                       ],
                       "methodName": "nameOfMehod",
                       "serviceName": "serviceA.svc.cluster.local"
                   },
                   "retryPolicy": {
   "grpcRetryEvents": [
                           "deadline-exceeded"
                       ],
                       "httpRetryEvents": [
                           "server-error",
                           "gateway-error"
                       ],
                       "maxRetries": 3,
                       "perRetryTimeout": {
                           "unit": "s",
                           "value": 15
                       },
                       "tcpRetryEvents": [
                           "connection-error"
                       ]
                   }
               },
               "priority": 100
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Para obter mais informações sobre como criar uma rota com o AWS CLI for App Mesh, consulte o comando [create-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-route.html) na referência. AWS CLI 

------

### gRPC
<a name="grpc"></a>

### (Opcional) **Correspondência**

+ (Opcional) Insira o **Nome do serviço** do serviço de destino ao qual corresponder a solicitação. Se você não especificar um nome, as solicitações para qualquer serviço serão correspondidas.
+ (Opcional) Insira o **Nome do método** do método de destino ao qual corresponder a solicitação. Se você não especificar um nome, as solicitações para qualquer método serão correspondidas. Se você especificar um nome do método, deverá especificar um nome do serviço.

### (Opcional) **Metadados**


Escolha **Add Metadata** (Adicionar metadados).
+ (Opcional) Insira o **Nome dos metadados** nos quais você deseja rotear, selecione um **Tipo de correspondência** e insira um **Valor de correspondência**. Selecionar **Inverter** corresponderá ao oposto. Por exemplo, se você especificar um **Nome dos metadados** de `myMetadata`, um **Tipo de correspondência** de **Exato**, um **Valor de correspondência** de `123` e selecionar **Inverter**, a rota será correspondida para qualquer solicitação que tenha um nome dos metadados que comece com algo diferente de `123`.
+ (Opcional) Selecione **Adicionar metadados** para adicionar até dez itens de metadados. 

### (Opcional) **Política de novas tentativas**


Uma política de repetição permite que os clientes se protejam contra falhas de rede intermitentes ou falhas intermitentes no lado do servidor. Uma política de novas tentativas é opcional, mas recomendada. Os valores de tempo limite de novas tentativas definem o tempo limite por nova tentativa (incluindo a tentativa inicial). Se você não definir uma política de novas tentativas, o App Mesh poderá criar automaticamente uma política padrão para cada uma de suas rotas. Para obter mais informações, consulte [Política padrão de tentativas de rotas](envoy-defaults.md#default-retry-policy).
+ Em **Tempo limite de novas tentativas**, insira o número de unidades para a duração do tempo limite. Um valor é necessário se você selecionar qualquer evento de tentativa de protocolo.
+ Em **Unidade do tempo limite de novas tentativas**, selecione uma unidade. Um valor é necessário se você selecionar qualquer evento de tentativa de protocolo.
+ Em **Máximo de novas tentativas**, insira o número máximo de novas tentativas quando a solicitação falhar. Um valor é necessário se você selecionar qualquer evento de tentativa de protocolo. Recomendamos um valor de pelo menos dois.
+ Selecione um ou mais **Eventos de novas tentativas HTTP**. Recomendamos selecionar pelo menos **stream-error** e **gateway-error**.
+ Selecione um **Evento de novas tentativas TCP**.
+ Selecione um ou mais **Eventos de novas tentativas gRPC**. Recomendamos selecionar pelo menos **cancelado** e **indisponível**.

### **(Opcional) Tempos limite**

+ O padrão é 15 segundos. Se você especificou uma **Política de novas tentativas**, a duração especificada aqui sempre deverá ser maior ou igual à duração da nova tentativa multiplicada pelo **Máximo de novas tentativas** definido na **Política de novas tentativas** para que sua política de novas tentativas possa ser concluída. Se você especificar uma duração maior que 15 segundos, certifique-se de que o tempo limite especificado para o receptor de qualquer nó virtual de **Destino** também seja maior que 15 segundos. Para obter mais informações, consulte [Nós virtuais](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html).
+ Um valor de `0` desabilita o tempo limite. 
+ O valor de tempo máximo em que a rota pode ficar ociosa.

### HTTP e HTTP/2
<a name="http-http2"></a>

### (Opcional) Correspondência

+ Especifique o **Prefixo** ao qual a rota deve corresponder. Por exemplo, se o nome do serviço virtual for `service-b.local` e você desejar que a rota corresponda as solicitações a `service-b.local/metrics`, seu prefixo deverá ser `/metrics`. Especificar rotas `/` para todo o tráfego.
+ (Opcional) Selecione um **Método**. 
+ (Opcional) Selecione um **Esquema**. Aplicável somente para HTTP2 rotas. 

### (Opcional) Cabeçalhos

+ (Opcional) Selecione **Adicionar cabeçalho**. Insira o **Nome do cabeçalho** no qual você deseja rotear, selecione um **Tipo de correspondência** e insira um **Valor de correspondência**. Selecionar **Inverter** corresponderá ao oposto. Por exemplo, se você especificar um cabeçalho chamado `clientRequestId` com um **Prefixo** de `123` e selecionar **Inverter**, a rota corresponderá a qualquer solicitação que tenha um cabeçalho que comece com algo diferente de `123`.
+ (Opcional) Selecione **Adicionar cabeçalho**. Você pode adicionar até dez cabeçalhos. 

### **(Opcional) Política de novas tentativas**


Uma política de repetição permite que os clientes se protejam contra falhas de rede intermitentes ou falhas intermitentes no lado do servidor. Uma política de novas tentativas é opcional, mas recomendada. Os valores de tempo limite de novas tentativas definem o tempo limite por nova tentativa (incluindo a tentativa inicial). Se você não definir uma política de novas tentativas, o App Mesh poderá criar automaticamente uma política padrão para cada uma de suas rotas. Para obter mais informações, consulte [Política padrão de tentativas de rotas](envoy-defaults.md#default-retry-policy).
+ Em **Tempo limite de novas tentativas**, insira o número de unidades para a duração do tempo limite. Um valor é necessário se você selecionar qualquer evento de tentativa de protocolo.
+ Em **Unidade do tempo limite de novas tentativas**, selecione uma unidade. Um valor é necessário se você selecionar qualquer evento de tentativa de protocolo.
+ Em **Máximo de novas tentativas**, insira o número máximo de novas tentativas quando a solicitação falhar. Um valor é necessário se você selecionar qualquer evento de tentativa de protocolo. Recomendamos um valor de pelo menos dois.
+ Selecione um ou mais **Eventos de novas tentativas HTTP**. Recomendamos selecionar pelo menos **stream-error** e **gateway-error**.
+ Selecione um **Evento de novas tentativas TCP**.

### **(Opcional) Tempos limite**

+ **Tempo limite da solicitação**: o padrão é 15 segundos. Se você especificou uma **Política de novas tentativas**, a duração especificada aqui sempre deverá ser maior ou igual à duração da nova tentativa multiplicada pelo **Máximo de novas tentativas** definido na **Política de novas tentativas** para que sua política de novas tentativas possa ser concluída.
+ **Duração do tempo ocioso**: o padrão é 300 segundos.
+ Um valor de `0` desabilita o tempo limite.

**nota**  
 Se você especificar um tempo limite maior que o padrão, certifique-se de que o tempo limite especificado para o receptor para todos os participantes do nó virtual também seja maior que o padrão. No entanto, se você diminuir o tempo limite para um valor menor que o padrão, é opcional atualizar os tempos limite nos nós virtuais. Para obter mais informações, consulte [Nós virtuais](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html).

### TCP
<a name="tcp"></a>

### **(Opcional) Tempos limite**

+ **Duração do tempo ocioso**: o padrão é 300 segundos.
+ Um valor de `0` desabilita o tempo limite.

## Excluir uma rota
<a name="delete-route"></a>

------
#### [ Console de gerenciamento da AWS ]

**Para excluir uma rota usando o Console de gerenciamento da AWS**

1. Abra o console do App Mesh em [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Escolha a malha da qual você deseja excluir uma rota. Todas as malhas que você possui e que foram [compartilhadas](sharing.md) com você estão listadas.

1. Selecione **Virtual routers (Roteadores virtuais)** no painel de navegação à esquerda.

1. Escolha o roteador do qual você deseja excluir uma rota.

1. Na tabela **Rotas**, escolha a rota que você deseja excluir e selecione **Excluir** no canto superior direito.

1. Na caixa de confirmação, digite **delete** e clique em **Excluir**.

------
#### [ AWS CLI ]

**Para excluir uma rota usando o AWS CLI**

1. Use o comando a seguir para excluir sua rota (substitua *red* os valores pelos seus):

   ```
   aws appmesh delete-route \
        --mesh-name meshName \
        --virtual-router-name routerName \
        --route-name routeName
   ```

1. Resultado do exemplo:

   ```
   {
       "route": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName",
               "createdAt": "2022-04-06T13:46:54.750000-05:00",
               "lastUpdatedAt": "2022-04-07T10:43:57.152000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "routeName": "routeName",
           "spec": {
               "grpcRoute": {
                   "action": {
                       "weightedTargets": [
                           {
                               "virtualNode": "nodeName",
                               "weight": 100
                           }
                       ]
                   },
                   "match": {
                       "metadata": [
                           {
                               "invert": false,
                               "match": {
                                   "prefix": "123"
                               },
                               "name": "myMetadata"
                           }
                       ],
                       "methodName": "methodName",
                       "serviceName": "serviceA.svc.cluster.local"
                   },
                   "retryPolicy": {
                       "grpcRetryEvents": [
                           "deadline-exceeded"
                       ],
                       "httpRetryEvents": [
                           "server-error",
                           "gateway-error"
                       ],
                       "maxRetries": 3,
                       "perRetryTimeout": {
                           "unit": "s",
                           "value": 15
                       },
                       "tcpRetryEvents": [
                           "connection-error"
                       ]
                   }
               },
               "priority": 100
           },
           "status": {
               "status": "DELETED"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Para obter mais informações sobre como excluir uma rota com o AWS CLI for App Mesh, consulte o comando [delete-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-route.html) na referência. AWS CLI 

------