

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

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

------