AWS Session Manager를 통한 SSH 연결

요약

  • SSM 서비스에 대한 권한을 가진 IAM role 을 만들고 ec2에 instance profile로 연결을 함

  • session-manager에 대한 설정을 함. AWS System Manager - 문서 - SSM-SessionManagerRunShell

 

인바운드 포트를 열고, 배스천 호스트를 유지하고, SSH 키를 관리할 필요 없이 AWS CLI 를 통해서 ec2 instance 접속 가능함.

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/session-manager.html

 

https://aws.amazon.com/ko/blogs/infrastructure-and-automation/toward-a-bastion-less-world/

 

사전 요구사항

 

세션 시작하기

aws ssm start-session --target instance-id

 

Session manager 를 활성화하는 방법은 문서만으로 보았을 때 명확하지 않음. 웹콘손에서 빠른 설정 - Quick setup 을 통해서 설정을 하면 CloudFormation을 이용하여 SSM을 위한 IAM role, SSM-SessionManagerRunShell 세션 유형 문서 (https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/getting-started-sessiondocumentaccesscheck.html ) 등을 자동으로 생성하는 것으로 보임. Quick setup 을 통해서 SSM-SessionManagerRunShell 이 만들어지지만 terraform에서 세부적인 설정을 관리하려면 terraform에서 리소스를 관리하면 됨.

웹콘솔에서 session manager 기본 설정을 편집하면 AWS System Manager - 문서 - SSM-SessionManagerRunShell 가 업데이트 된다. session manager 의 속성을 편집하려면 SSM-SessionManagerRunShell 를 편집하면 된다. session manager 의 로그를 S3, Amazon CloudWatch Logs 로그 그룹 으로 보내기, kms 를 이용한 암호화 등의 설정을 할 수 있다.

 

특정 노드로만 접근을 제어하거나 태그을 이용한 접근제어 등은 다음 내용 참고

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/getting-started-restrict-access-examples.html