Descoberta de recursos do Amazon ECS
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:
- Na barra de navegação Now Platform, navegue até e selecione Identificadores de IC.
- Pesquise e abra o registro do Objeto VM.
- 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
Dados coletados pelo Descoberta durante a descoberta horizontal
Descoberta preenche os dados em CMDB ao executar o padrão Amazon AWS - ECS.
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| Campo | Descrição |
|---|---|
| Chave [key] | A chave do marcador. |
| Valor [value] | O valor do marcador. |
| 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. |
| Campo | Descrição |
|---|---|
| Nome [nome] | Nome totalmente qualificado do repositório que contém a imagem Docker. |
| 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.
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] |