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á.
O que é AWS App Mesh?
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
AWS App Mesh é uma malha de serviços que facilita o monitoramento e o controle dos serviços. Uma malha de serviços é uma camada de infraestrutura dedicada a lidar com a service-to-service comunicação, geralmente por meio de uma série de proxies de rede leves implantados junto com o código do aplicativo. O App Mesh padroniza a forma como seus serviços se comunicam, oferecendo end-to-end visibilidade e ajudando a garantir a alta disponibilidade de seus aplicativos. O App Mesh oferece controles do tráfego de rede e visibilidade consistentes para cada serviço em uma aplicação.
Adicionar o App Mesh a um aplicativo de exemplo
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
Considere o seguinte exemplo simples de aplicativo que não usa o App Mesh. Os dois serviços podem ser executados no AWS Fargate Amazon Elastic Container Service (AmazonECS), no Amazon Elastic Kubernetes Service (Amazon), no Kubernetes em instâncias do EKS Amazon Elastic Compute Cloud (Amazon) ou em instâncias da EC2 Amazon com Docker. EC2
Nesta ilustração, serviceA
e serviceB
, ambos são detectáveis por meio do namespace apps.local
. Digamos, por exemplo, que você decida implantar uma nova versão do serviceb.apps.local
nomeado servicebv2.apps.local
. Em seguida, você deseja direcionar uma porcentagem do tráfego de servicea.apps.local
para serviceb.apps.local
e uma porcentagem para servicebv2.apps.local
. Quando tiver certeza de que servicebv2
está funcionando bem, você deseja enviar 100% do tráfego para ele.
O App Mesh pode ajudá-lo a fazer isso sem alterar nenhum código de aplicativo ou nomes de serviço registrados. Se você usar o App Mesh com esse aplicativo de exemplo, sua malha poderá se parecer com a ilustração a seguir.
Nessa configuração, os serviços não se comunicam mais diretamente entre si. Em vez disso, eles se comunicam entre si por meio de um proxy. O proxy implantado com o serviço servicea.apps.local
lê a configuração do App Mesh e envia tráfego para serviceb.apps.local
ou servicebv2.apps.local
com base na configuração.
Componentes do App Mesh
O App Mesh tem os seguintes componentes, ilustrados no exemplo anterior:
-
Malha de serviços: uma malha de serviços é um limite lógico para o tráfego de rede entre os serviços que residem nela. No exemplo, a malha é nomeada
apps
e contém todos os outros recursos da malha. Para obter mais informações, consulte Malhas de serviço. -
Serviços virtuais: 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. Na ilustração, dois serviços virtuais representam os dois serviços reais. Os nomes dos serviços virtuais são os nomes detectáveis dos serviços reais. Quando um serviço virtual e um serviço real têm o mesmo nome, vários serviços podem se comunicar entre si usando os mesmos nomes que usavam antes da implementação do App Mesh. Para obter mais informações, consulte Serviços virtuais.
-
Nós virtuais — Um nó virtual atua como um ponteiro lógico para um serviço detectável, como um serviço Amazon ECS ou Kubernetes. Para cada serviço virtual, você terá pelo menos um nó virtual. Na ilustração, o serviço virtual
servicea.apps.local
obtém informações de configuração para o nó virtual nomeadoserviceA
. O nó virtualserviceA
é configurado com o nomeservicea.apps.local
para descoberta de serviços. O serviço virtualserviceb.apps.local
é configurado para rotear o tráfego para os nós virtuaisserviceB
eserviceBv2
por meio de um roteador virtual nomeadoserviceB
. Para obter mais informações, consulte Nós virtuais. -
Roteadores virtuais e rotas: os roteadores virtuais manipulam o tráfego de um ou mais serviços virtuais dentro da malha. Uma 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. Na ilustração anterior, o roteador virtual
serviceB
tem uma rota que direciona uma porcentagem do tráfego para o nó virtualserviceB
e uma porcentagem do tráfego para o nó virtualserviceBv2
. Você pode definir a porcentagem de tráfego roteado para um determinado nó virtual e alterá-la ao longo do tempo. Você pode rotear o tráfego com base em critérios como HTTP cabeçalhos, URL caminhos ou nomes RPC de serviços e métodos g. Você pode configurar políticas de novas tentativas para tentar novamente uma conexão se houver um erro na resposta. Por exemplo, na ilustração, a política de novas tentativas da rota pode especificar que uma conexão comserviceb.apps.local
seja tentada novamente cinco vezes, com dez segundos entre as tentativas de repetição, seserviceb.apps.local
retornar tipos específicos de erros. Para ter mais informações, consulte Roteadores virtuais e Rotas. -
Proxy: você configura seus serviços para usar o proxy depois de criar sua malha e seus recursos. O proxy lê a configuração do App Mesh e direciona o tráfego de forma adequada. Na ilustração, toda a comunicação de
servicea.apps.local
atéserviceb.apps.local
passa pelo proxy implantado em cada serviço. Os serviços se comunicam entre si usando os mesmos nomes de descoberta de serviços usados antes da introdução do App Mesh. Como o proxy lê a configuração do App Mesh, você pode controlar como os dois serviços se comunicam entre si. Quando quiser alterar a configuração do App Mesh, você não precisa alterar nem reimplantar os próprios serviços ou os proxies. Para obter mais informações, consulte Imagem do Envoy.
Como começar a usar
Para usar o App Mesh, você deve ter um serviço existente em execução na Amazon AWS Fargate ECS, AmazonEKS, Kubernetes na Amazon EC2 ou Amazon EC2 com Docker.
Para começar a usar tags no App Mesh, consulte os guias a seguir:
Acessar o App Mesh
Você pode trabalhar com App Mesh das seguintes formas:
- AWS Management Console
-
O console é uma interface baseada em navegador que você pode usar para gerenciar os recursos do App Mesh. Você pode abrir o console do App Mesh em https://console.aws.amazon.com/appmesh/
. - AWS CLI
-
Fornece comandos para um amplo conjunto de AWS produtos e é compatível com Windows, Mac e Linux. Para começar a usar, consulte o Guia do usuário do AWS Command Line Interface. Para obter mais informações sobre comandos para App Mesh, consulte appmesh na Referência de comandos da AWS CLI.
- AWS Tools for Windows PowerShell
-
Fornece comandos para um amplo conjunto de AWS produtos para quem cria scripts no PowerShell ambiente. Para começar a usar, consulte o Guia do usuário da AWS Tools for Windows PowerShell. Para obter mais informações sobre os cmdlets do App Mesh, consulte App Mesh no AWS Tools for PowerShell Cmdlet Reference.
- AWS CloudFormation
-
Permite criar um modelo que descreva todos os AWS recursos que você deseja. Usando o modelo, AWS CloudFormation provisiona e configura os recursos para você. Para começar a usar, consulte o Guia do usuário do AWS CloudFormation. Para obter mais informações sobre os tipos de recursos do App Mesh, consulte Referência do tipo de recurso do App Mesh na Referência do modelo do AWS CloudFormation.
- AWS SDKs
-
Também fornecemos opções SDKs que permitem que você acesse o App Mesh a partir de uma variedade de linguagens de programação. Eles cuidam SDKs automaticamente de tarefas como:
Assinar criptograficamente suas solicitações de serviço
Recuperar solicitações
Lidar com respostas de erro
Para obter mais informações sobre a disponibilidadeSDKs, consulte Ferramentas para Amazon Web Services
. Para obter mais informações sobre o App MeshAPIs, consulte a AWS App Mesh APIReferência.