본문 바로가기
공부/AWS

[AWS] gossm으로 Local(Windows)에서 Session Manager 사용하기 (핵꿀)

by haejang 2021. 11. 5.
728x90
728x90

 

참고 : https://medium.com/@gjbae1212/aws-ssm-%EC%9D%B4%EC%9A%A9%ED%95%B4-ec2-%EC%A0%91%EC%86%8D%ED%95%98%EB%8A%94-cli-%EA%B0%9C%EB%B0%9C-62c2f7357fb8

 

gossm 다운 : https://github.com/gjbae1212/gossm/releases

 

MAC 쓰는 사람들은 더 쉽게 다운받을 수 있다 (brew 사용)

 

난 윈도우니까 위 다운 페이지에서 윈도우 버전을 받은 후 환경변수 PATH에 등록된 경로에 옮겨줬다

 

 

다음으로 Session Manager를 실행할 수 있는 환경을 구성해 보았다

자세한 설명은 아래 글들을 확인하자

 

필요사항을 요약해보자면

  1. EC2에 SSM Agent가 깔려있어야 함 : 기본 AMI엔 모두 포함되어 있음
  2. EC2에 AmazonEC2RoleforSSM Policy가 붙은 Role을 붙여둬야 함
  3. Internet이 안되는 환경이면 ssm, ssmmessages, ec2messages VPC Endpoint가 필요함

그리고 추가적으로 gossm을 실행하기 위해 CLI 접속용 User의 ACCESS KEY와 SECRET KEY가 필요하다

해당 User에는 ec2:DescribeInstances, ssm:StartSession 권한이 꼭 들어있어야 한다

 

이렇게 되면 EC2 보안그룹에 22(SSH) Port를 열어놓지 않아도 Session Manager를 통해 접속할 수 있다

 

내가 만든 리소스는 아래와 같다

  • igw로의 라우팅이 가능한 Public Subnet에 EIP 붙인 EC2 4개 (SSH Inbound X)
  • 인터넷 통신이 불가능한 Private Subnet에 EIP 없는 EC2 4개 (SSH Inbound X)
  • VPC Endpoint 3개 (ssm, ssmmessages, ec2messages)

 

 

gossm start로 시작해보겠다

 

 

Public / Private EC2들 모두 Session Manager 접속이 잘 된다

 

gossm start -p [프로필명] 을 통해 특정 프로필로 사용할수도 있다고 한다

(sso는 미리 박아두는거밖에 안되나보다)

 

끝!

 

 

728x90
728x90

댓글