Descoberta do recurso AWS ECS-Fargate
A aplicação ServiceNow Descoberta usa o padrão AWS ECS-Fargate para encontrar recursos que são gerenciados pelo AWS Elastic Container Service (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.
O AWS 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 gestão de contêineres do Docker. O AWS Fargate é um mecanismo de computação para o AWS ECS que permite que os clientes da AWS executem contêineres sem precisar gerenciar servidores ou clusters.
O Descoberta usa o padrão AWS ECS-Fargate para executar a descoberta horizontal. Você pode usar este padrão na plataforma ServiceNow com a versão Madrid patch 10 ou versões posteriores.
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
- No console da AWS, crie credenciais da 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 o AWS Signature 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.
- Na Now Platform, crie uma conta de serviço em nuvem da AWS e registros de credenciais. Para obter mais informações, consulte Credenciais de nuvem.
- No registro de Conta de serviço em nuvem, clique em Descobrir Datacenters para encontrar Datacenters da AWS (LDCs) para a conta de serviço em nuvem da AWS configurada.
- Programe a descoberta completa da AWS ou somente a descoberta de padrão do ECS. Para obter mais informações, consulte Programar uma Descoberta horizontal.
- 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:
- Na barra de navegação Now Platform, navegue até e clique em Identificadores de IC.
- Pesquise e abra o registro do Objeto VM.
- Clique na guia Entradas relacionadas e verifique se ela está configurada conforme mostra a figura Entrada relacionada ao Objeto VM. Caso contrário, especifique uma nova entrada relacionada: na lista relacionada de Entradas relacionadas, clique em Novo, preencha o formulário e clique em Enviar.
Figura 1. Entrada relacionada ao Objeto VM
Dados coletados pelo Discovery durante a descoberta horizontal
Este padrão descobre dados que fornecem visibilidade para clusters do ECS, serviços do ECS, definições de tarefa do ECS, tarefas do ECS, contêineres do Docker e instâncias de contêiner do ECS na sua organização. Os dados descobertos incluem as tabelas e os campos a seguir.
| Tabela e campo | Descrição |
|---|---|
| Cluster do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_cluster] | |
| object_id | O ARN que identifica o cluster. |
| nome | Uma cadeia de caracteres gerada pelo usuário usada para identificar o cluster. |
| status | O status do cluster. Valores válidos: ACTIVE, INACTIVE. |
| registered_container_instances | 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. |
| TaskDefinition do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task_definition] | |
| object_id | O ARN completo da definição da tarefa. |
| nome | O nome da família na qual esta definição de tarefa está registrada. |
| status | O status da definição da tarefa. |
| 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. |
| network_mode | O modo de rede do Docker a ser usado para os contêineres na tarefa. Valores válidos: Nenhum, ponte, awsvpc, host. |
| cpu | O número de unidades de CPU usadas pela tarefa. |
| memória | A quantidade de memória, em MiB, usada pela tarefa. |
| Tarefa do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_task] | |
| object_id | O ARN que identifica a tarefa. |
| nome | Uma cadeia de caracteres gerada pelo usuário para identificar a tarefa. |
| status | O último status conhecido da tarefa. |
| launch_type | O tipo de inicialização em que a tarefa é executada. |
| operation_status | O status de integridade da tarefa, determinado pela integridade dos contêineres essenciais nela. |
| cpu | O número de unidades de CPU usadas pela tarefa, conforme declarado na definição da tarefa. |
| memória | A quantidade de memória, em MiB, usada pela tarefa, conforme declarado na definição da tarefa. |
| Serviço do ECS na nuvem da AWS [cmdb_ci_cloud_ecs_service] | |
| object_id | O ARN que identifica o serviço. |
| nome | O nome do serviço. |
| status | O status do serviço. |
| launch_type | O tipo de inicialização em que o serviço é executado. |
| scheduling_strategy | A estratégia de programação a ser usada para o serviço. |
| Contêiner do Docker [cmdb_ci_docker_container] | |
| container_id | O ARN do contêiner. |
| nome | O nome do contêiner. |
| status | O último status conhecido do contêiner. |
| operational_status | O status de integridade do contêiner. |
| cpu | O número de unidades de CPU definidas para o contêiner. |
| memória | O limite fixo de memória, em MiB, definido para o contêiner. |
| Instâncias de máquina virtual [cmdb_ci_vm_instance] | |
| object_id | O ARN que identifica a instância da 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 descoberta de recurso do AWS ECS-Fargate, somente o object_id é analisado para ajudar na identificação exclusiva do IC. |
| Valor da chave [cmdb_key_value] | |
| chave | A chave do marcador. |
| valor | O valor do marcador. |
No mapa do Dependency Views, é possível ver todos os recursos descobertos na sua organização que são gerenciados pelo AWS EWS e os relacionamentos entre eles.
Neste exemplo, o IC do cluster de ECS de nuvem da AWS está hospedado em um Datacenter da AWS. Ele executa duas tarefas do AWS Cloud ECS e dois serviços do AWS Cloud ECS, além de usar três contêineres do Docker.
Relacionamentos entre ICs
Esses relacionamentos são criados para oferecer suporte à descoberta do AWS ECS-Fargate:
| 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] |
| 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] |
| 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] |
| 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] |
| 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] |