Criação de um AWS Cloud Map serviço para um componente do aplicativo - AWS Cloud Map

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

Criação de um AWS Cloud Map serviço para um componente do aplicativo

Depois de criar um namespace, você pode criar serviços para representar diferentes componentes do seu aplicativo que atendem a propósitos específicos. Por exemplo, você pode criar um serviço para recursos em seu aplicativo que processam pagamentos.

nota

Você não pode criar vários serviços acessíveis por consultas de DNS com nomes que diferem apenas por maiúsculas e minúsculas (como EXEMPLO e EXEMPLO). Tentar fazer isso resultará em que esses serviços tenham o mesmo nome de DNS. Se o namespace só puder ser acessado por chamadas à API, é possível criar serviços com nomes que diferem apenas por maiúsculas e minúsculas.

Siga estas etapas para criar um serviço usando o AWS Management Console, AWS CLI, e SDK para Python.

AWS Management Console
  1. Faça login no AWS Management Console e abra o AWS Cloud Map console em https://console.aws.amazon.com/cloudmap/.

  2. No painel de navegação, escolha Namespaces.

  3. Na página Namespaces, escolha o namespace ao qual você deseja adicionar o serviço.

  4. Na página Namespace: namespace-name, escolha Criar serviço.

  5. Em Nome do serviço, insira um nome que descreva as instâncias que você registra ao usar esse serviço. O valor é usado para descobrir instâncias AWS Cloud Map de serviço em chamadas de API ou em consultas de DNS.

    nota

    Se você quiser AWS Cloud Map criar um registro SRV ao registrar uma instância e estiver usando um sistema que exige um formato SRV específico (como HAProxy), especifique o seguinte para o nome do serviço:

    • Comece o nome com um sublinhado (_), por exemplo, _exampleservice.

    • Termine o nome com ._protocol, por exemplo, ._tcp.

    Quando você registra uma instância, AWS Cloud Map cria um registro SRV e atribui um nome concatenando o nome do serviço e o nome do namespace, por exemplo:

    _exampleservice._tcp.example.com

  6. (Opcional) Em Descrição do serviço, insira uma descrição para o serviço. A descrição que você insere aqui aparece na página Serviços e na página de detalhes de cada serviço.

  7. Se o namespace oferecer suporte a consultas de DNS, em Configuração de descoberta de serviços, você poderá configurar a capacidade de descoberta no nível do serviço. Escolha entre permitir chamadas de API e consultas de DNS ou somente chamadas de API para a descoberta de instâncias nesse serviço.

    nota

    Se você escolher chamadas de API, não AWS Cloud Map criará registros SRV ao registrar uma instância.

    Se você escolher API e DNS, siga estas etapas para configurar os registros DNS. Você pode adicionar ou remover registros DNS.

    1. Em Política de roteamento, selecione a política de roteamento do Amazon Route 53 para os registros DNS AWS Cloud Map criados quando você registra instâncias. Você pode selecionar entre roteamento ponderado e roteamento de respostas de vários valores. Para ter mais informações, consulte Política de roteamento.

      nota

      Você não pode usar o console para configurar AWS Cloud Map a criação de um registro de alias do Route 53 ao registrar uma instância. Se você quiser AWS Cloud Map criar registros de alias para um balanceador de carga do Elastic Load Balancing ao registrar instâncias programaticamente, escolha Roteamento ponderado para a política de roteamento.

    2. Em Tipo de registro, escolha o tipo de registro DNS que determina o que o Route 53 retorna em resposta às consultas de DNS. AWS Cloud Map Para ter mais informações, consulte Tipo de registro.

    3. Para TTL, especifique um valor numérico para definir o valor do tempo de vida (TTL), em segundos, no nível do serviço. O valor de TTL determina por quanto tempo os resolvedores de DNS armazenam informações desse registro em cache antes que os resolvedores encaminhem outra consulta ao DNS para o Amazon Route 53 para obter as configurações atualizadas.

  8. Em Configuração da verificação de integridade, em Opções de verificação de integridade, escolha o tipo de verificação de saúde aplicável às instâncias de serviço. Você pode optar por não configurar nenhuma verificação de saúde ou escolher entre uma verificação de saúde do Route 53 ou uma verificação de saúde externa para suas instâncias. Para ter mais informações, consulte AWS Cloud Map configuração de verificação de integridade do serviço.

    nota

    As verificações de integridade do Route 53 são configuráveis somente para serviços em namespaces DNS públicos.

    Se você escolher as verificações de saúde do Route 53, forneça as seguintes informações.

    1. Para Limite de falha, forneça um número entre 1 e 10 que defina o número de verificações de saúde consecutivas do Route 53 que uma instância de serviço deve passar ou falhar para que seu status de saúde mude.

    2. Em Health check protocol, selecione o método que o Route 53 usará para verificar a integridade das instâncias do serviço.

    3. Se você escolher o protocolo de verificação de saúde HTTP ou HTTPS, em Health check path, forneça um caminho que você deseja que o Amazon Route 53 solicite ao realizar verificações de saúde. O caminho pode ser qualquer valor, como o arquivo /docs/route53-health-check.html. Quando o recurso está íntegro, o valor retornado é um código de status HTTP em formato 2xx ou 3xx. Você também pode incluir parâmetros de strings de consulta, por exemplo, /welcome.html?language=jp&login=y. O console do AWS Cloud Map adiciona automaticamente um caractere de barra (/) à esquerda.

    Para obter mais informações sobre as verificações de saúde do Route 53, consulte Como o Amazon Route 53 determina se uma verificação de saúde está íntegra no Guia do desenvolvedor do Amazon Route 53.

  9. (Opcional) Em Tags, escolha Adicionar tags e especifique uma chave e um valor para marcar seu namespace. É possível especificar uma ou mais tags para adicionar ao seu namespace. As tags permitem que você categorize seus AWS recursos para que você possa gerenciá-los com mais facilidade. Para ter mais informações, consulte Marcando seus recursos AWS Cloud Map.

  10. Escolha Create service.

