State Manager 작동 방식 이해 - AWS Systems Manager

State Manager 작동 방식 이해

AWS Systems Manager의 기능인 State Manager는 하이브리드 및 멀티클라우드 인프라에서 관리형 노드를 사용자가 정의하는 상태로 유지하는 프로세스를 자동화하는 안전하고 확장 가능한 서비스입니다.

State Manager의 작동 방식은 다음과 같습니다.

1. AWS 리소스에 적용하려는 상태를 결정합니다.

안티바이러스 또는 멀웨어 애플리케이션 등의 특정 애플리케이션에서 관리형 노드를 구성하도록 하시겠나요? SSM Agent 또는 다른 AWS 패키지(예: AWSPVDriver) 업데이트 프로세스를 자동화하고 싶으신가요? 특정 포트가 열려 있거나 닫혀 있도록 해야 하나요? State Manager로 시작하려면 AWS 리소스에 적용하려는 상태를 결정합니다. 적용하려는 상태에 따라 State Manager 연결을 생성하는 데 사용할 SSM 문서가 결정됩니다.

State Manager 연결은 사용자가 자신의 AWS 리소스에 할당하는 구성입니다. 이러한 구성은 리소스에서 관리하려는 상태를 정의합니다. 예를 들어, 연결은 관리형 노드에서 안티바이러스 소프트웨어가 설치되어 실행 중이어야 하는지 또는 특정 포트가 닫혀 있어야 하는지를 지정할 수 있습니다.

연결은 구성 및 연결 대상을 적용할 시점의 일정을 지정합니다. 예를 들어, 안티바이러스 소프트웨어에 대한 연결은 AWS 계정의 관리형 노드에서 하루에 한 번 실행할 수 있습니다. 노드에 소프트웨어가 설치되어 있지 않으면 연결은 State Manager에 소프트웨어를 설치하도록 지시할 수 있습니다. 소프트웨어가 설치되어 있으나 서비스가 실행 중이 아닌 경우 연결이 State Manager에 해당 서비스의 시작을 지시할 수 있습니다.

2. 사전 구성된 SSM 문서가 AWS 리소스에서 원하는 상태를 생성하는 데 도움이 되는지 확인합니다.

Systems Manager에는 연결을 생성하는 데 사용할 수 있는 수십 개의 사전 구성된 SSM 문서가 있습니다. 사전 구성된 문서는 애플리케이션 설치, Amazon CloudWatch 구성, AWS Systems Manager 자동화, PowerShell 및 셸 스크립트 실행, 관리형 노드를 Active Directory의 디렉터리 서비스 도메인에 조인 등의 일반적인 태스크를 수행할 준비가 되어 있습니다.

Systems Manager 콘솔에서 모든 SSM 문서를 볼 수 있습니다. 문서의 이름을 선택하여 각 문서에 대해 자세히 알아봅니다. AWS-ConfigureAWSPackageAWS-InstallApplication의 두 가지 예가 있습니다.

3. 연결을 생성합니다.

Systems Manager 콘솔, AWS Command Line Interface(AWS CLI), AWS Tools for Windows PowerShell(Tools for Windows PowerShell) 또는 Systems Manager API를 사용하여 연결을 생성할 수 있습니다. 연결을 생성할 때 다음 정보를 지정할 수 있습니다.

  • 연결의 이름입니다.

  • SSM 문서의 파라미터(예: 설치할 애플리케이션 경로 또는 노드에서 실행할 스크립트)입니다.

  • 연결 대상. 태그를 지정하거나, 개별 인스턴스 ID를 선택하거나, AWS Resource Groups에서 그룹을 선택하여 관리형 노드를 대상으로 지정할 수 있습니다. 현재 AWS 리전 및 AWS 계정의 모든 관리형 노드를 대상으로 지정할 수도 있습니다.

  • 상태를 적용할 시간 또는 빈도에 대한 일정. cron 또는 rate 표현식을 지정할 수 있습니다. cron 및 rate 표현식을 사용하여 일정 생성에 대한 자세한 내용은 연결에 대한 Cron 및 Rate 표현식 섹션을 참조하세요.

    참고

    State Manager은(는) 현재 연결에 대한 cron 표현식에서 월 지정을 지원하지 않습니다.

