메인 콘텐츠로 건너뛰기
블로그네트워킹Linode를 사용하여 VPC에서 NAT 게이트웨이를 구축하는 방법

리노드가 있는 VPC에서 NAT 게이트웨이를 구축하는 방법

텍스트: 리노드가 있는 VPC에서 NAT 게이트웨이를 구축하는 방법

민감한 고객 데이터를 처리하는 고객 중 한 곳은 웹 앱과 데이터베이스를 위한 안전한 클라우드 인프라가 필요했습니다. 저희는 인바운드 트래픽을 차단하면서 프라이빗 서브넷의 인스턴스가 업데이트 및 API 호출을 위해 인터넷에 액세스할 수 있도록 VPC에 NAT 게이트웨이를 구현했습니다. 이 솔루션은 프라이빗 인스턴스를 공용 인터넷에 직접 노출하지 않고도 인터넷 액세스를 제공하여 보안을 강화합니다. 저희가 수행한 작업은 다음과 같습니다:

이 다이어그램은 세 가지 주요 섹션으로 나뉜 일반적인 VPC 설정을 보여줍니다: VPC, 공용 서브넷, 사설 서브넷입니다. 먼저 바깥쪽 녹색 상자인 VPC는 그 안의 리소스를 다른 네트워크로부터 격리합니다. 사용자는 1:1 NAT를 통해 할당된 고정 IP 주소를 사용하여 공용 인터넷을 통해 웹 서버에 액세스합니다. 웹 서버는 요청을 처리하고 필요한 경우 데이터베이스 서버와 통신합니다. 웹 서버는 라우터 서버를 통해 데이터베이스 서버와 통신합니다. 라우터 서버는 사용자 지정 NAT를 사용하여 공용 서브넷과 사설 서브넷 간에 트래픽을 안전하게 라우팅합니다. 사설 서브넷에 있는 데이터베이스 서버는 VLAN 을 통해 웹 서버의 요청을 받습니다. 사설 서브넷의 격리는 데이터베이스 서버가 인터넷에 직접 노출되지 않도록 보장하여 보안을 강화합니다. 이 튜토리얼에서는 사설 서브넷과 공용 서브넷 간의 안전하고 효율적인 통신을 보장하는 이 아키텍처를 설정하는 단계를 안내합니다. 퍼블릭 및 프라이빗 서브넷이 있는 VPC를 만들고, NAT 게이트웨이를 구성하고, VLAN 를 설정하겠습니다. 

튜토리얼

이 튜토리얼에서는 방금 살펴본 다이어그램과 마찬가지로 VPC에 NAT 게이트웨이를 만들 것입니다. 이미 Linode 계정이 있는 경우 1단계로 건너뛸 수 있습니다. Linode 계정이 없는 경우 이 링크를 사용하여 가입하고 $100의 무료 크레딧을 받아 다음 단계를 진행하세요. 리노드 대시보드에서 퍼블릭 서브넷과 프라이빗 서브넷의 두 개의 서브넷이 있는 VPC를 만들겠습니다. 프라이빗 서브넷에는 데이터베이스를 추가하고, 프라이빗 서브넷에는 웹 서버 역할을 할 인스턴스와 라우터 서버(사용자 정의 NAT) 역할을 할 인스턴스 2개를 추가합니다. 

1단계: VPC 만들기

VPC에서 NAT 게이트웨이를 구축하는 첫 번째 단계는 리소스를 논리적으로 격리하기 위해 VPC를 만드는 것입니다. 앞서 살펴본 다이어그램의 녹색 상자를 기억하세요. 프라이빗 서브넷과 퍼블릭 서브넷은 이 VPC 내부에 위치하게 됩니다.

이렇게 하려면 리노드 클라우드 관리자에서 왼쪽 패널의 VPC를 클릭한 다음 VPC 만들기를 클릭합니다.

2단계: 공용 서브넷 설정

다음으로, 라우터 서버(사용자 지정 NAT)와 웹 서버를 보유할 공용 서브넷을 VPC에 추가해야 합니다. 이것이 우리가 살펴본 다이어그램의 파란색 사각형이라는 것을 기억하세요.

