Como trabalhar com malhas compartilhadas - 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á.

Como trabalhar com malhas compartilhadas

Você pode compartilhar suas malhas do App Mesh entre AWS contas usando o AWS Resource Access Manager serviço. Uma malha compartilhada permite que recursos criados por AWS contas diferentes se comuniquem entre si na mesma malha.

Uma AWS conta pode ser proprietária de um recurso de malha, um consumidor de malha ou ambos. Os consumidores podem criar recursos em uma malha que é compartilhada com suas contas. Os proprietários podem criar recursos em qualquer malha que a conta possua. Um proprietário de malha pode compartilhar uma malha com os seguintes tipos de consumidores de malha.

  • AWS Contas específicas dentro ou fora de sua organização em AWS Organizations

  • Uma unidade organizacional dentro de sua organização em AWS Organizations

  • Toda a sua organização em AWS Organizations

Para ver end-to-end um resumo do compartilhamento de uma malha, consulte Visão geral da malha entre contas. GitHub

Concedendo permissões para compartilhar malhas

Ao compartilhar malhas entre contas, há permissões obrigatórias para o principal do IAM compartilhar a malha e permissões necessárias em nível de recurso para a malha em si.

Concedendo permissão para compartilhar uma malha

É necessário um conjunto mínimo de permissões para que um diretor do IAM compartilhe uma malha. Recomendamos usar as políticas AWSResourceAccessManagerFullAccess gerenciadas AWSAppMeshFullAccess e gerenciadas do IAM para garantir que seus diretores do IAM tenham as permissões necessárias para compartilhar e usar malhas compartilhadas.

Se você usa uma política personalizada do IAMappmesh:PutMeshPolicy, as appmesh:DeleteMeshPolicy açõesappmesh:GetMeshPolicy, e são necessárias. Essas são ações do IAM somente com permissão. Se um diretor do IAM não tiver essas permissões concedidas, ocorrerá um erro ao tentar compartilhar a malha usando o AWS RAM serviço.

Para obter mais informações sobre como o AWS Resource Access Manager serviço usa o IAM, consulte Como AWS RAM usar o IAM no Guia AWS Resource Access Manager do usuário.

Concedendo permissões para uma malha

Uma malha compartilhada tem as seguintes permissões.

  • Os consumidores podem listar e descrever todos os recursos em uma malha compartilhada com a conta.

  • Os proprietários podem listar e descrever todos os recursos em qualquer malha que a conta possua.

  • Proprietários e consumidores podem modificar os recursos em uma malha criada pela conta, mas não podem modificar os recursos criados por outra conta.

  • Os consumidores podem excluir qualquer recurso em uma malha criada pela conta.

  • Os proprietários podem excluir qualquer recurso em uma malha criada por qualquer conta.

  • Os recursos do proprietário podem referenciar apenas outros recursos na mesma conta. Por exemplo, um nó virtual só pode fazer referência AWS Cloud Map ou um AWS Certificate Manager certificado que esteja na mesma conta do proprietário do nó virtual.

  • Proprietários e consumidores podem conectar um proxy Envoy ao App Mesh como um nó virtual que a conta possui.

  • Os proprietários podem criar gateways virtuais e rotas de gateway virtuais.

  • Proprietários e consumidores podem listar tags e podem marcar/desmarcar recursos em uma malha criada pela conta. Eles não podem listar tags e marcar/desmarcar recursos em uma malha que não tenha sido criada pela conta.

As malhas compartilhadas usam uma autorização baseada em políticas. Uma malha é compartilhada com um conjunto fixo de permissões. Essas permissões são selecionadas para serem adicionadas a uma política de recursos, e uma política do IAM opcional também pode ser selecionada com base no usuário/perfil do IAM. A interseção de permissões possíveis nessas políticas, menos as permissões explícitas negadas, determina o acesso da entidade principal à malha.

Ao compartilhar uma malha, o AWS Resource Access Manager serviço cria uma política gerenciada chamada AWSRAMDefaultPermissionAppMesh e a associa ao seu App Mesh que fornece as seguintes permissões.

  • appmesh:CreateVirtualNode

  • appmesh:CreateVirtualRouter

  • appmesh:CreateRoute

  • appmesh:CreateVirtualService

  • appmesh:UpdateVirtualNode

  • appmesh:UpdateVirtualRouter

  • appmesh:UpdateRoute

  • appmesh:UpdateVirtualService

  • appmesh:ListVirtualNodes

  • appmesh:ListVirtualRouters

  • appmesh:ListRoutes

  • appmesh:ListVirtualServices

  • appmesh:DescribeMesh

  • appmesh:DescribeVirtualNode

  • appmesh:DescribeVirtualRouter

  • appmesh:DescribeRoute

  • appmesh:DescribeVirtualService

  • appmesh:DeleteVirtualNode

  • appmesh:DeleteVirtualRouter

  • appmesh:DeleteRoute

  • appmesh:DeleteVirtualService

  • appmesh:TagResource

  • appmesh:UntagResource

Pré-requisitos para compartilhar malhas

Para compartilhar uma malha, você deve atender aos seguintes pré-requisitos.

  • Você deve possuir a malha em sua AWS conta. Não é possível compartilhar uma malha que tenha sido compartilhada com você.

  • Para compartilhar uma malha com a sua organização ou com uma unidade organizacional nas AWS Organizations, é necessário habilitar o compartilhamento com as AWS Organizations. Para obter mais informações, consulte Habilitar o compartilhamento com o AWS Organizations no Guia do usuário do AWS RAM .

  • Seus serviços devem ser implantados em uma Amazon VPC que tenha conectividade compartilhada entre as contas que incluem os recursos de malha que você deseja que comuniquem entre si. Uma forma de compartilhar a conectividade de rede é implantar todos os serviços que você deseja usar em sua malha em uma sub-rede compartilhada. Para mais informações e limitações, consulte Compartilhamento de uma sub-rede.

  • Os serviços devem ser descobertos por meio do DNS ou. AWS Cloud Map Para mais informações sobre a descoberta de serviços, consulte Nós virtuais.

