Systems Manager 콘솔의 관리형 인스턴스에 EC2 인스턴스가 나타나지 않는 이유는 무엇입니까?

최종 업데이트 날짜: 2021년 6월 21일

AWS Systems Manager 콘솔의 관리형 인스턴스에 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 나타나지 않습니다.

간략한 설명

관리형 인스턴스는 Systems Manager와 함께 사용하도록 구성된 Amazon EC2 인스턴스입니다. 관리형 인스턴스는 Run Command, Patch Manager 및 Session Manager와 같은 Systems Manager 서비스를 사용할 수 있습니다.

관리형 인스턴스가 되려면 인스턴스가 다음 사전 조건을 충족해야 합니다.

  • AWS Systems Manager 에이전트(SSM 에이전트)가 설치되어 실행 중입니다.
  • SSM 에이전트를 사용하여 Systems Manager 엔드포인트에 연결되어 있습니다.
  • 올바른 AWS Identity and Access Management(IAM) 역할이 연결되어 있습니다.
  • 인스턴스 메타데이터 서비스에 연결되어 있습니다.

또한 AWSSupport-TroubleshootManagedInstance Systems Manager 자동화 문서를 실행하여 인스턴스가 관리형 인스턴스로 나열된 필수 구성 요소를 충족하는지 여부를 확인할 수 있습니다. 자세한 내용은 AWSSupport-TroubleshootManagedInstance를 참조하세요.

참고: 하이브리드 인스턴스의 경우 하이브리드 환경을 위한 AWS Systems Manager 설정을 참조하세요.

해결 방법

참고: 이 해결 방법을 시작하기 전에 인스턴스가 있는 리전을 선택하세요.

인스턴스가 다음 사전 조건을 충족하는지 확인합니다.

인스턴스에 SSM 에이전트가 설치되어 실행 중임

운영 체제가 Systems Manager에서 지원되는지 확인합니다. 지원되는 운영 체제 목록은 지원되는 운영 체제를 참조하세요.

SSM 에이전트는 일부 Windows 및 Linux Amazon Machine Image(AMI)에 사전 설치되어 있습니다. SSM 에이전트가 사전 설치된 AMI 목록은 다음을 참조하세요.

Linux: Linux용 EC2 인스턴스에 SSM 에이전트 설치 및 구성

Windows: Windows Server용 EC2 인스턴스에 SSM 에이전트 설치 및 구성

SSM 에이전트가 사전 설치되어 있지 않은 경우 에이전트를 수동으로 설치해야 합니다.

Linux: Linux용 EC2 인스턴스에 SSM 에이전트 수동 설치

Windows: Windows Server용 EC2 인스턴스에 SSM 에이전트 수동 설치

SSM 에이전트의 상태를 확인하려면 다음 명령을 사용합니다.

Amazon Linux의 경우, RHEL 6(또는 유사한 배포판):

$ sudo status amazon-ssm-agent

Amazon Linux 2의 경우, Ubuntu, RHEL 7(또는 유사한 배포판):

$ sudo systemctl status amazon-ssm-agent

Snap을 사용하는 Ubuntu 18.04 이상 시스템의 경우:

$ sudo snap services amazon-ssm-agent

Windows의 경우:

$ Get-Service AmazonSSMAgent

포트 443에서 Systems Manager 엔드포인트에 대한 연결 확인

연결을 확인하는 가장 좋은 방법은 운영 체제에 따라 다릅니다.

중요: 다음 명령 예제에서RegionID를 사용자의 AWS 리전 ID로 바꿉니다.

리전별 Systems Manager 엔드포인트 목록은 AWS Systems Manager 엔드포인트 및 할당량을 참조하세요.

참고: 다음 예제에서 ssmmessages 엔드포인트는 AWS Systems Manager Session Manager에만 필요합니다.

EC2 Linux 인스턴스의 경우: telnet netcat 명령을 사용하여 포트 443에서 엔드포인트에 대한 연결을 확인할 수 있습니다.

Telnet

telnet ssm.RegionID.amazonaws.com 443
telnet ec2messages.RegionID.amazonaws.com 443
telnet ssmmessages.RegionID.amazonaws.com 443

성공 연결 예:

root@111800186:~# telnet ssm.us-east-1.amazonaws.com 443
Trying 52.46.141.158...
Connected to ssm.us-east-1.amazonaws.com.
Escape character is '^]'.

텔넷을 종료하려면 Ctrl 키를 누른 상태로 ] 키를 누릅니다. quit을 입력한 다음 Enter 키를 누릅니다.

Netcat

