본문 바로가기
공부/AWS

[AWS] Session Manager로 Private EC2 접속하기

by haejang 2021. 6. 22.
728x90
728x90

 

기존에 Session Manager로 EC2에 접속하는 글들을 몇 번 썼었다

 

굉장히 쉽다. 서버 안에 ssm agent만 깔려있고 해당 EC2에 EC2RoleforSSM 정책이 붙은 역할만 붙여주면 된다

그러나 이는 인터넷 연결이 되는 서버에 한한 방법이었다 (나도 몰랐음)

 

Private EC2에 Session Manager 붙는법 참고

 

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는 무료다 개꿀

728x90
728x90

댓글