AWS

SSM Session Manager로 Private EC2 접속하기

nooh_ij 2023. 4. 16. 23:14

https://aws.amazon.com/ko/

 

Systems Manager Session Manager

완전 관리형 AWS 서비스로 EC2 및 온프레미스 인스턴스. 가상머신을 브라우저 기반의 쉘 혹은 AWS CLI로 관리할 수 있는 서비스이다.

 

  • 특징

인스턴스에 대해 원클릭 엑세스를 제공하는 관리형 서비스

인스턴스에 SSH연결 ,포트, 베스천 호스트를 유지할 필요 없이 인스턴스에 로그인이 가능하다.

IAM 유저 단위로 제어 가(Key파일로 제어할 필요 없음)

  • 예) 수백개의 인스턴스에 대해 일일이 로그인을 위한 키 파일을 관리해야 할때
  • 개발자 별로 지정된 팀의 인스턴스만 로그인 할 수 있도록 하고 싶을때

웹브라우저 기반으로 OS와 무관하게 사용 가능

로깅과 감사

  • 언제 어디서 누가 접속했는지 확인 가능(CloudTrail)
  • 접속 기록과 사용한 모든 커맨드 및 출력 내역을 S3혹은 CloudWatch로 전송 가능
    • 예) EventBridge 등과 연동하여 실시간으로 접근에 대한 알림을 받을 수 있다.

아마존 Linux에는 SSM agent가 설치되어 있

 

WorkFlow

  • 역할 및 인스턴스 생성

AmazonEC2RoleforSSM 정책이 들어있는 역할 생성한다.

키페어 및 보안그룹에 인바운드가 없는 인스턴스를 생성한다.

 

  • 세션 시작하기

웹기반에 콘솔에서 접속 확인

 

  • CloudWatch 로그 그룹 생성 및 Session Manager 기본설정 편집

CloudWatch logging을 enable시킨다.

CMK로 암호화된 경우에만 허용되는 설정을 해지한다.

  • (Allow only CloudWatch log groups that are encrypted by customers master keys (CMK)

생성한 로그 그룹 선택

 

 

  • 세션 재실행 및 로그 확인

SSM 유저가 어떤 Idntity에 어떤 인스턴스로 어떤 커멘트를 사용했는지, 내용은 무엇인지 확인 할 수 있다.

 

Private instance 연결

  • 요구사항

EC2 Instance에 SSM Agent가 설치되어 있을 것(아마존 Linux2에는 기본으로 설치 됨)

AmazonEC2RoleforSSM 정책이 포함된 역할이 적용될 것

VPC Endpoint가 해당 VPC에 있을 것

  • 기본: SSM, SSMmessages, ec2messages
  • 추가: Logs(로깅 활성화시), S3(s3 로깅 활성화시)

Security Group에서 443포트가 열려 있을 것

 

  • 인스턴스 생성

AmazonEC2RoleforSSM 정책이 포함된 역할이 적용

퍼블릭 IP 자동 할당 비활성화

Security Group에서 443포트 오픈

 

  • 엔드포인트 생성

SSM, SSMmessages, ec2messages, logs 생성

VPC, 서브넷, 보안그룹 설정

 

  • CloudWatch 로그 그룹 생성 및 Session Manager 기본설정 편집 후 실행

댓글수0