본문 바로가기

IT 개발자의 창고

AWS - 로컬 PC에서 내부망 리눅스 접속하기

지난 글에서 public subnet에 리눅스 서버를 생성하고, 외부에서 접속이 가능하도록 IP 할당까지 마쳤습니다.

2022.01.26 - [Working IT] - AWS - public subnet에 리눅스 서버 기동

 

이번 글에서는 private subnet에 EC2를 추가하고, Local 컴퓨터에서 private-EC2까지 접속하는 방법에 대해 정리해 보겠습니다.

Private-EC2 인스턴스를 추가한 네트워크 구성도

 

private subnet에 EC2를 생성하는 방법은 public subnet에서 생성한 방법과 동일합니다. 다만, 다음의 속성만 달리하여 생성해 보도록 하겠습니다.

1) AMI

나중에 해당 서버에서 AWS client 명령어를 사용하여 다른 아마존 서비스와의 연동 테스트를 진행해 보려고 합니다. 그래서, AWS client를 기본적으로 내장하고 있는 Amazon Linux 2 AMI - Kernel 5.10으로 선택하도록 할께요.

 

2) subnet은 private-subnet으로 선택해야 합니다.

 

3) 이름도 public과 구분하기 위해 private-EC2로 설정합니다.

 

4) 보안 그룹도 private-sg로 신규 생성하고, 내부망이니 모든 TCP에 대해 허용하도록 설정해도 크게 무리가 없을 것 같네요.

 

private-EC2는 외부에 공개되어 있지 않기 때문에 public-EC2에 접근 후 내부망을 통해 private EC2까지 접근해야 합니다. 또한, SSH 접근을 위해서는 접근 권한을 부여받은 인증 키페어도 필요합니다. 물론 public EC2 생성 시 보안그룹에 SSH를 허용하도록 구성했기 때문에 SSH 접근은 보안상 문제가 없습니다.

 

public EC2에서 private EC2 접근 시 인증 키페어가 필요하다고 하였으니, 먼저 public EC2에 키페어부터 전송해야 합니다.

sftp -i ./genesis.pem ec2-user@3.34.74.183
Connected to ec2-user@3.34.74.183.
sftp> put genesis.pem
Uploading genesis.pem to /home/ec2-user/genesis.pem
genesis.pem                                                                                       100% 1704   241.4KB/s   00:00

 

public EC2 접속 방법은 지난 글에서 이미 설명을 드렸고, public EC2에서 private EC2로 접근하는 command 역시 동일합니다.

2022.02.02 - [Working IT] - AWS - EC2 서버 접속 및 웹서버 실행

물론 내부망이니, private EC2에 자동 할당된 내부 IP로 접근하면 됩니다.

$> ssh -i ./genesis.pem ec2-user@3.34.74.183
Last login: Wed Dec 29 01:15:31 2021 from 222.235.208.2
[ec2-user@ip-10-0-0-217 ~]$ ssh -i ./genesis.pem ec2-user@10.0.1.81
Last login: Wed Dec 29 01:16:45 2021 from 10.0.0.217

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-1-81 ~]$

 

AWS 실습