Amazon ECS 자원 검색

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기11분
  • ServiceNow 디스커버리 애플리케이션은 Amazon AWS - ECS 패턴을 사용하여 Amazon ECS(Amazon Elastic Container Service)에서 관리하는 자원을 찾습니다. 여기에는 Fargate 시작 유형에서 실행되는 자원이 포함됩니다. 이러한 자원을 검색하려면 디스커버리 및 서비스 매핑 패턴 에서 애플리케이션을 ServiceNow Store업데이트해야 합니다.

    Amazon ECS는 확장성이 뛰어나고 빠른 컨테이너 관리 서비스로 Docker 컨테이너를 쉽게 실행, 중지 및 관리할 수 있습니다. AWS Fargate는 AWS고객이 서버나 클러스터를 관리할 필요 없이 컨테이너를 실행할 수 있도록 지원하는 Amazon ECS용 컴퓨팅 엔진입니다.

    디스커버리Amazon AWS - ECS 패턴을 사용하여 가로 검색을 실행합니다.

    디스커버리 및 서비스 매핑 패턴 버전 1.18.0부터 Amazon AWS - ECS 패턴은 Amazon ECR(Amazon Elastic Container Registry) 이미지 검색을 지원합니다.

    스토어에서 앱 요청

    ServiceNow Store 웹 사이트를 방문하면 사용 가능한 모든 앱을 확인하고 스토어에 요청을 제출하는 방법에 대한 정보를 참조할 수 있습니다. 출시된 모든 앱의 누적 릴리스 정보는 ServiceNow Store 버전 기록 릴리스 정보를 참조하십시오.

    필수 구성요소

    ECS 자원 보기 권한이 있는 AWS 자격 증명 생성
    AWS 콘솔에서 ECS 자원을 볼 수 있는 권한이 있는 AWS 자격 증명을 생성합니다. 자세한 내용은 https://docs.aws.amazon.com/en_pv/AmazonECS/latest/userguide/get-set-up-for-amazon-ecs.html을 참조하십시오.
    주:
    API 요청은 AWS 서명 버전 4를 사용하여 인증합니다. 올바른 자격 증명이 제공되면 클라우드 API 호출 패턴 단계를 위해 내부에서 인증이 수행됩니다.
    AWS 클라우드 자격 증명 기록 생성 또는 임시 자격 증명 사용
    Now Platform에서 AWS 자격 증명 기록을 생성합니다. 또한 AWS STS(AWS 보안 토큰 서비스)에서 생성한 임시 자격 증명을 IAM 역할에 사용할 수 있습니다. 자세한 내용은 클라우드 자격 증명을 참조하십시오.
    AWS 클라우드 서비스 계정 생성
    • Now Platform에서 영구 또는 임시 AWS 자격 증명을 사용하여 AWS 클라우드 서비스 계정을 만듭니다. 자세한 내용은 AWS 서비스 계정 설정 문서를 참조하십시오.
    • 클라우드 서비스 계정 기록에서 데이터센터 검색을 선택하여 구성된 AWS 클라우드 서비스 계정에 대한 AWS 데이터센터(LDC)를 찾습니다.
    AWS 검색 예약
    Now Platform에서 전체 AWS 검색 또는 ECS 패턴 검색에 대한 일정을 예약합니다. 검색 예약에 대한 자세한 내용은 가로 검색 예약 문서를 참조하십시오.
    자원 태그를 찾기 위해 VM 객체 기록의 구성 확인
    패턴을 사용하여 자원 태그를 찾으려면 상위 ECS 테이블(VM 객체)에 cmdb_key_value 테이블에 대한 관련 항목이 있어야 합니다.
    1. Now Platform 탐색 모음에서 모두 > 구성 > 식별/조정을 클릭하고 CI 식별자를 선택합니다.
    2. VM 객체 기록을 검색하고 엽니다.
    3. 관련 항목 탭을 선택하고 VM 객체 관련 항목 그림과 같이 구성되어 있는지 확인합니다. 그림과 다르게 구성되어 있는 경우 새 관련 항목을 지정합니다. 관련 항목 관련 목록에서 새로 만들기를 클릭하고 양식을 작성한 다음 제출을 선택합니다.
      그림 1. VM 객체 관련 항목

      관련 항목 구성

    가로 검색 중 디스커버리에서 수집하는 데이터

    디스커버리Amazon AWS - ECS 패턴을 실행할 때 CMDB에 데이터를 채웁니다.

    표 1. AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster]
    필드 설명
    객체 ID [object_id] 클러스터를 식별하는 ARN(Amazon 자원 이름)입니다.
    이름 [name] 클러스터를 식별하는 데 사용되는 사용자 생성 문자열입니다.
    등록된 컨테이너 인스턴스 개수 [registered_container_instances_count] 클러스터에 등록된 컨테이너 인스턴스의 수입니다. 이러한 컨테이너 인스턴스의 상태는 ACTIVE 또는 DRAINING일 수 있습니다.
    표 2. AWS 클라우드 ECS 작업 정의 [cmdb_ci_cloud_ecs_task_definition]
    필드 설명
    객체 ID [object_id] 작업 정의의 전체 ARN입니다.
    이름 [name] 이 작업 정의가 등록되는 패밀리의 이름입니다.
    수정버전 [revision] 특정 패밀리에 속하는 작업의 수정 버전입니다. 패밀리에 있는 작업 정의의 버전 번호입니다.
    네트워크 모드 [network_mode] 작업의 컨테이너에 사용할 Docker 네트워킹 모드입니다. 유효한 값: None, bridge, awsvpc, host.
    CPU 작업에 사용되는 CPU 장치의 수입니다.
    메모리 [memory] 작업에 사용되는 메비바이트(MiB) 단위의 메모리 양입니다.
    표 3. AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task]
    필드 설명
    객체 ID [object_id] 작업을 식별하는 ARN입니다.
    이름 [name] 작업을 식별하는 데 사용되는 사용자 생성 문자열입니다.
    시작 유형 [launch_type] 작업이 실행되는 시작 유형입니다.
    운영 상태 [operation_status] 작업의 상태이며 그 안에 있는 필수 컨테이너의 상태에 의해 결정됩니다.
    CPU 작업 정의에 명시된 대로 작업에 사용되는 CPU 장치의 수입니다.
    메모리 [memory] 작업 정의에 명시된 대로 작업에 사용되는 메모리의 양(MiB)입니다.
    표 4. AWS 클라우드 ECS 서비스 [cmdb_ci_cloud_ecs_service]
    필드 설명
    객체 ID [object_id] 서비스를 식별하는 ARN입니다.
    이름 [name] 서비스의 이름입니다.
    시작 유형 [launch_type] 서비스가 실행되는 시작 유형입니다.
    예약 전략 [scheduling_strategy] 서비스에 사용할 예약 전략입니다.
    표 5. Docker 컨테이너 [cmdb_ci_docker_container]
    필드 설명
    컨테이너 id [container_id] 컨테이너의 ARN입니다.
    이름 [name] 컨테이너의 이름입니다.
    상태 [status] 컨테이너의 마지막으로 알려진 상태입니다.
    운영 상태 [operational_status] 컨테이너의 상태입니다.
    CPU 컨테이너에 대해 설정된 CPU 장치의 수입니다.
    메모리 [memory] 컨테이너에 대해 설정된 메모리의 하드 제한(MiB)입니다.
    표 6. 가상 머신 인스턴스 [cmdb_ci_vm_instance]
    필드 설명
    객체 ID [object_id] VM(가상 머신) 인스턴스를 식별하는 ARN입니다.
    주:
    전체 가상 머신 인스턴스 정보는 다른 EC2 클라우드 패턴에서 검색됩니다. Amazon ECS 자원 검색에서는 CI의 고유 식별을 지원하기 위해 object_id만 구문 분석됩니다.
    표 7. 키 값 [cmdb_key_value]
    필드 설명
    키 [key] 태그 키입니다.
    값 [value] 태그 값입니다.
    표 8. Docker 이미지 [cmdb_ci_docker_image]
    필드 설명
    이름 [name] Docker 이미지의 이름입니다.
    이미지 다이제스트[image_digest] Docker 이미지의 고유 식별자입니다.
    이미지 ID [image_id] 12자 길이의 Docker 이미지 고유 식별자입니다.
    표 9. 컨테이너 리포지토리 [cmdb_ci_container_repository]
    필드 설명
    이름 [name] Docker 이미지를 포함하는 리포지토리의 정규화된 이름입니다.
    표 10. 컨테이너 리포지토리 항목 [cmdb_ci_container_repository_entry]
    필드 설명
    이름 [name] Docker 이미지 태그입니다.
    범주 [category] Docker 이미지를 포함하는 리포지토리의 정규화된 이름입니다.

    의존성 뷰 맵에서는 Amazon ECS에 의해 관리되는 검색된 모든 조직 내 자원과 해당 자원 간의 관계를 볼 수 있습니다.

    이 예시에서는 AWS 클라우드 ECS 클러스터 CI가 AWS 데이터센터에서 호스팅됩니다. 2개의 AWS 클라우드 ECS 작업과 2개의 AWS 클라우드 ECS 서비스를 실행하고, 3개의 Docker 컨테이너를 사용합니다.

    그림 2. 의존성 뷰 샘플 맵

    의존성 뷰 맵의 CI 및 연결

    CI 관계

    이러한 관계는 Amazon ECS 자원 검색을 지원하기 위해 생성됩니다.

    CI 관계 CI
    AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster] Uses::Used by 가상 머신 인스턴스 [cmdb_ci_vm_instance]
    AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster] Runs::Runs on AWS 클라우드 ECS 서비스 [cmdb_ci_cloud_ecs_service]
    AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster] Runs::Runs on AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task]
    AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster] Hosted on::Hosts AWS 데이터센터
    AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster] Extends::Extended by 가상 머신 객체 [cmdb_ci_vm_object]
    AWS 클라우드 ECS 서비스 [cmdb_ci_cloud_ecs_service] Uses::Used by AWS 클라우드 ECS 작업 정의 [cmdb_ci_cloud_ecs_task_definition]
    AWS 클라우드 ECS 서비스 [cmdb_ci_cloud_ecs_service] Hosted on::Hosts AWS 데이터센터
    AWS 클라우드 ECS 서비스 [cmdb_ci_cloud_ecs_service] Runs on::Runs AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster]
    AWS 클라우드 ECS 서비스 [cmdb_ci_cloud_ecs_service] Extends::Extended by 가상 머신 객체 [cmdb_ci_vm_object]
    AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task] Runs on::Runs 가상 머신 인스턴스 [cmdb_ci_vm_instance]
    AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task] Runs on::Runs Docker 컨테이너 [cmdb_ci_docker_container]
    AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task] Uses::Used by AWS 클라우드 ECS 작업 정의 [cmdb_ci_cloud_ecs_task_definition]
    AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task] Hosted on::Hosts AWS 데이터센터
    AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task] Runs on::Runs AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster]
    AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task] Extends::Extended by 가상 머신 객체 [cmdb_ci_vm_object]
    AWS 클라우드 ECS 작업 정의 [cmdb_ci_cloud_ecs_task_definition] Used by::Uses AWS 클라우드 ECS 서비스 [cmdb_ci_cloud_ecs_service]
    AWS 클라우드 ECS 작업 정의 [cmdb_ci_cloud_ecs_task_definition] Used by::Uses AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task]
    AWS 클라우드 ECS 작업 정의 [cmdb_ci_cloud_ecs_task_definition] Hosted on::Hosts AWS 데이터센터
    AWS 클라우드 ECS 작업 정의 [cmdb_ci_cloud_ecs_task_definition] Extends::Extended by 가상 머신 객체 [cmdb_ci_vm_object]
    컨테이너 리포지토리 [cmdb_ci_container_repository] Hosted on::Hosts AWS 데이터센터 [cmdb_ci_aws_datacenter]
    컨테이너 리포지토리 항목 [cmdb_ci_container_repository_entry] Hosted on::Hosts 컨테이너 리포지토리 [cmdb_ci_container_repository]
    Docker 컨테이너 [cmdb_ci_docker_container] Hosted on::Hosts AWS 데이터센터
    Docker 컨테이너 [cmdb_ci_docker_container] Runs::Runs on AWS 클라우드 ECS 작업 [cmdb_ci_cloud_ecs_task]
    Docker 컨테이너 [cmdb_ci_docker_container] Used by::Uses AWS 클라우드 ECS 클러스터 [cmdb_ci_cloud_ecs_cluster]
    Docker 이미지 [cmdb_ci_docker_image] Provisioned From::Provisioned 컨테이너 리포지토리 항목 [cmdb_ci_container_repository_entry]
    Docker 이미지 [cmdb_ci_docker_image] Instantiates::Instantiated by Docker 컨테이너 [cmdb_ci_docker_container]