DevJong12

[OrientalUnity][NCP, Infra] NAT Gateway? 본문

프로젝트/OrientalUnity

[OrientalUnity][NCP, Infra] NAT Gateway?

Jong12 2023. 11. 12. 17:49
728x90

목차

     

    1️⃣ 글을 적기에 앞서..

    해당 내용은 우리 팀에서 사용할 서버 환경을 구축하고자 할 때 발생했던 이슈의 내용을 기록한 글이다.


    2️⃣ 이슈의 내용

    아래의 이미지는 최초의 우리 팀의 인프라 아키텍쳐였다. 이미지부터 보는게 이해가 빠를 듯 하다.

    다음 아키텍쳐의 문제는 다음과 같았다.

    • Server에서 Object Storage, MySQL로의 Connection동일한 Private Zone이기 떄문에 정상적으로 이뤄졌었다.
    • Server에서 Effective Log Search & Analytics, Papago로의 ConnectionPrivate Zone과 Public Area이기 떄문에 불가능했었다.

    이 구간에 대한 통신을 어떻게 할지도, 생각도 못했던 부분이었으며, 실제로 어플리케이션을 실행한 뒤로 통신이 불가능하단 것을 인지하였다.


    3️⃣ NAT Gateway란? 해결방법은?

    NAT Gateway란 사설IP(Private IP)를 가진 서버나 대역이 인터넷 상의 공인 IP(Public IP)를 가진 서버 , 호스트와 연결을 할 수 있도록 하는 서비스이다. 아래는 실제로 Naver Cloud에서 정의하는 NAT Gateway에 대한 설명이다.

     

     

     

    해결 방법은 위의 설명과 글의 제목에도 있듯이 우리 팀의 문제는 네트워크 설정이 안되어 있던 부분이었고,  NAT GateWay를 설정하면 된다. 이미지로 설명하면 다음과 같이 인프라 아키텍쳐가 변경이 된다..


    4️⃣ NCP에서의 NAT Gateway의 설정방법

    1. VPC의 NAT Gateway접속

     

    2. NAT Gateway생성

    • NAT Gateway의 명칭
    • 외부 통신의 경우 공인 설정
    • NAT Gateway를 사용하고자 하는 VPC 선택
    • NAT Gateway가 존재할 Subnet선택
    • 할당된 공인 IP 선택

     

    3. NAT Gateway Route 설정

    위치는 VPC → Route Table로 가면된다.

    NAT Gateway를 사용하고자 하는 Rotue Table의 선택한 이후 Routes 설정을 클릭한다.

     

    이후 적용할 IP범위를 기록하고 NATGW를 선택한 이후 생성한 NAT Gateway를 지정하면 된다.

    필자의 경우 그냥 Private Area 전체를 여는게 목표였기에 0.0.0.0/0으로 사전에 뚫어놨었으나 필요한 경우 IP대역을 조절해야 할 필요가 있다.


    5️⃣ 글을 마치며

    되게 글이 갑작스레 끝난 기분이 들긴 하지만 사실 이게 전부다.

    인프라를 구축할 떄, 이 NAT Gateway란걸 아얘 모르고 작업했다 보니 단어를 찾는것 자체가 굉장히 오래 소요되었던 작업이었다.

     

    찾기 전까지 답이 없어서 아 그냥 퍼블릭한 프록시 하나 뚫어서 외부 통신만 담당하는 어플리케이션 API서버를 따로 제작할 까? 라는 생각 까지 했을 정도다...

     

    그래도 Naver Cloud의 대부분의 서비스와 서비스 소개를 읽어보면서 느낌이 왔어서 해봤었는데 되가지고 정말 다행이라 생각했다.

    모든 서비스를 읽어보면서 찾다보니 되게 많은 서비스의 종류를 같이 알 수 있었던건 덤이었던것 같다.. ㅎ;;;

    728x90
    Comments