화면 하단의 서브넷이라고 표시된 곳에서 공용 서브넷에 대한 레이블을 추가합니다. 이 서브넷은 라우터 서버(사용자 지정 NAT)와 웹 서버를 호스팅합니다.

그런 다음 VPC 생성을 클릭하여 VPC를 프로비저닝합니다.

해당 서브넷 ID와 IP 범위로 생성된 공용 서브넷을 확인할 수 있습니다.

3단계: 라우터 서버 및 웹 서버 배포하기

다음으로, 공용 서브넷에 2개의 리노드 인스턴스를 배포해야 합니다. 하나의 리노드 인스턴스는 라우터 서버(사용자 지정 NAT)로 작동하여 공용 서브넷과 사설 서브넷 간의 트래픽을 관리하는 NAT 작업을 처리합니다. 다른 서버는 인터넷에서 들어오는 트래픽을 처리하고 필요한 요청을 프라이빗 서브넷으로 전달하는 웹 서버 역할을 합니다. 먼저 라우터 서버를 생성합니다. 클라우드 관리자에서 왼쪽 패널의 리노드를 클릭한 다음 리노드 만들기를 클릭합니다. VPC를 만들 때 선택한 것과 동일한 지역을 선택한 다음 전용 8GB CPU 옵션을 선택합니다.

그런 다음 아래로 스크롤하여 1단계에서 생성한 VPC를 할당하고 드롭다운에서 공용 서브넷을 선택합니다.

리노드 생성을 클릭하여 이 인스턴스 프로비저닝을 완료합니다.

이제 위와 동일한 프로세스를 사용하여 웹 서버를 생성해 보겠습니다. 리노드 생성을 클릭하고 VPC로 선택한 지역을 선택한 다음 이 인스턴스에 VPC를 할당합니다. 이제 웹 서버와 라우터 서버가 모두 공용 서브넷 아래의 VPC에 표시됩니다. 

4단계: 사설 서브넷 만들기

다음으로, 공용 인터넷에 직접 액세스할 수 없는 데이터베이스 서버를 호스팅하기 위해 VPC 내에 사설 서브넷을 만들어야 합니다. 이제 보라색 상자를 만들고 있습니다.

VPC에서 서브넷 생성을 클릭한 다음 레이블을 입력하고 비공개 IP 범위를 할당합니다. 이 서브넷은 데이터베이스를 외부 위협으로부터 안전하게 보호합니다.

5단계: 데이터베이스 서버 배포 

이제 프라이빗 서브넷에 데이터베이스 서버로 사용할 리노드 인스턴스를 배포해 보겠습니다. 이 인스턴스는 안전한 VLAN 을 통해서만 공용 서브넷에서 액세스할 수 있습니다. 리노드 클라우드 관리자의 왼쪽 패널에서 데이터베이스를 클릭한 다음 데이터베이스 클러스터 만들기를 클릭합니다. 레이블을 입력한 다음 원하는 데이터베이스 엔진을 선택합니다.

이 데이터베이스는 다른 서버처럼 공용 인터넷에 직접 액세스할 수 없다는 점을 기억하세요. 액세스 제어 추가라고 표시된 화면 하단에서 위에서 만든 사설 서브넷에 허용되는 UP 주소 범위를 추가합니다. 

그런 다음 데이터베이스 클러스터 만들기를 클릭합니다. 이 데이터베이스는 프로비저닝하는 데 최대 30분이 걸릴 수 있습니다.

6단계: 구성 VLAN

다음으로 퍼블릭 서브넷과 프라이빗 서브넷 간의 안전한 통신을 위해 VLAN 을 설정해야 합니다. 

이렇게 하면 웹 서버와 데이터베이스 서버 간의 트래픽이 비공개로 안전하게 유지됩니다. 라우터 서버에서 구성 탭을 클릭한 다음 편집을 클릭합니다.

네트워킹 섹션까지 아래로 스크롤합니다. 원하는 네트워크 인터페이스 아래의 드롭다운 메뉴를 클릭하고 VLAN 을 선택합니다. 일반적으로 인스턴스의 eth0 네트워크 인터페이스는 일반적으로 공용 인터넷에 액세스하도록 구성되므로 컴퓨팅 인스턴스에 첫 번째 또는 두 번째 VLAN 를 추가할 때는 각각 eth1 또는 eth2 가 사용됩니다.

