인벤토리 수집 구성 - AWS Systems Manager

인벤토리 수집 구성

이 섹션에서는 Systems Manager 콘솔을 사용하여 관리형 노드 1개 이상에 대한 AWS Systems Manager Inventory 수집을 구성하는 방법에 대해서 설명합니다. AWS Command Line Interface(AWS CLI)를 사용하여 인벤토리 수집을 구성하는 방법의 예는 AWS CLI를 사용하여 인벤토리 데이터 수집 구성 섹션을 참조하세요.

인벤토리 수집을 구성할 때 AWS Systems Manager State Manager 연결을 생성하는 것으로 시작합니다. Systems Manager는 연결이 실행될 때 인벤토리 데이터를 수집합니다. 연결을 먼저 생성하지 않고 AWS Systems Manager Run Command 등을 사용하여 aws:softwareInventory 플러그 인을 호출하려고 하면 시스템이 다음 오류를 반환합니다. The aws:softwareInventory plugin can only be invoked via ssm-associate.

참고

관리형 노드에 대해 여러 인벤토리 연결을 만드는 경우 다음 동작을 유의하세요.

  • 각 노드에 모든 노드(--targets "Key=InstanceIds,Values=*")를 대상으로 하는 인벤토리 연결이 할당될 수 있습니다.

  • 태그 키/값 페어 또는 AWS 리소스 그룹을 사용하는 특정 연결이 각 노드에 할당될 수도 있습니다.

  • 노드에 여러 인벤토리 연결이 할당된 경우 실행되지 않은 연결에 대해 상태가 건너뜀(Skipped)으로 표시됩니다. 가장 최근에 실행된 연결은 인벤토리 연결의 실제 상태를 표시합니다.

  • 노드에 여러 인벤토리 연결이 할당되고 각각 태그 키/값 페어를 사용하는 경우 태그 충돌로 인해 해당 인벤토리 연결이 노드에서 실행되지 않습니다. 태그 키/값 충돌이 없는 노드에서 연결이 계속 실행됩니다.

시작하기 전

인벤토리 수집을 구성하기 전에 다음 작업을 수행하십시오.

  • 인벤토리로 만들고 싶은 노드에서 AWS Systems Manager SSM Agent를 업데이트합니다. SSM Agent 최신 버전을 실행하여 지원되는 모든 인벤토리 유형에 대한 메타데이터를 수집할 수 있는지 확인합니다. SSM Agent를 사용해 State Manager 를 업데이트하는 방법에 대한 자세한 내용은 연습: AWS CLI를 사용하여 SSM Agent를 자동으로 업데이트 섹션을 참조하세요.

  • 하이브리드 및 멀티클라우드 환경의 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 및 비 EC2 시스템에 대한 설정 요구 사항을 완료했는지 확인합니다. 자세한 내용은 AWS Systems Manager에 대한 관리형 노드 설정을 참조하세요.

  • Microsoft Windows 노드의 경우 노드가 Windows PowerShell 3.0 이상으로 구성되었는지 확인합니다. SSM Agent는 PowerShell에서 ConvertTo-Json cmdlet을 사용하여 Windows 업데이트 인벤토리 데이터를 필요한 형식으로 변환합니다.

  • (옵션) 리소스 데이터 동기화를 생성하여 Amazon S3 버킷에 인벤토리 데이터를 중앙 집중식으로 저장합니다. 그러면 새 인벤토리 데이터가 수집될 때 리소스 데이터 동기화에 의해 중앙 데이터가 자동으로 업데이트됩니다. 자세한 내용은 연습: 리소스 데이터 동기화를 사용하여 인벤토리 데이터 집계 단원을 참조하십시오.

  • (선택 사항) JSON 파일을 생성하여 사용자 정의 인벤토리를 수집합니다. 자세한 내용은 사용자 정의 인벤토리 작업 단원을 참조하십시오.

AWS 계정의 모든 관리형 노드에 대한 인벤토리 작성

