NAT Gateway 만들기

    0. 개요

     

    서브넷을 퍼블릭과 프라이빗으로 구분하여, 퍼블릭 서브넷은 인터넷 게이트웨이를 이용하여 외부와 통신이 가능하도록 설정하고 프라이빗 게이트웨이는 외부와의 통신이 단절시켜 보안을 높입니다. 하지만 프라이빗 서브넷에 위치한 인스턴스가 다른 AWS 서비스에 연결해야 하는 경우. 즉, 인터넷에서 프라이빗 인스턴스에 접근 불가 조건은 유지하면서 프라이빗 instance 에서 외부 인터넷으로 연결이 필요한 경우가 있습니다. 결국 NAT 게이트웨이는 퍼블릭 서브넷을 거쳐서 외부 인터넷으로 연결되게 됩니다.

    이러한 NAT 서버를 구축하여 외부 통신이 가능한 퍼블릭 서브넷에 EC2 인스턴스를 배포하고 이를 NAT 서버로 구축하여 용하는 방법이 일반적이었습니다. 하지만 최근 VPC 환경에 NAT 서버를 손쉽게 배포하고 관리해주는 서비스인 NAT Gateway를 제공해 주고 있습니다. 

     

     

    1. NAT Gateway 만들기

     

    1-1. [VPC 대시보드] - [NAT 게이트웨이] 접속 후 생성 버튼

     

    이번 포스팅에서는 프라이빗 서브넷 내에 MySQL을 설치해보도록 하겠습니다. 먼저, 아무런 작업을 하지 않은 상태로 터미널에 다음과 같은 명령어를 입력해보겠습니다.

     

    $sudo yum install mysql

     

     

    하지만 설치가 되지 않는 모습을 볼 수 있습니다.. 이를 해결하기 위해서 NAT 게이트웨이를 설치해주어야 하는데 VPC 대시보드의 NAT 게이트 에 접속해주시면 됩니다.

     

     

    1-2. NAT 게이트웨이 설정

     

     

    NAT 게이트웨이는 프라이빗 서브넷과 인터넷 사이를 통신하기 위한 수단이기 때문에 퍼블릭 서브넷 내에 존재해야합니다. 그러므로 퍼블릭 서브넷을 선택하고 탄력적 IP를 할당해주시면 됩니다.

     

    1-3. 라우팅 테이블 편집

     

    라우팅 테이블 추가 전 상태

     

     

    하지만 NAT 게이트웨이를 생성만 했다고 해서 mysql이 설치 명령어가 실행되지 않습니다. 왜냐하면 현재 라우팅 테이블은 install 명령을 무시하게 되어있기 때문입니다. (10.0.0.0/16 외의 IP 주소가 들어오면 무시하는 상태) 이를 해결하기 위해 10.0.0.0/16 외의 모든 포트들을 방금 전 만들었던 NAT 게이트웨이로 보내주면 됩니다. 

     

     

     

    2. 프라이빗 서브넷 내 MySQL 설치

     

    위의 과정을 다 수행한 다음 MySQL 설치 명령어를 터미널에 다시 입력해보았습니다.

     

    //실패함.. 또르륵

     

     

     

    참고 ) 

     

    NAT 게이트웨이 및 NAT 인스턴스 비교 - Amazon Virtual Private Cloud

    NAT 게이트웨이 및 NAT 인스턴스 비교 NAT 인스턴스와 NAT 게이트웨이의 차이점을 세부적으로 요약하면 다음과 같습니다. NAT 게이트웨이는 더 나은 가용성과 대역폭을 제공하고 관리에 소요되는 작

    docs.aws.amazon.com

    'AWS' 카테고리의 다른 글

    Bastion Host 만들기  (0) 2022.01.18
    퍼블릭 서브넷과 프라이빗 서브넷 만들기  (0) 2022.01.17
    AWS NAT vs Bastin Host  (0) 2022.01.17
    AWS VPC에 대해 알아보자  (0) 2022.01.16
    AWS MFA 설정하기  (0) 2022.01.15

    댓글