nc -vz ssm.RegionID.amazonaws.com 443
nc -vz ec2messages.RegionID.amazonaws.com 443
nc -vz ssmmessages.RegionID.amazonaws.com 443

참고: Netcat은 Amazon EC2 인스턴스에 사전 설치되어 있지 않습니다. Netcat을 수동으로 설치하려면 Nmap 웹 사이트에서 Ncat을 참조하십시오.

EC2 Windows 인스턴스의 경우: 다음 Windows PowerShell 명령을 사용하여 포트 443에서 엔드포인트에 대한 연결을 확인할 수 있습니다.

Test-NetConnection ssm.RegionID.amazonaws.com -port 443
Test-NetConnection ec2messages.RegionID.amazonaws.com -port 443
Test-NetConnection ssmmessages.RegionID.amazonaws.com -port 443

퍼블릭 서브넷의 경우: Systems Manager 엔드포인트는 퍼블릭 엔드포인트입니다. 즉, 인스턴스가 인터넷 게이트웨이를 사용하여 인터넷에 연결할 수 있어야 합니다. 퍼블릭 서브넷의 인스턴스에서 엔드포인트에 연결하는 데 문제가 있는 경우 다음 사항을 확인합니다.

프라이빗 서브넷의 경우: 인스턴스는 NAT 게이트웨이를 사용하여 인터넷에 연결할 수 있어야 합니다. 또는 프라이빗 서브넷의 인스턴스에 대해 Systems Manager 엔드포인트에 연결되도록 VPC 엔드포인트를 구성할 수 있습니다. 이를 통해 프라이빗 IP 주소를 사용하여 Amazon EC2 및 Systems Manager API에 비공개로 액세스할 수 있습니다. 자세한 내용은 Systems Manager를 사용하여 인터넷 액세스 없이 프라이빗 EC2 인스턴스를 관리할 수 있도록 VPC 엔드포인트를 생성하려면 어떻게 해야 합니까?를 참조하세요.

참고: 각 인터페이스 엔드포인트는 제공된 서브넷에 탄력적 네트워크 인터페이스를 생성합니다.

프라이빗 서브넷에 대한 보안 모범 사례로 다음 규칙이 적용되었는지 확인합니다.

  • VPC 엔드포인트가 사용하는 네트워크 인터페이스에 연결된 보안 그룹은 인스턴스에 연결된 보안 그룹의 포트 443 인바운드를 허용합니다.
  • 인스턴스에 연결된 보안 그룹은 VPC 엔드포인트가 사용하는 네트워크 인터페이스의 프라이빗 IP 주소로 포트 443 아웃바운드를 허용합니다.

올바른 IAM 역할이 인스턴스에 연결되어 있는지 확인

Systems Manager 엔드포인트에 API를 호출하려면 AmazonSSMManagedInstanceCore 권한 정책을 인스턴스에 연결된 IAM 역할에 연결해야 합니다. 사용자 지정 IAM 정책을 사용하는 경우 사용자 지정 정책이 AmazonSSMManagedInstanceCore에 있는 권한을 사용하는지 확인합니다. 또한 IAM 역할의 신뢰 정책에서 ec2.amazonaws.com이 이 역할을 위임하도록 허용하는지 확인합니다.

자세한 내용은 Systems Manager 인스턴스 프로파일에 권한 추가(콘솔)를 참조하세요.

인스턴스 메타데이터 서비스에 대한 연결 확인

인스턴스에 대한 필수 정보를 가져오려면 SSM 에이전트가 인스턴스 메타데이터 서비스와 통신해야 합니다. Netcat 명령을 사용하여 연결을 테스트하세요.

nc -vz 169.254.169.254 80

인스턴스에서 프록시를 사용하는 경우 프록시가 메타데이터 URL에 대한 연결을 차단할 수 있습니다. SSM 에이전트가 프록시를 사용하도록 구성되었는지 확인합니다. 프록시를 사용하도록 SSM 에이전트를 구성하려면 다음을 참조하세요.

Windows: Windows Server 인스턴스에 프록시를 사용하도록 SSM 에이전트 구성

Linux: 프록시(Linux)를 사용하도록 SSM 에이전트 구성

문제 해결

인스턴스가 계속 Systems Manager 콘솔에 관리형 인스턴스로 표시되지 않는 경우, SSM 에이전트 로그를 참조하여 추가 문제를 해결하세요.

Windows: Windows용 SSM 에이전트 로그는 %PROGRAMDATA%\Amazon\SSM\Logs에 있습니다.

Linux: Linux용 SSM 에이전트 로그는 /var/log/amazon/ssm에 있습니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?