EC2 - Session Manager

Seoyeon·2025년 10월 2일
0

배포

목록 보기
4/4

EC2 세션 관리자(Session Manager) '온라인 상태 아님' 오류 해결 과정 총정리

세션 관리자(Session Manager)란?

  • EC2 인스턴스에 안전하게 접속하기 위한 AWS의 공식 기능
  • 기존의 SSH 방식처럼 .pem 키 파일을 사용하거나 22번 포트를 외부에 열어둘 필요 없이, 오직 IAM 권한만으로 AWS 웹 콘솔에서 바로 인스턴스 터미널에 접속할 수 있게 해줌
  • 보안과 편의성 두 마리 토끼를 모두 잡을 수 있어 사용이 강력히 권장

문제 : SSM 에이전트가 온라인 상태가 아닙니다

EC2 콘솔에서 인스턴스를 선택하고 [연결] 버튼

SSM 에이전트가 온라인 상태가 아닙니다
SSM 에이전트가 Systems Manager 엔드포인트에 연결하여 서비스에 등록할 수 없습니다.

이 메시지는 EC2 인스턴스(직원)가 SSM 서비스(본사)에 출근 등록을 해야 하는데, 출입증(권한)이 없거나 본사로 가는 길(네트워크)이 막혔다는 신호

공식 문서의 정석 해결책 (IAM 역할과 보안 그룹)

1. IAM 역할 확인

  • (EC2의 출입증)

  • EC2 인스턴스가 SSM과 통신할 권한이 있는지 확인

    • 체크리스트: EC2 인스턴스에 AmazonSSMManagedInstanceCore 정책이 포함된 IAM 역할(Role)이 연결되어 있는가?
    • 해결 방법:
      1. IAM 콘솔에서 EC2-SSM-Role 같은 이름으로 역할을 생성
      2. 권한 정책으로 AmazonSSMManagedInstanceCore를 검색하여 연결
      3. EC2 콘솔의 [작업] > [보안] > [IAM 역할 수정] 메뉴에서 생성한 역할을 인스턴스에 연결

2. 네트워크(보안 그룹) 확인

  • EC2 인스턴스가 외부의 SSM 엔드포인트와 통신할 수 있는 경로가 열려 있는지 확인

    • 체크리스트: 보안 그룹의 아웃바운드 규칙이 HTTPS (포트 443) 트래픽을 허용하는가?
    • 해결 방법:
      1. EC2 인스턴스에 연결된 보안 그룹의 **아웃바운드 규칙**을 확인합니다.
      2. 유형: HTTPS (443) 또는 모든 트래픽, 대상: 0.0.0.0/0 규칙이 있는지 확인합니다. (보통 기본 설정은 모든 아웃바운드를 허용합니다.)

그래도 안될시 원인을 직접 찾아보기 (로그 확인)

기본적인 방법이 통하지 않을 땐, EC2 인스턴스에 직접 들어가서 SSM 에이전트가 남긴 로그를 확인!

난관 봉착: Permission denied

로그를 보기 위해 EC2 Instance Connect나 SSH로 서버에 접속한 뒤, 아래 명령어 실행

sudo tail -f /var/log/amazon/ssm/amazon-ssm-agent.log

새로고침과 재부팅

로그는 정상이지만 콘솔에서는 여전히 '오프라인'으로 표시되는 이 상황의 원인은 바로 '상태 정보 갱신의 지연' 이었습니다.

  1. AWS 콘솔 새로고침 (F5, Ctrl+R)
  2. EC2 인스턴스 재부팅: IAM 역할을 새로 적용한 경우, 인스턴스를 재부팅하여 모든 서비스가 새로운 권한을 깔끔하게 인지하고 시작하도록 하는 것이 가장 확실한 방법...

0개의 댓글