연결 생성을 위한 명령을 실행하면 Systems Manager는 지정한 정보(일정, 대상, SSM 문서 및 파라미터)를 대상으로 지정된 리소스로 바인딩합니다. 시스템에서 모든 대상에 연결하고 연결에 지정된 상태를 즉시 적용하려고 하기 때문에 연결 상태는 처음에 "보류 중"으로 표시됩니다.

참고

이전 연결이 실행 중인 상태에서 실행하도록 예정된 새 연결을 생성하면 이전 연결 시간이 초과되고 새 연결이 실행됩니다.

Systems Manager가 리소스에서 연결을 생성하기 위해 요청 상태를 보고합니다. DescribeInstanceAssociationsStatus API 작업을 사용하여 콘솔 또는 (관리형 노드)의 상태 세부 정보를 볼 수 있습니다. 연결을 생성할 때 명령의 출력을 Amazon Simple Storage Service(Amazon S3)에 쓰기로 선택한 경우 지정한 Amazon S3 버킷에서 출력을 볼 수도 있습니다.

자세한 내용은 Systems Manager에서 연결 작업 단원을 참조하십시오.

참고

연결 실행 중에 SSM 문서에 의해 시작된 API 작업은 AWS CloudTrail에 로깅되지 않습니다.

4. 모니터링 및 업데이트합니다.

연결을 생성하면 State Manager에서 연결에 정의된 일정에 따라 구성을 다시 적용합니다. 연결 상태는 콘솔의 State Manager 페이지에서 보거나 연결 생성 시 Systems Manager가 생성한 연결 ID를 직접 호출하여 볼 수 있습니다. 자세한 내용은 연결 내역 보기 단원을 참조하십시오. 연결 문서를 업데이트하고 필요에 따라 다시 적용할 수 있습니다. 여러 버전의 연결을 생성할 수도 있습니다. 자세한 내용은 새로운 연결 버전 편집 및 생성 단원을 참조하십시오.

리소스에 연결이 적용되는 시기 이해

연결을 생성할 때 구성, 대상 리소스 목록 및 구성 적용 일정을 정의하는 SSM 문서를 지정합니다. 기본적으로 State Manager에서는 연결을 생성할 때와 이후에는 일정에 따라 연결을 실행합니다. State Manager는 또한 다음과 같은 상황에서 연결을 실행하려고 시도합니다.

  • 연결 편집 - State Manager는 사용자가 DOCUMENT_VERSION, PARAMETERS, SCHEDULE_EXPRESSION, OUTPUT_S3_LOCATION 연결 필드를 편집하고 변경 사항을 저장한 후 연결을 실행합니다.

  • 문서 편집 - State Manager는 사용자가 연결 구성 상태를 정의하는 SSM 문서를 편집하고 변경 사항을 저장한 이후에 연결을 실행합니다. 특히 연결은 문서를 다음과 같이 편집한 후에 실행됩니다.

    • 사용자가 새 $DEFAULT 문서 버전을 지정하고 $DEFAULT 버전을 사용하여 연결을 생성했습니다.

    • 사용자가 문서를 업데이트하고 $LATEST 버전을 사용하여 연결을 생성했습니다.

    • 사용자는 연결을 생성할 때 지정된 문서를 삭제합니다.

  • Parameter Store 파라미터 값 변경 - State Manager는 사용자가 연결에 정의된 파라미터 값을 편집한 후 연결을 실행합니다.

  • 수동 시작 - State Manager가 사용자가 Systems Manager 콘솔에서 또는 프로그래밍 방식으로 시작한 경우에 연결을 실행합니다.

  • 대상 변경 - State Manager는 대상 노드에서 다음 활동이 발생한 이후에 연결을 실행합니다.

    • 관리형 노드가 처음 온라인 상태로 전환됩니다.

    • 예약된 연결 실행을 지나친 후 관리형 노드가 온라인 상태로 전환됩니다.

    • 30일 넘게 중지된 경우 이후 관리형 노드가 온라인 상태로 전환됩니다.

    참고

    대상 업데이트는 Systems Manager Automation을 사용하여 생성된 연결에 영향을 미치지 않습니다.