티스토리 뷰

개요

  • Amazon EC2 인스턴스 콘솔에 로그인하려면 해당 인스턴스가 퍼블릭 IP를 가지고, 보안 정책에 의해 SSH 연결이 허용되어야 하며, SSH Key 키페어 파일을 소유해야 한다. 보안을 위해 1개의 Bastion 퍼블릭 호스트를 두고 프라이빗 서브넷에 위치한 n개의 인스턴스에 로그인하는 방법도 있지만 본질적인 절차는 동일하다. AWS Systems Manager을 이용하면 AWS-CLI가 설치된 모든 컴퓨터에서 키페어 파일 없이 프라이빗 서브넷에 위치한 EC2 인스턴스 콘솔에 로그인할 수 있다. 이번 글에서는 이를 위한 절차를 소개하고자 한다.

EC2 IAM 역할에 AmazonSSMManagedInstanceCore 정책 추가

  • AWS Systems Manager을 이용하여 특정 EC2 인스턴스의 콘솔에 로그인하려면, 가장 먼저 해당 인스턴스의 IAM 역할에 AmazonSSMManagedInstanceCore 정책이 추가되어야 한다.

EC2에 설치된 Amazon SSM Agent 업데이트 및 재시작

  • AWS Systems Manager을 이용하여 특정 EC2 인스턴스의 콘솔에 로그인하려면 해당 인스턴스에 Amazon SSM Agen가 설치되어 있어야 한다. Amazon Linux 2 운영체제로 생성된 모든 EC2 인스턴스는 기본적으로 Amazon SSM Agent가 설치되어 있으며, 호환성을 위해 아래와 같이 최신 버전으로 업데이트 후 서비스를 재시작한다.
# amazon-ssm-agent 패키지 최신 버전으로 업데이트
$ sudo yum update amazon-ssm-agent

# amazon-ssm-agent 서비스 재시작
$ sudo systemctl restart amazon-ssm-agent

사용자 계정 로그인 활성화

  • AWS Systems Manager을 통한 EC2 인스턴스 연결시 기본적으로 ssm-user 계정으로 로그인된다. ec2-user 등의 다른 계정으로의 로그인을 원할 경우 아래와 같이 설정할 수 있다.
AWS Systems Manager 콘솔 접속
→ 노드 관리 → [SessionManager Manager] 클릭

# 세션 관리자
→ [기본 설정] 클릭
→ [편집] 클릭
→ [Linux 인스턴스에 대해 Run As 지원 활성화] 체크
→ Operating system user name: ec2-user (입력)
→ Linux shell profile: /bin/bash (개행) cd ~
→ [저장] 클릭

Session Manager 플러그인 설치

  • EC2에 연결하고자 하는 컴퓨터에는 AWS가 제공하는 Session Manager 플러그인을 설치해야 한다.
# Windows 10은 아래 파일 설치
https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe

EC2 콘솔 로그인

  • 이제 모든 준비가 끝났다. AWS-CLI를 이용하여 아래와 같이 퍼블릭 및 프라이빗 서브넷에 존재하는 EC2 인스턴스에 콘솔 로그인이 가능하다.
# EC2 콘솔 로그인
$ aws ssm start-session --target {ec2-instance-id}

참고 글

댓글
댓글쓰기 폼