구름

AWS Session Manager (SSM) - Linux 본문

Cloud/일반

AWS Session Manager (SSM) - Linux

Cloudest 2021. 2. 26. 15:57
 

Cloudest - 블로그 이사했습니다

노션으로 블로그를 옮겼습니다.

흥미로운 포스팅이 올라옵니다!

cloudest.oopy.io

🛠
준비물 : Amazon EC2로 생성된 Linux 인스턴스 (실습은 CentOS 8 사용)

 

Session Manager란?

  • Shell에 Access 할 수 있는 새로운 옵션으로 브라우저 기반의 Interactive Shell과 CLI를 사용하여 Windows 및 Linux 인스턴스를 관리할 수 있다.
  • Session Manager은 다음 기능을 제공한다.
    1. 보안 액세스 : 수동으로 인스턴스에 계정정보나 SSH키를 입력할 필요가 없고, 인바운드 포트 개방이 필요하지 않다. (22번 ssh를 열어줄 필요가 없는 것)
    1. 액세스 제어 : IAM 기반 액세스 제어 및 날짜 조건 연산자를 사용한 탄력적인 액세스 제한
    1. 감사 용이성 : Session Manager를 통한 명령과 응답은 Amazon CloudWatch 및 S3 버킷에 로깅하거나 SNS로 세션 접속에 대한 알림을 수신할 수 있다.

CentOS8에 SSM Agent 환경 구축

  • SSM Agent를 위해 필요한 것
    • EC2 인스턴스는 SSM 접근을 허용하는 IAM Role 필요하다.
    • EC2 인스턴스는 AWS CLI가 설치돼야 한다.
  • AWSCLI2 설치
    • AWS CLI가 설치되지 않은 Instance는 AWS CLI 설치가 필요하다.
      #패키지 다운 및 설치 
      curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
    • AWS CLI 특정버전을 설치하는 법
      #awscli-exe-linux-x86_64-버전.zip 
      curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
    • aws --version 명령으로 설치 확인
  • SSM Agent 설치방법
    1. EC2에 SSM을 위한 IAM 역할 연결
    1. 아래 명령을 통해 SSM Agent Plugin을 다운받고 설치한다.
      #Plugin 다운로드 
      #Intel 64-bit (x86_64) 
      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm" 
      #ARM 64-bit (arm64) 
      curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
      #패키지 설치 
      sudo yum install -y session-manager-plugin.rpm
  • 결과 화면
    SSM 접속 화면

    System Manager 콘솔의 관리형 인스턴스 탭에서도 확인 가능하다.

결론

Session Manager를 통해 Shell에 접근할 수 있게 설정했다.

SSH 설정에 대한 실수로 SG가 아닌 서버자체에서 SSH연결이 끊겼다고 가정해보자.
RunCommand / SSM과 같은 방법이 없다면 꽤나 골치가 아파질 것이다. SSM은 이런 만일의 사태에 도움이 될 수도 있을 것이다.

Comments