본문 바로가기

⭐ AWS/AWS Network

Private Subnet에 존재하는 EC2에 접근하기

# 트래픽 전달의 이해

일단 Bastion 호스트로 연결된 리소스는 해당 Bastion 호스트를 통해 데이터를 송 수신한다고 볼 수 있다.그러므로 Bastion 호스트의 자원의 상황이라던가 스펙등을 충분히 고려해야 할 듯 싶다.

# 내부망에 존재하는 서버에 접근하기

PrivateSubnet이 내부망이므로 PublicSubnet에 존재하는 자원이 PrivateSubnet에 접근하기 위해서는 중간 매개체가 필요한데 이것을 Bation Host 라고 부른다. 아래의 그림에서 숫자를 따라가면 WorkFlow를 볼 수 있다.

# 내부망에 존재하는 EC2 인스턴스에 접근하기 위해서는 아래의 과정을 수행 해야 한다.

# Bastion Host의 정의는 아래 참조

2022.05.03 - [AWS/AWS 용어정리] - Bastion Host

 

Bastion Host

베스천 호스트란? 내부와 외부 네트워크 사이에 일종의 게이트 역할을 수행하는 호스트 배스천 호스트는 내부 네트웍과 외부 네트웍 사이에 위치하는 게이트웨이이다. 보안대책의 일환으로 사

may9noy.tistory.com

1. 퍼블릭 EC2 인스턴스 생성 (BastionHost)

BastionHost 라는 퍼블릭 망에 존재하는 EC2 인스턴스를 생성 해야 한다.

VPC : 내부망에 접근하려는 EC2 인스턴스의 VPC와 동일한 VPC를 선택 해야 한다.

Subnet : 기존에 생성한 public subnet을 맵핑 시킨다.

퍼블릭 IP 자동 할당 : 활성화 한다.

나머지는 Default 값으로 설정 후 인스턴스를 생성 한다.

 

2. 생성한 퍼블릭 EC2 인스턴스로 접근

인스턴스를 생성할때 PublicIP를 할당했기 때문에 생성된 인스턴스르 보면 퍼블릭 IP가 확인 된다.

위의 주소를 활용하여 PublicSubnet에 존재하는 EC2 인스턴스에 접근이 가능하다.

접근 도구는 여러가지가 있지만 MobaXterm을 활용하여 접근을 수행 한다.

아래와 같이 퍼블릭 서브넷에 존재하는 EC2에 접근을 하였다.

3. Bation Host를 통한 private subnet의 EC2로 접근

위의 workflow 흐름도에서 ③을 보면 BationHost EC2 이다.

이 BationHost EC2에서 private subnet에 존재하는 EC2 서버로 접근 한다.

MobaXterm을 활용하여 BationHost EC2에 .pem 파일을 복사한다.(pem file은 private망에 존재하는 ec2 인스턴스의 pem 파일이다.)

(MobaXterm은 Drag & Drop으로 편리하게 파일을 업로드 할 수 있다.)

파일의 권한을 설정한다.

chmod 400 [file.pem]

BationHost EC2 에서 Private EC2로의 접근

ssh -i "file.pem" ubuntu@[private ip address]

접근 후 화면을 보면 192.168.0.253에서 퍼블릭 망으로 접속 후 ip가 192.168.1.253으로 변화된것을 확인 할 수 있다.

ubuntu@ip-192-168-0-253:~$ ssh -i "file.pem" ubuntu@192.168.1.253
The authenticity of host '192.168.1.253 (192.168.1.253)' can't be established.
ECDSA key fingerprint is SHA256:5cPomunGc05CQsuiTCTrrZMIIcNjWt2m02WeNRpQn8Q.
Are you sure you want to continue connecting (yes/no/[fingerprint])? y

Please type 'yes', 'no' or the fingerprint: yes

Warning: Permanently added '192.168.1.253' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.13.0-1022-aws x86_64)

ubuntu@ip-192-168-1-253:~$

이로써 public subnet의 EC2 인스턴스에서 private subnet의 인스턴스로의 접근이 가능하게 됐다.

'⭐ AWS > AWS Network' 카테고리의 다른 글

sudo apt-get update가 안될때  (2) 2022.05.03
AWS 기본 네트워크 구성  (0) 2022.05.02