Rotas de gateway - AWS App Mesh

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

Rotas de gateway

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.

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

AWS Management Console
Para criar uma rota de gateway usando o AWS Management Console
  1. Abra o console do App Mesh em https://console.aws.amazon.com/appmesh/.

  2. Selecione a malha na qual você deseja criar a rota de gateway. Todas as malhas que você possui e que foram compartilhadas com você estão listadas.

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

  4. 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 primeiro. Você só pode criar uma rota de gateway para um gateway virtual cuja conta esteja listada como Proprietária do recurso.

  5. Na tabela de Rotas de gateway, selecione Criar rota de gateway.

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

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

  8. Selecione um nome de serviço virtual existente. Se não houver nenhum, você precisará criar um serviço virtual primeiro.

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

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

  11. 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_path e 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.

  12. (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.

  13. 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
  2. Conteúdo do exemplo create-gateway-route .json:

    { "spec": { "httpRoute" : { "match" : { "prefix" : "/" }, "action" : { "target" : { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } } } } }
  3. 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-routecomando na AWS CLI referência.

Como excluir uma rota de gateway

AWS Management Console
Para excluir uma rota de gateway usando o AWS Management Console
  1. Abra o console do App Mesh em https://console.aws.amazon.com/appmesh/.

  2. Selecione a malha da qual você deseja excluir uma rota de gateway. Todas as malhas que você possui e que foram compartilhadas com você estão listadas.

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

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

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

  6. 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
  2. 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-routecomando na AWS CLI referência.