선택한 인터페이스 옆에 VLAN의 레이블과 사용할 IP 주소를 입력할 수 있는 보조 메뉴가 나타납니다. 

" VLAN를 만들거나 선택"의 자리 표시자 텍스트를 클릭하고 VLAN 의 이름을 입력한 다음 변경 사항 저장을 클릭합니다. 이제 구성 탭 아래에 모든 네트워크 인터페이스가 나열된 것을 볼 수 있습니다.

8단계: 연결성 테스트

이제 라우터 서버가 NAT 작업을 올바르게 처리하는지 확인하기 위해 연결을 테스트해 보겠습니다. 또한 웹 서버가 VLAN 을 통해 데이터베이스 서버와 통신할 수 있는지, 데이터베이스 서버가 인터넷에 직접 노출되어 있지 않은지 확인해야 합니다.

생성한 첫 번째 라우터 서버로 이동하여 LISH 콘솔을 시작합니다. 그런 다음 IP 주소를 사용하여 데이터베이스의 사설 네트워크에 핑합니다.

출력에는 이 인스턴스에서 프라이빗 네트워크의 데이터베이스로 성공적으로 송수신된 ICMP 패킷이 표시되어야 합니다.

이 아키텍처의 장점

이 아키텍처를 사용하면 몇 가지 주요 이점이 있습니다. 첫째, 보안이 강화됩니다. VPC를 사용하면 서로 다른 서브넷(공용 및 사설) 내에서 리소스를 격리할 수 있습니다. NAT 게이트웨이는 프라이빗 서브넷의 인스턴스가 공용 인터넷 위협에 직접 노출되지 않고 인터넷에 액세스할 수 있도록 보장합니다. VPC에서 NAT 게이트웨이를 사용하면 프라이빗 인스턴스에서 인터넷으로의 아웃바운드 트래픽만 허용되므로 보안 위험을 초래할 수 있는 원치 않는 인바운드 연결을 방지할 수 있습니다. 데이터베이스를 프라이빗 서브넷 내부에 배치하면 민감한 항목이 인터넷에 직접 노출되지 않도록 보호되어 데이터 유출 위험이 줄어듭니다.

이 아키텍처는 또한 확장성을 크게 향상시킵니다. NAT 게이트웨이는 상당한 양의 트래픽을 관리하도록 설계되었으며 증가하는 수요에 따라 자동으로 조정할 수 있으므로 수동 개입이 필요하지 않습니다. 트래픽 부하가 증가하면 NAT 게이트웨이는 리소스를 확장하여 최적의 성능을 유지하고 지속적인 가용성을 보장합니다. 이러한 자동 확장성은 계절별 세일, 프로모션, 다양한 고객 행동으로 인해 트래픽 패턴이 변동하는 경우가 많은 이커머스 플랫폼에 특히 유용합니다. 개발자는 NAT 게이트웨이를 활용하면 수요가 많은 상황에서도 애플리케이션의 응답성과 안정성을 유지하여 궁극적으로 더 나은 사용자 경험을 제공하고 비즈니스 성장을 지원할 수 있습니다.

Linode를 사용하여 VPC에 NAT 게이트웨이를 구축하면 퍼블릭 리소스와 프라이빗 리소스 간의 네트워크 트래픽을 안전하고 효율적으로 관리할 수 있습니다. 프라이빗 인스턴스가 필요한 외부 리소스에 액세스할 수 있도록 보장하는 동시에 인터넷에 직접 노출되지 않도록 보호하여 궁극적으로 클라우드 인프라의 보안, 확장성 및 효율성을 향상시킵니다. 

위에 설명된 단계를 따르고 제공된 다이어그램을 참조하여 고객의 민감한 데이터를 보호할 뿐만 아니라 네트워크 성능도 최적화할 수 있습니다. 클라우드 보안을 최적화하고자 하는 개발자로서 클라우드에서 더 많은 리소스를 구축하려는 경우 이 링크를 사용하여 최대 5,000달러의 Linode 크레딧을 신청하세요.

내용

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *