[AWS] AWS SSM을 이용한 EC2 인스턴스 연결 (SSH 대체)
이번 글에서는 AWS Systems Manager Session Manager(SSM)을 이용하여 SSH 키 없이 EC2 인스턴스에 접속하는 방법을 알아봅니다. 이를 위해 IAM 역할과 정책을 설정하고, EC2 인스턴스를 생성한 후, SSM을 통해 원격 접속을 수행합니다.
1. SSM 세션 연결을 위한 IAM 역할 및 정책 설정
SSM을 사용하려면 EC2 인스턴스가 AWS Systems Manager와 통신할 수 있도록 IAM 역할을 할당해야 합니다. Amazon에서는 이를 위해 AmazonEC2RoleforSSM이라는 정책을 미리 제공하고 있습니다.
IAM 역할 생성
AWS 콘솔에서 IAM > 역할(Role)로 이동합니다.
역할 생성 버튼을 클릭합니다.
서비스 또는 사용 사례에서 EC2를 선택합니다.
권한 정책에서 AmazonEC2RoleforSSM을 선택합니다.
역할 이름을 SSM-Instance-msjwa로 설정합니다.
생성 버튼을 클릭하여 역할을 생성합니다.
2. EC2 인스턴스 생성
이제 IAM 역할을 적용한 EC2 인스턴스를 생성합니다.
EC2 인스턴스 설정
콘솔>EC2>EC2 생성
인스턴스 이름: my-instance-ec2-msjwa
Amazon Machine Image(AMI): Amazon Linux 2023
인스턴스 유형: t2.micro
키페어 설정: 키페어 없이 진행 (SSM을 이용하여 접속할 것이므로 필요 없음)
- 네트워크 설정
- VPC: myvpc
- 서브넷: 첫 번째 퍼블릭 서브넷 (10.0.1.0/24)
- 퍼블릭 IP 자동 할당: 활성화
- 보안 그룹 설정
- 새 보안 그룹 생성
- 인바운드 규칙 삭제 (SSM을 통해 접속할 것이므로 SSH(22) 포트 열 필요 없음)
고급 세부 정보에서 IAM 인스턴스 프로파일에서 앞서 만든 SSM-Instance-msjwa 역할 선택
인스턴스 시작 버튼을 클릭하여 EC2 인스턴스를 생성합니다.
인스턴스 생성된 것을 확인
IAM 역할 확인
- 인스턴스 생성 후 EC2 > 인스턴스 > 해당 인스턴스 선택
- 세부 정보 > 보안 탭에서 IAM 역할이 정상적으로 연결되었는지 확인
- 현재 인바운드/아웃바운드 규칙이 없음에도 원격 로그인 가능 → SSM을 이용한 접속 방식이 정상적으로 설정된 것
3. SSM Session Manager를 이용한 인스턴스 연결
SSM Session Manager 접속 방법
연결할 인스턴스 선택하고 연결 버튼 클릭
연결 방법에서 Session Manager 선택
연결 버튼을 클릭하면 웹 브라우저에서 SSM을 통해 터미널이 실행됨
연결 확인
터미널에서 다음 명령어를 실행하여 접속이 정상적으로 이루어졌는지 확인
uname -a # 운영체제 정보 확인
id # 현재 로그인한 사용자 확인
id 명령어를 실행하면 ssm-user라는 계정으로 접속된 것을 확인할 수 있음 → SSH 키 없이 AWS SSM을 통해 원격 접속 성공!
4. 마무리: 인스턴스 종료
EC2 > 인스턴스에서 my-instance-ec2-msjwa 선택
인스턴스 상태에서 인스턴스 종료 클릭
여기까지 SSM을 이용하여 SSH 키 없이 EC2 인스턴스에 안전하게 접속하는 방법입니다.