O compartilhamento de malha se integra com AWS Resource Access Manager (AWS RAM). AWS RAM é um serviço que permite que você compartilhe seus AWS recursos com qualquer AWS conta ou por meio de AWS Organizations. Com AWS RAM, você compartilha recursos de sua propriedade criando um compartilhamento de recursos. Um compartilhamento de atributos especifica os atributos a serem compartilhados, e os consumidores com os quais compartilhá-los. Os consumidores podem ser AWS contas individuais, unidades organizacionais ou uma organização inteira em AWS Organizations.

Para obter mais informações sobre AWS RAM, consulte o Guia AWS RAM do usuário.

Como compartilhar uma malha

Compartilhar uma malha permite que recursos criados por contas diferentes se comuniquem entre si na mesma malha. Só é possível compartilhar uma malha que você possua. Para compartilhar uma malha, é necessário adicioná-la a um compartilhamento de recursos. Um compartilhamento de recursos é um AWS RAM recurso que permite que você compartilhe seus recursos entre AWS contas. Um compartilhamento de recursos especifica os recursos a serem compartilhados, e os consumidores com os quais compartilhá-los. Ao compartilhar uma malha usando o console do Amazon Linux, você a adiciona a um compartilhamento de recursos existente. Para adicionar a malha a um novo compartilhamento de recursos, crie o compartilhamento de recursos usando o console do AWS RAM.

Se você faz parte de uma organização AWS Organizations e o compartilhamento dentro de sua organização está ativado, os consumidores em sua organização podem receber automaticamente acesso à malha compartilhada. Caso contrário, os consumidores receberão um convite para participar do compartilhamento de recursos e terão acesso à malha compartilhada depois de aceitar o convite.

Você pode compartilhar uma malha que você possui usando o AWS RAM console ou AWS CLI o.

Para compartilhar uma malha que você possui usando o AWS RAM console

Para obter instruções, consulte Criação de um recurso compartilhado no Guia do usuário do AWS RAM . Ao selecionar um tipo de recurso, selecione Malhas e, em seguida, selecione a malha que você deseja compartilhar. Se nenhuma malha estiver listada, crie uma malha primeiro. Para ter mais informações, consulte Criação de uma malha de serviços.

Para compartilhar uma malha que você possui usando o AWS CLI

Use o comando create-resource-share. Para a opção --resource-arns, especifique o ARN da malha que você deseja compartilhar.

Como cancelar o compartilhamento de uma malha

Quando você cancela o compartilhamento de uma malha, o App Mesh desativa o acesso adicional à malha por antigos consumidores da malha. No entanto, o App Mesh não exclui os recursos criados pelos consumidores. Depois que o compartilhamento da malha for removido, somente o proprietário da malha poderá acessar e excluir os recursos. O App Mesh impede que a conta que possuía recursos na malha receba informações de configuração depois que a malha não for mais compartilhada. O App Mesh também impede que outras contas com recursos na malha recebam informações de configuração de uma malha não compartilhada. Somente o proprietário da malha pode cancelar o compartilhamento.

Para cancelar o compartilhamento de uma malha de sua propriedade, é necessário removê-la do compartilhamento de recursos. Você pode fazer isso usando o AWS RAM console ou AWS CLI o.

Para cancelar o compartilhamento de uma malha compartilhada que você possui usando o console AWS RAM

Para obter instruções, consulte Como atualizar um recurso compartilhado no Guia do usuário do AWS RAM .

Para cancelar o compartilhamento de uma malha compartilhada que você possui usando o AWS CLI

Use o comando disassociate-resource-share.

Como identificar uma malha compartilhada

Proprietários e consumidores podem identificar malhas compartilhadas e recursos de malha usando o console Amazon Linux e AWS CLI

Para identificar uma malha compartilhada usando o console Amazon Linux
  1. Abra o console do App Mesh em https://console.aws.amazon.com/appmesh/.

  2. No painel de navegação à esquerda, selecione Malhas. O ID da conta do proprietário de cada malha está listado na coluna Proprietário da malha.

  3. No painel de navegação à esquerda, selecione Serviços virtuais, roteadores virtuais ou nós virtuais. Você vê o ID da conta do proprietário da malha e do proprietário do recurso para cada um dos recursos.

Para identificar uma malha compartilhada usando o AWS CLI

Use o comando aws appmesh list resource, como aws appmesh list-meshes. O comando retorna as malhas de sua propriedade e aquelas compartilhados com você. A meshOwner propriedade mostra o ID da AWS conta do meshOwner e a resourceOwner propriedade mostra o ID da AWS conta do proprietário do recurso. Qualquer comando executado em qualquer recurso de malha retorna essas propriedades.

As tags definidas pelo usuário anexadas a uma malha compartilhada estão disponíveis somente na sua Conta da AWS. Elas não estão disponíveis para as outras contas com as quais a malha é compartilhada. O comando aws appmesh list-tags-for-resource para uma malha em outra conta tem acesso negado.

Faturamento e medição

Não há cobranças adicionais pelo compartilhamento de malhas.

Cotas de instâncias

Todas as cotas de uma malha também se aplicam às malhas compartilhadas, independentemente de quem criou os recursos na malha. Somente o proprietário da malha pode solicitar aumentos de cota. Para ter mais informações, consulte Service Quotas do App Mesh. O serviço do AWS Resource Access Manager também tem cotas. Para obter mais informações, consulte Service Quotas.