인터넷 게이트웨이는 있지만, Public IP가 설정되어 있지 않은 EC2에 접속할 수 있을까?

인터넷 게이트웨이는 있지만, Public IP가 설정되어 있지 않은 EC2에 접속할 수 있는지 확인해 봤습니다.
2023.08.12

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 인터넷 게이트웨이는 있지만, Public IP가 설정되어 있지 않은 EC2에 접속할 수 있는지 확인해 봤습니다.

현재 구성

현재 인터넷 게이트웨이를 생성하고, 라우팅 설정까지 끝낸 상태입니다.

접속할 EC2 인스턴스에는 Public IP주소가 설정되어 있지 않은 상태입니다.

인터넷 경로는 설정되어 있지만, 접속 대상인 EC2 인스턴스에 Public IP가 설정되어 있지 않다면 접속이 가능한지 확인해 봤습니다.

접속 시도

ssh -i "ec2-key.pem" ec2-user@xx.xx.x.xx
ssh: connect to host 10.94.4.27 port 22: Operation timed out

접속을 시도해 보면 timed out이 발생하고 접속에 실패합니다.

그렇다면 임시로 Elastic IP를 생성하고 Public IP를 부여한 상태라면 접속이 가능할까요?

※ Elastic IP를 생성하고 접속 대상의 EC2 인스턴스에 연결한 상태입니다.

ssh -i "ec2-key.pem" ec2-user@ec2-xx-xxx-xx-xxx.ap-northeast-1.compute.amazonaws.com
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
[ec2-user@ip-xx-xx-x-xx ~]$

EIP를 할당한 다음, 접속을 시도해 보면 성공적으로 접속되는 것을 확인할 수 있습니다.

이후, 인터넷 경로가 필요없다면 인터넷 게이트웨이와 EIP를 삭제하면 이미지 처럼 Public IP도 삭제 된 것을 확인할 수 있습니다.

※ 작업을 위해 임시로 인터넷 경로를 뚫어야 할 경우 EC2 인스턴스에 Public IP가 없다면 EIP를 할당할 필요가 있다는 것을 확인할 수 있습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !