SSM-Agent 설치

신동수·2024년 2월 24일
0

AWS

목록 보기
12/26

SSM 을 통한 접근 플로우

SSM 동작 원리

AWS Session Manager 는 AWS System Manager 에서 관리한다.
VPC 내부적으로 System Manager API Endpoint 를 통해 통신을 한다. (EndPoint 생성 시)
클라이언트가 EC2 에 SSM 으로 접근 시 클라이언트는 SSM 과 통신을 하게 된다.

그 후 SSM 에서 인증을 거치는데 IAM User or Role 을 통해서 인증을 하게 된다. (Policy 가 부여 되야함)
여기서 EC2 는 SSM Agent 가 있고, 443 Port 로 아웃바운드가 오픈이 되어야 한다.
그 이유는 AWS SSM Agent에서 AWS SSM에 지속적인 Polling을 통해서 연결을 유지하기 때문에 EC2 Inbound가 열려있지 않아도 연결이 가능한 것

설치 전 유의사항

AWS Endpoint

  • ec2messages.region.amazonaws.com
  • ssm.region.amazonaws.com
  • ssmmessages.region.amazonaws.com

System Manager 를 사용할 리전에는 위 엔드포인트 추가 후 VPC, 사용할 IP 대역을 추가 해줘야 함.

EC2 Role, Policy

  • AmazonSSMManagedInstanceCore

추가로 위 Policy 도 EC2 의 Role 에 추가 되어야 함. (필요한 최소한의 권한 부여를 권장)

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/sysman-manual-agent-install.html
링크를 참고하여 각 OS 맞는 패키지 설치를 해야함

SSM-Agent 설치 확인


Systems Manager > Fleet Manager > 관리형 노드 > 인스턴스 선택
해당 인스턴스에 터미널로 접근을 해야 서버에 ssm-user 가 생성이 된다.


AWS 콘솔로 접근 시 ssm-user 로 접근된 것으로 확인


콘솔에서 1회 접근 후 /etc/passwd 에서 사용자 확인을 한다면 ssm-user 가 추가된 것을 확인할 수 있다.

# 인스턴스 메타데이터 확인
$ curl -s http://169.254.169.254/latest/dynamic/instance-identity/document


/etc/sudoers.d 아래에 ssm-user 가 root 권한 사용할 수 있는 것도 확인을 할 수 있다.

SSM-Agent 한번에 설치


System Manager > 노드 관리 > 인벤토리 위 화면에서 모든 인스턴스 인벤토리를 활성화를 클릭한다면 EC2에 SSM-Agent 를 설치를 하게 된다.
위와 동일하게 EC2 에는 AmazonSSMManagedInstanceCore 정책 필수로 넣어줘야 한다.
+추가
1. 해당 VPC 에 ec2, ec2messages, ssm, ssmmessages 엔드포인트가 있어야한다.
2. 엔드포인트 보안 그룹에는 사용할 서버의 IP 나 대역이 오픈을 해야한다.
3. 만약 EC2와 NACL 을 사용한다면 아웃바운드도 함께 확인을 해야함.

profile
조금씩 성장하는 DevOps 엔지니어가 되겠습니다. 😄

0개의 댓글