Descoberta de recursos do Amazon ECS

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 7 min. de leitura
  • A aplicação ServiceNow Descoberta usa o padrão Amazon AWS - ECS para encontrar recursos gerenciados pelo Amazon Elastic Container Service (Amazon ECS). Isso inclui recursos que são executados no tipo de inicialização Fargate. A descoberta de alguns desses recursos requer a atualização da aplicação  Padrões de descoberta e mapeamento de serviços a partir da ServiceNow Store.

    Amazon O ECS é um serviço de gestão de contêineres altamente escalonável e rápido que facilita a execução, a interrupção e o gerenciamento de Docker contêineres. AWS O Fargate é um mecanismo de computação para Amazon ECS que permite que AWS clientes executem contêineres sem precisar gerenciar servidores ou clusters.

    Descoberta usa o padrão Amazon AWS - ECS para executar a descoberta horizontal.

    A partir da versão Padrões de descoberta e mapeamento de serviços 1.18.0, o padrão Amazon AWS - ECS oferece suporte à descoberta de Amazon imagens do Elastic Container Registry (Amazon ECR).

    Solicitar aplicativos na Store

    Acesse o site ServiceNow Store para ver todos os aplicativos disponíveis e obter informações sobre como enviar solicitações para a loja. Para obter informações sobre notas de versão cumulativa para todos os aplicativos liberados, consulte as ServiceNow Store notas de versão do histórico de versão.

    Pré-requisitos

    Criar credenciais AWS com recursos do ECS privilégios de exibição
    No console AWS, crie credenciais AWS com privilégios para exibir recursos do ECS. Para obter mais informações, consulte: https://docs.aws.amazon.com/en_pv/AmazonECS/latest/userguide/get-set-up-for-amazon-ecs.html.
    Nota:
    As solicitações de API usam AWS Assinatura Versão 4 para autenticação. Quando as credenciais corretas são fornecidas, a autenticação é feita internamente para as etapas do padrão Chamada de API em nuvem.
    Criar AWS registros de credenciais de nuvem ou usar credenciais temporárias
    No Now Platform, crie AWS registros de credenciais. Você também pode usar uma credencial temporária gerada pelo AWS Security Token Service (AWS STS) para funções de IAM. Para obter mais informações, consulte Credenciais de nuvem
    Criar AWS contas de serviço em nuvem
    • No Now Platform, crie AWS contas de serviço em nuvem usando credenciais AWS permanentes ou temporárias. Para obter mais informações, consulte Configurar contas de serviço AWS.
    • No registro Conta de serviço em nuvem, selecione Descobrir datacenters para encontrar AWS Datacenters (LDCs) para a conta de serviço em nuvem AWS configurada.
    Programar uma AWS descoberta
    No Now Platform, programe uma descoberta AWS completa ou apenas uma descoberta de padrão do ECS. Para obter mais informações sobre como programar uma descoberta, consulte Programar uma Descoberta horizontal.
    Verifique a configuração do registro de objeto da VM para encontrar os marcadores de recurso
    Para habilitar o padrão para encontrar marcadores de recurso, a tabela primária do ECS (Objeto VM) deve ter uma entrada relacionada para a tabela cmdb_key_value:
    1. Na barra de navegação Now Platform, navegue até Todos > Configuração > Identificação/Reconciliaçãoe selecione Identificadores de IC.
    2. Pesquise e abra o registro do Objeto VM.
    3. Selecione a guia Entradas relacionadas e verifique se ela está configurada conforme mostrado na figura Entrada relacionada ao objeto da VM. Caso contrário, especifique uma nova entrada relacionada: na lista relacionada Entradas relacionadas, selecione Novo, preencha o formulário e selecione Enviar.
      Figura 1. Entrada relacionada ao Objeto VM

      Configuração de entrada relacionada

    Dados coletados pelo Descoberta durante a descoberta horizontal

    Descoberta preenche os dados em CMDB ao executar o padrão Amazon AWS - ECS.

    Tabela 1. Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster]
    Campo Descrição
    ID do objeto [object_id] O Amazon nome de recurso (ARN) que identifica o cluster.
    Nome [nome] Uma cadeia de caracteres gerada pelo usuário usada para identificar o cluster.
    Contagem de instâncias de contêiner registradas [registered_container_instances_count] O número de instâncias de contêiner registradas no cluster. O status dessas instâncias de contêiner pode ser ACTIVE ou DRAINING.
    Tabela 2. TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition]
    Campo Descrição
    ID do objeto [object_id] O ARN completo da definição da tarefa.
    Nome [nome] O nome da família na qual esta definição de tarefa está registrada.
    Revisão [revision] A revisão da tarefa em uma família específica. Este é o número da versão da definição da tarefa em uma família.
    Modo de rede [network_mode] O modo de rede Docker a ser usado para os contêineres na tarefa. Valores válidos: Nenhum, ponte, awsvpc, host.
    CPU [cpu] O número de unidades de CPU usadas pela tarefa.
    Memória [memória] A quantidade de memória, em mebibyte (MiB), usada pela tarefa.
    Tabela 3. Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task]
    Campo Descrição
    ID do objeto [object_id] O ARN que identifica a tarefa.
    Nome [nome] Uma cadeia de caracteres gerada pelo usuário para identificar a tarefa.
    Tipo de inicialização [launch_type] O tipo de inicialização em que a tarefa é executada.
    Status operacional [operation_status] O status de integridade da tarefa, determinado pela integridade dos contêineres essenciais nela.
    CPU [cpu] O número de unidades de CPU usadas pela tarefa, conforme declarado na definição da tarefa.
    Memória [memória] A quantidade de memória, em MiB, usada pela tarefa, conforme declarado na definição da tarefa.
    Tabela 4. Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service]
    Campo Descrição
    ID do objeto [object_id] O ARN que identifica o serviço.
    Nome [nome] O nome do serviço.
    Tipo de inicialização [launch_type] O tipo de inicialização em que o serviço é executado.
    Estratégia de programação [scheduling_strategy] A estratégia de programação a ser usada para o serviço.
    Tabela 5. Contêiner do docker [cmdb_ci_docker_container]
    Campo Descrição
    Contêiner id [container_id] O ARN do contêiner.
    Nome [nome] O nome do contêiner.
    Status [status] O último status conhecido do contêiner.
    Status operacional [operational_status] O status de integridade do contêiner.
    CPU [cpu] O número de unidades de CPU definidas para o contêiner.
    Memória [memória] O limite fixo de memória, em MiB, definido para o contêiner.
    Tabela 6. Instâncias de máquina virtual [cmdb_ci_vm_instance]
    Campo Descrição
    ID do objeto [object_id] O ARN que identifica a instância da máquina virtual (VM).
    Nota:
    As informações completas sobre a instância de máquina virtual são descobertas em um padrão de nuvem EC2 diferente. Na Amazon descoberta de recursos do ECS, somente o object_id é analisado para ajudar na identificação exclusiva do IC.
    Tabela 7. Chave/Valor [cmdb_key_value]
    Campo Descrição
    Chave [key] A chave do marcador.
    Valor [value] O valor do marcador.
    Tabela 8. Imagem do docker [cmdb_ci_docker_image]
    Campo Descrição
    Nome [nome] Nome da imagem Docker.
    Resumo de imagem [image_digest] Identificador exclusivo da imagem Docker.
    ID da imagem [image_id] Identificador exclusivo de 12 caracteres para a imagem Docker.
    Tabela 9. Repositório de contêineres [cmdb_ci_container_repository]
    Campo Descrição
    Nome [nome] Nome totalmente qualificado do repositório que contém a imagem Docker.
    Tabela 10. Entrada do repositório de contêineres [cmdb_ci_container_repository_entry]
    Campo Descrição
    Nome [nome] O marcador de imagem Docker.
    Categoria [categoria] Nome totalmente qualificado do repositório que contém a imagem Docker.

    No mapa de Visualizações de dependências, você pode ver todos os recursos descobertos em sua organização que são gerenciados pelo Amazon ECS e os relacionamentos entre eles.

    Neste exemplo, o AWS Cloud ECS Cluster IC está hospedado em um AWS Datacenter. Ele executa duas AWS Tarefas do ECS em nuvem e dois AWS Serviços do ECS em nuvem e usa três Docker Contêineres.

    Figura 2. Exemplo de mapa das Visualizações de dependências

    ICs e conexões em um mapa de Visualizações de dependências

    Relacionamentos entre ICs

    Esses relacionamentos são criados para oferecer suporte a Amazon descoberta de recursos do ECS.

    IC Relacionamento IC
    Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster] Uses::Used by Instâncias de máquina virtual [cmdb_ci_vm_instance]
    Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster] Runs::Runs on Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service]
    Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster] Runs::Runs on Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task]
    Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster] Hosted on::Hosts Datacenters da AWS
    Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster] Extends::Extended by Objeto de máquina virtual [cmdb_ci_vm_object]
    Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service] Uses::Used by TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition]
    Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service] Hosted on::Hosts Datacenters da AWS
    Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service] Runs on::Runs Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster]
    Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service] Extends::Extended by Objeto de máquina virtual [cmdb_ci_vm_object]
    Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task] Runs on::Runs Instâncias de máquina virtual [cmdb_ci_vm_instance]
    Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task] Runs on::Runs Contêiner do docker [cmdb_ci_docker_container]
    Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task] Uses::Used by TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition]
    Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task] Hosted on::Hosts Datacenters da AWS
    Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task] Runs on::Runs Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster]
    Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task] Extends::Extended by Objeto de máquina virtual [cmdb_ci_vm_object]
    TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition] Used by::Uses Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service]
    TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition] Used by::Uses Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task]
    TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition] Hosted on::Hosts Datacenters da AWS
    TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition] Extends::Extended by Objeto de máquina virtual [cmdb_ci_vm_object]
    Repositório de contêineres [cmdb_ci_container_repository] Hosted on::Hosts Datacenter da AWS [cmdb_ci_aws_datacenter]
    Entrada do repositório de contêineres [cmdb_ci_container_repository_entry] Hospedado em: hosts Repositório de contêineres [cmdb_ci_container_repository]
    Contêiner do docker [cmdb_ci_docker_container] Hosted on::Hosts Datacenters da AWS
    Contêiner do docker [cmdb_ci_docker_container] Runs::Runs on Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task]
    Contêiner do Docker [cmdb_ci_docker_container] Used by::Uses Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster]
    Imagem do docker [cmdb_ci_docker_image] Provisionado de:: Provisionado Entrada do repositório de contêineres [cmdb_ci_container_repository_entry]
    Imagem do docker [cmdb_ci_docker_image] Instantiates::Instantiated by Contêiner do docker [cmdb_ci_docker_container]