프로필사진

Go, Vantage point

가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.


Github | https://github.com/overnew/

Blog | https://everenew.tistory.com/





티스토리 뷰

반응형

 

 

 

Private subnet에서 외부로의 트래픽이 나가려면, NAT Gateway와 같은 서비스가  public subnet에 존재해야 한다.

 

 

 

 

현재 private instance는 외부 통신이 안된다.

 

 

 

 

하지만 Nat Gateway는 프리티어에서 사용할 수 없으므로, 

NAT 역할을 해주는 EC2 Instance로 그 역할을 대체해 보자.

 

 

 

대신  aws가 관리해 주는 것이 아니기 때문에, 직접 관리를 해야 하지만 우리는 Instance 비용만 지불하면 된다.

 

이러한 NAT Instance를 만들기 위해서 iptables를 직접 세팅할 수 있지만, 다른 유저가 만든 AMI를 사용해서 만들어 보자.

 

 

 

 

보안그룹 생성

 

외부로 전달할 트래픽들만, 응답이 들어올 수 있도록 인바운드 규칙을 만들어 주어야 한다. 

privaet의 instance의 보안그룹으로부터의 트래픽을 허용한다.

 

 

 

 

 

 

NAT 인스턴스 생성

 

NAT 인스턴스를 생성해 보자.

 

 

 

 

OS에서 더 많은 AMI 찾기를 선택하고 커뮤니티 AMI에서 "NAT"를 검색한다.

커뮤니티의 AMI는 AWS가 인증하지 않기 때문에 실무에 사용하는 것은 보안적으로 위험할 수 있다.

 

 

가장 위의 NAT AMI를 선택하자.

aws에서 제공하는 AMI이다.

 

 

 

네트워크에서는 NAT를 사용할 VPC와 public subnet을 선택해 주자.

 

 

 

 

 

 

Private subnet 라우팅 테이블 세팅

 

이제 Private subent의 라우팅 테이블에서 모든 목적지(0.0.0.0)의 경로를 NAT 인스턴스로 보내도록 세팅하면 된다.

 

VPC에서 Private subnet을 위한 라우팅 테이블을 생성하자.

 

 

 

VPC를 선택해서 생성한다.

 

 

 

라우팅 편집에서 테이블을 편집한다.

 

 

 

 

0.0.0.0으로의 트래픽을 NAT 인스턴스로 전달하도록 만든다.

 

 

 

 

라우팅 테이블 생성 후, private subnet과 연결해 주자.

 

 

 

 

 

 

경로가 정상적으로 생성되었다.

 

 

 

 

 

NAT 인스턴스 세팅

 

이제 ec2가 엔드 디바이스가 아니라, 네트워크 장비처럼 사용하려면 소스/대상 확인 변경 기능을 꺼야 한다.

 

 

 

 

이 기능이 활성화되어 있으면, 출발지 IP가 자신의 것만 내보내고 목적지 IP가 자신인 것만 받게 된다.

NAT 기능은 네트워크 트래픽의 중계를 해주어야 하므로 이 기능을 반드시 꺼야 한다.

 

 

 

이제 private의 instance가 외부로의 통신이 가능해졌다.

 

 

 

이제 패키지도 다운로드하여 설치가 된다.

 

 

 

반응형
댓글
반응형
인기글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함