AWS CLI
  • Crie um serviço com o create-service comando. Substitua os valores vermelhos pelos seus próprios.

    aws servicediscovery create-service \ --name service-name \ --namespace-id ns-xxxxxxxxxxx \ --dns-config "NamespaceId=ns-xxxxxxxxxxx,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A,TTL=60}]"

    Saída:

    { "Service": { "Id": "srv-xxxxxxxxxxx", "Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx", "Name": "service-name", "NamespaceId": "ns-xxxxxxxxxxx", "DnsConfig": { "NamespaceId": "ns-xxxxxxxxxxx", "RoutingPolicy": "MULTIVALUE", "DnsRecords": [ { "Type": "A", "TTL": 60 } ] }, "CreateDate": 1587081768.334, "CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25" } }
AWS SDK for Python (Boto3)

Caso ainda não tenha instalado Boto3, é possível encontrar instruções para instalação, configuração e uso do Boto3 aqui.

  1. Importe Boto3 e use servicediscovery como seu serviço.

    import boto3 client = boto3.client('servicediscovery')
  2. Crie um serviço comcreate_service(). Substitua os valores vermelhos pelos seus próprios. Para obter mais informações, consulte create_service.

    response = client.create_service( DnsConfig={ 'DnsRecords': [ { 'TTL': 60, 'Type': 'A', }, ], 'NamespaceId': 'ns-xxxxxxxxxxx', 'RoutingPolicy': 'MULTIVALUE', }, Name='service-name', NamespaceId='ns-xxxxxxxxxxx', )

    Exemplo de objeto de resposta

    { 'Service': { 'Arn': 'arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx', 'CreateDate': 1587081768.334, 'DnsConfig': { 'DnsRecords': [ { 'TTL': 60, 'Type': 'A', }, ], 'NamespaceId': 'ns-xxxxxxxxxxx', 'RoutingPolicy': 'MULTIVALUE', }, 'Id': 'srv-xxxxxxxxxxx', 'Name': 'service-name', 'NamespaceId': 'ns-xxxxxxxxxxx', }, 'ResponseMetadata': { '...': '...', }, }

Próximas etapas

Depois de criar um serviço, você pode registrar os recursos do aplicativo como instâncias de serviço que contêm informações sobre como o aplicativo pode localizar o recurso. Para obter mais informações sobre o registro de instâncias AWS Cloud Map de serviço, consulteRegistrando um recurso como instância de AWS Cloud Map serviço.