Usar namespaces compartilhados do AWS Cloud Map com o Amazon ECS Service Connect
A configuração de namespaces compartilhados do AWS Cloud Map para o Service Connect envolve as seguintes etapas: proprietário do namespace criando-o, proprietário compartilhando-o por meio do AWS Resource Access Manager (AWS RAM), consumidor aceitando o compartilhamento de recursos e consumidor configurando o Service Connect para usar o namespace compartilhado.
Etapa 1: criar o namespace do AWS Cloud Map
O proprietário do namespace cria um namespace do AWS Cloud Map que será compartilhado com outras contas.
Para criar um namespace para compartilhamento usando o Console de gerenciamento da AWS
-
Abra o console AWS Cloud Map do em https://console.aws.amazon.com/cloudmap/
. -
Escolha Create namespace (Criar namespace).
-
Insira um nome de namespace. Esse nome será usado pelos serviços em todas as contas participantes.
-
Para Tipo de namespace, escolha o tipo apropriado para o seu caso de uso:
-
Chamadas de API: namespaces HTTP para descoberta de serviços sem a funcionalidade de DNS.
-
Chamadas de API e consultas ao DNS em VPCs: namespaces de DNS privados para descoberta de serviços com consultas ao DNS privadas em uma VPC.
-
Chamadas de API e consultas ao DNS públicas: namespaces de DNS públicos para descoberta de serviços com consultas ao DNS públicas.
-
-
Escolha Create namespace (Criar namespace).
Etapa 2: compartilhar o namespace usando o AWS RAM
O proprietário do namespace usa o AWS RAM para compartilhar o namespace com outras Contas da AWS.
Para compartilhar um namespace usando o console do AWS RAM
-
Abra o console do AWS RAM em https://console.aws.amazon.com/ram/
. -
Escolha Criar compartilhamento de recursos.
-
Em Nome, insira um nome descritivo para o compartilhamento de recursos.
-
Na seção Recursos:
-
Em Tipo de recurso, escolha Namespaces do Cloud Map.
-
Selecione o namespace criado na etapa anterior.
-
-
Na seção Permissões gerenciadas, especifique AWSRamPermissionCloudMapECSFullPermission.
Importante
Você deve usar a permissão gerenciada
AWSRAMPermissionCloudMapECSFullPermissionpara compartilhar o namespace para que o Service Connect funcione corretamente com ele. -
Na seção Entidades principais, especifique as Contas da AWS com as quais você deseja compartilhar o namespace. Você pode inserir IDs de conta ou IDs de unidades organizacionais.
-
Escolha Criar compartilhamento de recursos.
Etapa 3: aceitar o compartilhamento de recursos
As contas de consumidores de namespace devem aceitar o convite de compartilhamento de recursos para usar o namespace compartilhado.
Para aceitar um convite de compartilhamento de recursos usando o console do AWS RAM
-
Na conta de consumidor, abra o console do AWS RAM em https://console.aws.amazon.com/ram/
. -
No painel de navegação, selecione Compartilhado comigo; em seguida, escolha Compartilhamentos de recursos.
-
Selecione o convite de compartilhamento de recursos e escolha Aceitar compartilhamento de recursos.
-
Depois de aceitar, anote o ARN do namespace compartilhado nos detalhes do recurso. Você usará esse ARN ao configurar os serviços do Service Connect.
Etapa 4: configurar um serviço do Amazon ECS com o namespace compartilhado
Depois de aceitar o namespace compartilhado, o consumidor do namespace pode configurar os serviços do Amazon ECS para usar o namespace compartilhado. A configuração é semelhante ao uso de um namespace normal, mas você deve especificar o ARN do namespace em vez do nome. Para obter um procedimento detalhado de criação de serviço, consulte Criação de uma implantação de atualização contínua do Amazon ECS.
Para criar um serviço com um namespace compartilhado usando o Console de gerenciamento da AWS
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
Na página Clusters, selecione o cluster no qual deseja criar o serviço.
-
Em Serviços, escolha Criar.
-
Depois de preencher outros detalhes, dependendo da sua workload, na seção Service Connect, escolha Usar Service Connect.
-
Em Namespace, insira o ARN completo do namespace compartilhado.
O formato do ARN é:
arn:aws:servicediscovery:region:account-id:namespace/namespace-id -
Defina as configurações restantes do Service Connect conforme necessário para seu tipo de serviço (cliente ou cliente-servidor).
-
Conclua o processo de criação de serviço.
Você também pode configurar serviços usando a AWS CLI ou os SDKs da AWS especificando o ARN do namespace compartilhado no parâmetro namespace do serviceConnectConfiguration.
aws ecs create-service \ --cluster my-cluster \ --service-name my-service \ --task-definition my-task-def \ --service-connect-configuration '{ "enabled": true, "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcdef1234567890", "services": [{ "portName": "web", "discoveryName": "my-service", "clientAliases": [{ "port": 80, "dnsName": "my-service" }] }] }'