전역 인벤토리 연결을 생성하면 AWS 계정의 모든 관리형 노드에 대한 인벤토리를 쉽게 작성할 수 있습니다. 전역 인벤토리 연결은 다음 작업을 수행합니다.

  • AWS 계정에 있는 모든 관리형 노드에 전역 인벤토리 구성(연결)을 자동으로 적용합니다. 전역 인벤토리 연결이 적용되어 실행될 경우, 이미 인벤토리 연결이 있는 관리형 노드는 건너뜁니다. 노드를 건너뛰면 Overridden By Explicit Inventory Association이라는 자세한 상태 메시지가 표시됩니다. 이러한 노드는 전역 연결에서 건너뛰지만 각자 할당된 인벤토리 연결을 실행할 때는 인벤토리를 보고합니다.

  • AWS 계정에 생성된 새로운 노드를 전역 인벤토리 연결에 자동으로 추가합니다.

참고
  • 전역 인벤토리 연결을 구성한 관리형 노드에 특정 연결을 할당하면 Systems Manager Inventory에서 전역 연결의 우선순위를 무시하고 특정 연결을 적용합니다.

  • 전역 인벤토리 연결은 SSM Agent 버전 2.0.790.0 이상에서 사용할 수 있습니다. 노드에서 SSM Agent를 업데이트하는 자세한 방법은 Run Command를 사용하여 SSM Agent 업데이트 섹션을 참조하세요.

원클릭 절차로 인벤토리 수집 구성(콘솔)

다음 절차에 따라 AWS 계정 및 단일 AWS 리전의 모든 관리형 노드에 대해 Systems Manager Inventory를 구성합니다.

Systems Manager Inventory의 현재 리전에서 모든 관리형 노드 구성
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 [Inventory]를 선택합니다.

  3. Managed instances with inventory enabled(인벤토리가 활성화된 관리형 인스턴스) 카드에서 Click here to enable inventory on all instances(모든 인스턴스에서 인벤토리를 활성화하려면 여기를 클릭)를 선택합니다.

    모든 관리형 노드에서 Systems Manager Inventory를 활성화하는 중입니다.

    성공하면 콘솔에 다음 메시지가 표시됩니다.

    모든 관리형 노드에서 Systems Manager Inventory를 활성화하는 중입니다.

    계정에 포함된 관리형 노드 수에 따라 전역 인벤토리 연결이 적용되는 데 몇 분이 걸릴 수 있습니다. 몇 분 동안 기다린 다음 페이지를 새로 고칩니다. 그래픽이 바뀌어 모든 관리형 노드에서 인벤토리가 구성된 것으로 나타내는지 확인합니다.

콘솔을 사용하여 수집 구성

이 섹션에는 Systems Manager 콘솔을 사용하여 관리형 노드에서 메타데이터를 수집하도록 Systems Manager Inventory를 구성하는 방법이 나와 있습니다. 특정 AWS 계정의 모든 노드(및 그 계정에서 만들 수 있는 향후의 모든 노드)에서 빠르게 메타데이터를 수집하거나 태그 또는 노드 ID를 사용하여 선택적으로 인벤토리 데이터를 수집할 수 있습니다.

참고

이 절차를 완료하기 전에 전역 인벤토리 연결이 이미 존재하는지 확인합니다. 전역 인벤토리 연결이 이미 존재하는 경우 새 인스턴스를 시작할 때마다 연결이 해당 인스턴스에 적용되고 새 인스턴스가 인벤토리에 추가됩니다.

