기존에 Session Manager로 EC2에 접속하는 글들을 몇 번 썼었다
- [AWS] Session Manager 설치해보기 1 (CentOS 8)
- [AWS] Session Manager 설치해보기 2 (Windows Server 2019)
- [AWS] Session Manager로 RDP 접속하기 (Windows Server)
굉장히 쉽다. 서버 안에 ssm agent만 깔려있고 해당 EC2에 EC2RoleforSSM 정책이 붙은 역할만 붙여주면 된다
그러나 이는 인터넷 연결이 되는 서버에 한한 방법이었다 (나도 몰랐음)
Private EC2에 Session Manager 붙는법 참고
- https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints/
- https://minemanemo.tistory.com/128
Private한 EC2에 Session Manager로 접속하기 위해선 기존 방법에 VPC Endpoint를 추가로 3개 만들어주기만 하면 된다
목차
1. VPC, EC2 설정
2. EC2용 IAM Role 생성
3. VPC Endpoint용 Security group 생성
4. VPC Endpoint 생성
5. Private EC2 접속
1. VPC, EC2 설정
VPC - DNS 호스트 이름, DNS 확인 모두 활성화 시켜야 함
EC2 - ssm agent가 깔려있는 AWS 기본 제공 AMI 사용 (ssm agent 직접 깔아도 상관없음)
인터넷과 원격 접속이 불가하도록 퍼블릭 IP 비활성화 & 아무 인바운드 규칙도 없는 보안 그룹 붙여줌
2. EC2용 IAM Role 생성
AmazonEC2RoleforSSM 정책이 붙어있는 EC2용 Role 생성
EC2로 돌아가 작업 > 보안 > IAM 역할 수정을 누른 뒤 위에서 만든 IAM Role 붙여줌
여기까지가 인터넷이 연결된 서버에 Session Manager로 붙기 위한 설정이었다
그러나 이 상태에서 연결 > Session Manager로 들어가보면 아래처럼 연결 버튼이 활성화 되어있지 않다
걱정할 것 없다. VPC Endpoint 3개만 만들어주면 된다
3. VPC Endpoint용 Security group 생성
VPC Endpoint에도 보안 그룹을 붙여야 한다
이 보안 그룹은 서비스와 통신하는 VPC의 리소스에서 인바운드 HTTPS(포트 443) 트래픽을 허용해야 한다고 한다
아래와 같이 해당 VPC 대역 내에서의 HTTPS(443 port) 트래픽을 허용하는 보안 그룹을 만들어주자
4. VPC Endpoint 생성
AWS 콘솔 > VPC > 엔드포인트 > 엔드포인트 생성
인터페이스 엔드포인트 중 com.amazonaws.<region>.ssm 을 선택한 후 VPC와 보안 그룹을 선택해 생성을 완료해주자
그리고 똑같은 방식으로 com.amazonaws.<region>.ssmmessages, com.amazonaws.<region>.ec2messages 엔드포인트도 생성해준다
사용 가능 상태가 될 때까지 좀 기다려줘야 한다
5. Private EC2 접속
모두 사용 가능 상태가 되었다
바로 EC2 > 연결 > Session Manager로 가보자
연결 버튼이 활성화 되어있다
접속도 잘 된다
끝
참고로 VPC Endpoint는 무료다 개꿀
'공부 > AWS' 카테고리의 다른 글
[AWS] goofys로 Linux에 AWS S3 마운트 (0) | 2021.07.13 |
---|---|
[AWS] Amazon Lookout for Vision 사용해보기 (AWS Workshop) (0) | 2021.07.01 |
[AWS] Private NAT Gateway Test (+ TGW, VPC Flow Log) (0) | 2021.06.16 |
[AWS] Transit Gateway Multi Region 구축하기 (2) | 2021.06.15 |
[AWS] Amazon Interactive Video Service(IVS) 라이브 스트리밍 실습 (2) | 2021.06.04 |
댓글