간혹 SSH의 키관리가 부담스럽거나, 패스워드로 접근하는게 보안상 부담스러우신 분들
그리고 추가적으로 VPC내 private subnet에 잠자고 있는 EC2의 경우에 해당 옵션을 이용해볼 수 있습니다.
보안적으로도 우수하기 때문에 AWS에서도 권장하는 방식입니다.
이 방식은 SSM Agent를 이용해 IAM 인증권한을 통해 접근하는 방식입니다.
자세한 건 공식문서를 확인해봅시다.
https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/session-manager.html
IAM 역할 생성
EC2가 AWS System Manager(SSM)에 접근할 권한이 필요합니다. 구체적으로 AmazonSSMManagedInstanceCore 해당 역할이 필요합니다.
IAM > 역할 생성으로 접근합니다.
신뢰할 수 있는 엔터티에서 EC2를 선택합니다.
권한 추가에서 AmazonSSMManagedInstanceCore를 선택하신 후 다음
이름은 본인이 좋아하는 예쁜 이름을 지어줍니다. 그리고 맨 아래 [역할 생성] 버튼을 클릭하시면 됩니다.
그럼 이 역할은 EC2에서 사용할 수 있는 역할이므로 EC2서비스로 이동합니다.
내가 원하는 인스턴스를 선택하고 작업 > 보안 > IAM 역할 수정을 선택합니다.
자 이제 모든 준비가 완료되었습니다.
AWS 콘솔에서 접근
이제부터는 접근 방법입니다. 콘솔 접근부터 알아봅시다.
아까 만든 SSMQuickStart를 선택하고 IAM 역할 업데이트를 눌러줍니다.
이제 인스턴스 선택 후 연결 버튼을 클릭합니다.
Session Manager에서도 연결 버튼이 활성화 된 것을 확인할 수 있습니다.
CLI에서 접근
이제는 내 컴퓨터에서 CLI로 접근하는 방법을 알아보겠습니다. (Mac OS 기준)
먼저 awscli가 없으시면 이것을 먼저 설치하고 aws-session-manager-plugin을 설치합니다.
# AWS CLI 설치
brew install awscli
# AWS Session Manager Plugin 설치
brew tap dkanejs/aws-session-manager-plugin
brew install aws-session-manager-plugin
그 후 해당 방식으로 접근하시면 됩니다.
aws ssm start-session --target <EC2 인스턴스 ID>
이상입니다.