인벤토리 수집을 구성하려면
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 [Inventory]를 선택합니다.

  3. 인벤토리 설정을 선택합니다.

  4. 대상 섹션에서, 다음 중 하나를 선택하여 이 작업을 실행할 노드를 식별합니다.

    • 이 계정의 모든 관리형 인스턴스 선택 - 이 옵션은 인벤토리 연결이 존재하지 않는 모든 관리형 노드를 선택합니다. 이 옵션을 선택하면 인벤토리 연결이 이미 있는 노드들이 인벤토리 수집에서 무시되고, 인벤토리 결과에 건너뜀 상태로 표시됩니다. 자세한 내용은 AWS 계정의 모든 관리형 노드에 대한 인벤토리 작성 단원을 참조하십시오.

    • 태그 지정(Specifying a tag) - 태그 하나를 지정하여 계정에서 인벤토리를 수집할 노드를 식별하려면 이 옵션을 사용합니다. 태그를 사용하는 경우 그 이후로 이와 동일한 태그를 사용하여 생성되는 노드도 인벤토리를 보고합니다. 모든 노드와 연결된 인벤토리 연결이 존재하는 경우, 태그를 사용하여 특정 노드를 여러 인벤토리에 대한 대상으로 선택하면 모든 관리형 인스턴스 대상 그룹의 노드 멤버십을 무시합니다. 지정한 태그를 가진 관리형 노드는 이후에 수행되는 모든 관리형 인스턴스의 인벤토리 수집에서 무시됩니다.

    • 수동으로 인스턴스 선택(Manually selecting instances) - 계정에서 특정 관리형 노드를 선택하려면 이 옵션을 사용합니다. 이 옵션을 사용하여 특정 노드를 명시적으로 선택하면 모든 관리형 인스턴스 대상의 인벤토리 연결을 무시합니다. 노드는 이후에 수행되는 모든 관리형 인스턴스의 인벤토리 수집에서 무시됩니다.

      참고

      예상한 관리형 노드가 목록에 없으면 관리형 노드 가용성 문제 해결에서 문제 해결 팁을 참조하세요.

  5. 일정 섹션에서 시스템이 노드로부터 인벤토리 메타데이터를 수집하는 간격을 선택합니다.

  6. [파라미터(Parameters)] 섹션에서 목록을 사용하여 다양한 유형의 인벤토리 수집을 설정하거나 해제합니다. 파일 또는 Windows 레지스트리에 대한 인벤토리 검색을 생성하려면 다음 샘플을 참조하십시오.

    파일
    • Linux 및 macOS에서는 /home/ec2-user 디렉터리(하위 디렉터리는 모두 제외)에 .sh 파일에 대한 메타데이터를 수집합니다.

      [{"Path":"/home/ec2-user","Pattern":["*.sh", "*.sh"],"Recursive":false}]
    • Windows에서는 모든 ".exe" 파일에 대한 메타데이터를 Program Files 폴더(하위 디렉터리 포함)에 반복적으로 수집합니다.

      [{"Path":"C:\Program Files","Pattern":["*.exe"],"Recursive":true}]
    • Windows에서는 특정 로그 패턴의 메타데이터를 수집합니다.

      [{"Path":"C:\ProgramData\Amazon","Pattern":["*amazon*.log"],"Recursive":true}]
    • 반복 수집을 수행할 때는 디렉터리 개수를 제한합니다.

      [{"Path":"C:\Users","Pattern":["*.ps1"],"Recursive":true, "DirScanLimit": 1000}]
    Windows 레지스트리
    • 특정 경로에 대해 모든 키와 값을 반복적으로 수집합니다.

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon","Recursive": true}]
    • 특정 경로에 대해 모든 키와 값을 수집합니다(반복 검색은 해제됨).

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Intel\PSIS\PSIS_DECODER", "Recursive": false}]
    • ValueNames 옵션을 사용하여 특정 키를 수집합니다.

      {"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\MachineImage","ValueNames":["AMIName"]}

    파일 및 Windows 레지스트리 인벤토리를 수집하는 방법에 대한 자세한 내용은 파일 및 Windows 레지스트리 인벤토리 관련 작업 섹션을 참조하세요.

  7. Amazon S3 버킷에 연결 실행 상태를 저장하고 싶으면 [고급(Advanced)] 섹션에서 [인벤토리 실행 로그를 Amazon S3 버킷에 동기화(Sync inventory execution logs to an Amazon S3 bucket)]를 선택합니다.

  8. 인벤토리 설정을 선택합니다. Systems Manager가 State Manager 연결을 생성하고 노드에 대해 Inventory를 즉시 실행합니다.

  9. 탐색 창에서 State Manager를 선택합니다. AWS-GatherSoftwareInventory 문서를 사용하는 새로운 연결이 생성되었는지 확인합니다. 연결 일정표는 rate 표현식을 사용합니다. 또한 상태 필드에 성공이 표시되는지 확인합니다. [Amazon S3 버킷으로 인벤토리 실행 로그 동기화(Sync inventory execution logs to an Amazon S3 bucket)] 옵션을 선택하는 경우 몇 분 후 Amazon S3에서 로그 데이터를 볼 수 있습니다. 특정 노드에 대한 인벤토리 데이터를 보려는 경우 탐색 창에서 관리형 인스턴스를 선택합니다.

  10. 노드를 선택한 후 세부 정보 보기(View detail)를 선택합니다.

  11. 노드 세부 정보 페이지에서 인벤토리(Inventory)를 선택합니다. 인벤토리 유형 목록을 사용하여 인벤토리를 필터링합니다.