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 meio de DNS consultas com nomes que diferem apenas por maiúsculas EXAMPLE e minúsculas (como um exemplo). Tentar fazer isso resultará em que esses serviços tenham o mesmo DNS nome. Se você usar um namespace que só pode ser acessado por API chamadas, poderá 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 namespace-name página Namespace:, 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 de AWS Cloud Map serviço em API chamadas ou DNS consultas.

    nota

    Se você quiser AWS Cloud Map criar um SRVregistro ao registrar uma instância e estiver usando um sistema que exige um SRVformato específico (como HAProxy), especifique o seguinte para 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 SRVregistro 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 inserida aqui aparece na página Serviços e na página de detalhes de cada serviço.

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

    nota

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

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

    1. Em Política de roteamento, selecione a política de roteamento do Amazon Route 53 para os DNS registros AWS Cloud Map criados quando você registra instâncias. Você pode selecionar entre roteamento ponderado e roteamento de resposta de vários valores. Para obter 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 DNS registro que determina o que o Route 53 retorna em resposta às DNS consultas feitas por AWS Cloud Map. Para obter mais informações, consulte Tipo de registro.

    3. Para TTL, especifique um valor numérico para definir o valor de time to live (TTL), em segundos, no nível do serviço. O valor de TTL determina por quanto tempo os DNS resolvedores armazenam as informações desse registro antes que os resolvedores encaminhem outra DNS consulta 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 obter 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 DNS namespaces 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 HTTPum protocolo de verificação de HTTPSsaúde, 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 HTTP status no 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 obter 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 red os valores pelos seus.

    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 red os valores pelos seus. 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.

Você também pode especificar metadados personalizados, como pesos de endpoints, API tempos limite e políticas de repetição, como atributos de serviço após criar um serviço. Para obter mais informações, consulte ServiceAttributese UpdateServiceAttributesna AWS Cloud Map APIReferência.