관리형 노드 가용성 문제 해결 - AWS Systems Manager

관리형 노드 가용성 문제 해결

Run Command, Distributor, Session Manager와 같은 여러 AWS Systems Manager 기능의 경우 작업을 실행할 관리형 노드를 수동으로 선택하도록 할 수 있습니다. 이러한 경우 노드를 수동으로 선택하도록 지정한 후, 작업을 실행할 수 있는 관리형 노드 목록이 표시됩니다.

이 주제에서는 실행 중인 것으로 확인된 관리형 노드가 Systems Manager의 관리형 노드 목록에 포함되지 않은 이유를 진단합니다.

노드가 Systems Manager에서 관리되고 관리형 노드 목록에서 사용 가능하게 하려면 다음 3가지 기본 요구 사항을 충족해야 합니다.

  • SSM Agent는 지원되는 운영 체제가 있는 노드에 설치되어 실행 중이어야 합니다.

    참고

    일부 AWS 관리형 Amazon Machine Images(AMIs)는 SSM Agent가 사전 설치된 인스턴스를 시작하도록 구성됩니다. SSM Agent를 미리 설치하도록 사용자 정의 AMI를 구성할 수도 있습니다. 자세한 내용은 SSM Agent가 사전 설치된 상태로 AMIs 검색 단원을 참조하십시오.

  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 AWS Identity and Access Management(IAM) 인스턴스에 대한 인스턴스 프로파일을 첨부해야 합니다. 인스턴스 프로파일을 사용하면 인스턴스가 Systems Manager 서비스와 통신할 수 있습니다. 인스턴스에 인스턴스 프로파일을 할당하지 않으면 일반적인 시나리오가 아닌 하이브리드 정품 인증을 사용하여 인스턴스를 등록합니다.

  • SSM Agent는 서비스에 자신을 등록하기 위해 Systems Manager 엔드포인트에 연결할 수 있어야 합니다. 그 이후에는 서비스에서 관리형 노드를 사용할 수 있어야 하며, 이는 인스턴스 상태를 확인하기 위해 5분마다 신호를 보내는 서비스에 의해 확인됩니다.

  • 관리형 노드의 상태가 30일 이상 Connection Lost한 후에는 해당 노드가 Fleet Manager 콘솔에 더 이상 나열되지 않을 수 있습니다. 목록으로 복원하려면 연결이 끊긴 문제를 해결해야 합니다.

관리형 노드가 실행 중인지 확인한 후 다음 명령을 사용하여 SSM Agent가 Systems Manager 서비스에 등록되었는지 확인할 수 있습니다. 이 명령은 성공적으로 등록될 때까지 결과를 반환하지 않습니다.

Linux & macOS
aws ssm describe-instance-associations-status \ --instance-id instance-id
Windows
aws ssm describe-instance-associations-status ^ --instance-id instance-id
PowerShell
Get-SSMInstanceAssociationsStatus ` -InstanceId instance-id

등록이 완료되고 이제 관리형 노드를 Systems Manager 작업에 사용할 수 있는 경우 명령은 다음과 유사한 결과를 반환합니다.

{
    "InstanceAssociationStatusInfos": [
        {
            "AssociationId": "fa262de1-6150-4a90-8f53-d7eb5EXAMPLE",
            "Name": "AWS-GatherSoftwareInventory",
            "DocumentVersion": "1",
            "AssociationVersion": "1",
            "InstanceId": "i-02573cafcfEXAMPLE",
            "Status": "Pending",
            "DetailedStatus": "Associated"
        },
        {
            "AssociationId": "f9ec7a0f-6104-4273-8975-82e34EXAMPLE",
            "Name": "AWS-RunPatchBaseline",
            "DocumentVersion": "1",
            "AssociationVersion": "1",
            "InstanceId": "i-02573cafcfEXAMPLE",
            "Status": "Queued",
            "AssociationName": "SystemAssociationForScanningPatches"
        }
    ]
}

등록이 아직 완료되지 않았거나 실패한 경우 명령은 다음과 유사한 결과를 반환합니다.

{
    "InstanceAssociationStatusInfos": []
}

명령이 5분 정도 후에도 결과를 반환하지 않으면 다음 정보를 사용하여 관리형 노드의 문제를 해결하는 데 도움이 됩니다.

해결 방법 1: SSM Agent가 관리형 노드에 설치되어 실행 중인지 확인

SSM Agent의 최신 버전이 관리형 노드에 설치되어 실행되고 있는지 확인합니다.

SSM Agent가 관리형 노드에 설치되어 실행 중인지 확인하려면 SSM Agent 상태 확인 및 에이전트 시작 섹션을 참조하세요.

관리형 노드에 SSM Agent를 설치하거나 다시 설치하려면 다음 주제를 참조하세요.

해결 방법 2: 인스턴스에 대해 IAM 인스턴스 프로파일이 지정되었는지 확인(EC2 인스턴스만 해당)

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 Systems Manager API와 통신하도록 허용하는 AWS Identity and Access Management(IAM) 인스턴스 프로파일로 구성되어 있는지 확인합니다. 또한 사용자가 시스템 관리자 API와 통신할 수 있는 IAM 신뢰 정책이 있는지도 확인합니다.

참고

온프레미스 서버, 엣지 디바이스 및 가상 머신(VM)은 인스턴스 프로파일 대신 IAM 서비스 역할을 사용합니다. 자세한 내용은 하이브리드 및 멀티클라우드 환경에서 Systems Manager에 필요한 IAM 서비스 역할 생성을 참조하세요.

필요한 권한이 있는 인스턴스 프로파일이 EC2 인스턴스에 연결되어 있는지 확인
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 인스턴스 프로파일을 확인할 인스턴스를 선택합니다.

  4. 하단 창의 [설명(Description)] 탭에서 [IAM 역할(IAM role)]을 찾고 역할의 이름을 선택합니다.

  5. 인스턴스 프로파일에 대한 역할 [요약(Summary)] 페이지의 [권한(Permissions)] 탭에서 AmazonSSMManagedInstanceCore가 [권한 정책(Permissions policies)] 아래에 나열되어 있는지 확인합니다.

    대신 사용자 정의 정책을 사용하는 경우 AmazonSSMManagedInstanceCore와 동일한 권한을 제공하는지 확인합니다.

    콘솔에서 AmazonSSMManagedInstanceCore 열기

    Systems Manager용 인스턴스 프로파일에 연결할 수 있는 다른 정책에 대한 자세한 내용은 Systems Manager에 필요한 인스턴스 권한 구성을 참조하세요.

해결 방법 3: 서비스 엔드포인트 연결 확인

인스턴스가 Systems Manager 서비스 엔드포인트에 연결되어 있는지 확인합니다. 이러한 연결은 Systems Manager에 VPC 엔드포인트를 생성 및 구성하거나 서비스 엔드포인트에 대한 HTTPS(포트 443) 아웃바운드 트래픽을 허용함으로써 이루어집니다.

Amazon EC2 인스턴스에서는, AWS 리전에 대한 Systems Manager 서비스 엔드포인트는 Virtual Private Cloud(VPC) 구성에서 아웃바운드 트래픽을 허용하는 경우 인스턴스를 등록하는 데 사용됩니다. 그러나 인스턴스가 시작된 VPC 구성에서 아웃바운드 트래픽을 허용하지 않고 퍼블릭 서비스 엔드포인트에 대한 연결을 허용하도록 이 구성을 변경할 수 없는 경우, 대신 VPC에 대한 인터페이스 엔드포인트를 구성해야 합니다.

자세한 내용은 Systems Manager용 VPC 엔드포인트를 사용하여 EC2 인스턴스의 보안 개선을 참조하세요.

해결 방법 4: 대상 운영 체제 지원 확인

선택한 작업이 나열될 것으로 예상되는 관리형 노드 유형에서 실행될 수 있는지 확인합니다. 일부 Systems Manager 작업은 Windows 인스턴스 또는 Linux 인스턴스만 대상으로 할 수 있습니다. 예를 들어 Systems Manager(SSM) AWS-InstallPowerShellModuleAWS-ConfigureCloudWatch는 Windows 인스턴스에서만 실행할 수 있습니다. [명령 실행(Run a command)] 페이지에서 이러한 문서 중 하나를 선택하고 [수동으로 인스턴스 선택(Choose instances manually)]을 선택하면 Windows 인스턴스만 나열되고 선택할 수 있습니다.

해결 방법 5: Amazon EC2 인스턴스와 동일한 AWS 리전에서 작업 중인지 확인

Amazon EC2 인스턴스는 미국 동부(오하이오) 리전(us-east-2) 또는 유럽(아일랜드) 리전(eu-west-1)과 같은 특정 AWS 리전에서 생성 및 사용 가능합니다. 작업하려는 Amazon EC2 인스턴스와 동일한 AWS 리전에서 작업하고 있는지 확인합니다. 자세한 내용은 AWS Management Console 시작하기에서 리전 선택을 참조하세요.

솔루션 6: 관리형 노드의 SSM Agent에 적용한 프록시 구성 확인

관리형 노드의 SSM Agent에 적용한 프록시 구성이 올바른지 확인합니다. 프록시 구성이 올바르지 않으면 노드가 필요한 서비스 엔드포인트에 연결할 수 없거나 Systems Manager가 관리형 노드의 운영 체제를 잘못 식별할 수 있습니다. 자세한 내용은 SSM Agent를 구성하여 Linux 노드에 프록시 사용Windows Server 인스턴스에 프록시를 사용하도록 SSM Agent 구성 단원을 참조하세요.

솔루션 7: 관리형 인스턴스에 TLS 인증서 설치

AWS Systems Manager와(과) 함께 사용하는 각 관리형 인스턴스에 TLS(전송 계층 보안) 인증서를 설치해야 합니다. AWS 서비스은(는) 이러한 인증서를 사용하여 다른 AWS 서비스에 대한 호출을 암호화합니다.

Amazon Machine Image(AMI)에서 생성된 각 Amazon EC2 인스턴스에는 TLS 인증서가 기본적으로 이미 설치되어 있습니다. 대부분의 최신 운영 체제에는 신뢰 저장소에 Amazon Trust Services CA의 필수 TLS 인증서가 포함되어 있습니다.

인스턴스에 필요한 인증서가 설치되어 있는지 확인하려면 인스턴스의 운영 체제에 따라 다음 명령을 실행합니다. 관리형 인스턴스가 위치한 URL 리전 부분을 AWS 리전로 교체하세요.

Linux & macOS
curl -L https://ssm.region.amazonaws.com
Windows
Invoke-WebRequest -Uri https://ssm.region.amazonaws.com

명령이 UnknownOperationException 에러를 반환합니다. 대신 SSL/TLS 오류 메시지가 나타나면 필요한 인증서가 설치되지 않을 수 있습니다.

필수 Amazon Trust Services CA 인증서가 기본 운영 체제, Amazon에서 제공하지 않는 AMIs에서 생성된 인스턴스 또는 자체 온프레미스 서버와 VM에 설치되어 있지 않은 경우 Amazon Trust Services의 인증서를 설치하여 활성화하거나 AWS Certificate Manager(ACM)를 사용하여 지원되는 통합 서비스에 대한 인증서를 생성하고 관리해야 합니다.

각 관리형 인스턴스에 다음과 같은 TLS(전송 계층 보안) 인증서가 하나 설치되어 있어야 합니다.

  • Amazon Root CA 1

  • Starfield Services Root Certificate Authority - G2

  • Starfield Class 2 인증 기관

ACM 사용에 대한 자세한 내용은 AWS Certificate Manager User Guide를 참조하세요.

GPO(그룹 정책 객체)로 인증서를 관리하는 컴퓨팅 환경이라면 이러한 인증서 중 하나가 포함되도록 그룹 정책을 구성해야 합니다.

Amazon Root 및 Starfield 인증서에 대한 자세한 내용은 블로그 게시물 How to Prepare for AWS’s Move to Its Own Certificate Authority를 참조하세요.