Azure NAT gateway 와 AWS NAT gateway 비교

작성자
Roronoa
작성일
2023-06-20 21:40
조회
645
클라우드에서 AWS와 Azure는 표면적으로는 같은 서비스처럼 보이지만 내부적으로는 매우 다른 알고리즘으로 구성되어 있습니다. 클라우드에서 특징들과 기능은 끊임없이 변화하는 상태이며 오늘 다르고 내일 또 업데이트 되는 탄력적 진화 시스템입니다. 심지어 지금 이순간도 클라우드 기술이 변하고 있으며 그 단위가 일주일 이하도 있습니다. 세부적인 기능은 언제 바뀌었는지 조차도 어려울정도로 지속적으로 테스트하고 연구하지 않으면 점점 뒷쳐지며 심지어 엔지니어로서, 개발자로서 자신의 영역을 줄 여야만 하는 시대에 살고 있습니다.

클라우드 컴퓨팅은 현대 기업이 디지털 변혁과 확장을 위해 선택하는 주요 전략 중 하나로 자리 잡았습니다. 특히, Microsoft Azure와 Amazon Web Services(AWS)는 그 중에서도 선도적인 클라우드 플랫폼으로 전 세계적으로 널리 사용되고 있습니다. 이러한 클라우드 서비스는 기업들이 자원을 효율적으로 활용하고 유연하게 스케일링할 수 있는 기회를 제공하며, 그 중에서도 네트워킹은 클라우드 인프라의 핵심 구성 요소 중 하나입니다.

많은 기업들이 클라우드로의 이전을 고려할 때, 네트워킹을 어떻게 구성하고 외부와의 통신을 관리할지에 대한 결정이 중요한 주제가 됩니다. 이에 따라 NAT(Network Address Translation) 게이트웨이는 내부 네트워크와 외부 리소스 간의 통신을 효율적으로 관리하고 보안을 강화하는 데에 중요한 역할을 합니다. 

 

Azure NAT Gateway는 현대적이고 강력한 NAT(Network Address Translation) 서비스로, 클라우드 네트워킹의 핵심 기능 중 하나를 담당합니다. 이 서비스를 통해 프라이빗 서브넷 내의 모든 인스턴스가 완벽한 프라이버시를 유지하면서도 필요에 따라 안전하게 인터넷에 연결할 수 있습니다. 이를 통해 기업들은 클라우드 환경에서 안전하게 네트워킹을 구성할 수 있습니다.

Azure NAT Gateway의 주요 특징 중 하나는 외부와의 통신에서 발생하는 인바운드 연결을 허용하지 않는다는 점입니다. 이는 보안 측면에서 매우 중요한데, 원치 않는 인바운드 연결을 차단함으로써 악의적인 공격으로부터 클라우드 리소스를 보호할 수 있습니다.

또한, NAT 게이트웨이는 아웃바운드 연결을 자동으로 확장하고, 동적 SNAT 포트 기능을 통해 SNAT(Source Network Address Translation) 포트 소모의 위험을 최소화합니다. 이는 효율적인 네트워크 리소스 사용과 성능 향상에 기여합니다.

Azure NAT Gateway의 중요한 특징 중 하나는 외부로부터의 응답 패킷에 대해서만 NAT 게이트웨이를 통과시킨다는 점입니다. 이는 보안 정책을 강화하면서도 외부 서비스와의 효율적인 통신을 지원합니다.

요약하면, Azure NAT Gateway는 클라우드 환경에서 안전하고 효율적인 네트워킹 솔루션을 제공하는데, 완전히 관리되고 복원력이 뛰어난 특징을 가지고 있습니다. 클라우드 기반 인프라를 구성하는 기업들에게는 이러한 강력한 NAT 서비스가 안정성과 보안성을 강화하는 데에 큰 도움이 될 것입니다.

 

AWS VPC와 Azure VNet은 모두 클라우드 환경에서 가상 네트워킹을 제공하는데 중요한 역할을 하는데, 이 두 플랫폼 간의 차이점과 특징을 살펴보겠습니다.

1.주소 할당과 CIDR 블록:
AWS와 Azure는 모두 RFC 1918에 명시된 비공개 IPv4 주소 범위의 CIDR 블록을 사용하여 가상 네트워크를 생성합니다. 이는 클라우드 환경에서 내부 네트워크를 안전하게 구성할 수 있도록 해주며, 고객은 필요에 따라 다른 공용 IP 주소를 계속 사용할 수 있습니다.

Azure VNet은 지정된 CIDR 블록의 개인 IP 주소에 VNet에 연결된 리소스를 할당합니다. 최소 서브넷 크기는 /29이고 최대는 /8입니다. AWS는 최소 주소 블록을 /28, 최대 주소 블록을 /16로 권장합니다.
2.인터넷 액세스와 게이트웨이:
AWS는 현재 공개 IP 블록에서 직접 인터넷 액세스를 지원하지 않고, 가상 사설망(VPN)을 통해서만 접근할 수 있습니다. AWS VPC는 Egress-Only Internet Gateway (EGW)를 제공하여 아웃바운드 트래픽은 허용하고 인바운드 트래픽은 차단합니다.

Azure VNet에서는 Azure NAT Gateway를 사용하여 프라이빗 서브넷의 인스턴스가 안전하게 인터넷에 연결할 수 있습니다. 인터넷에서의 인바운드 연결은 NAT 게이트웨이를 통해 차단됩니다.
3.IPv6 지원:
AWS VPC는 2017년 1월 현재 중국을 제외한 모든 지역에서 IPv6을 지원하고 있습니다. Azure는 IPv6 지원이 제한적이지만, VNet은 고정 크기인 /56 (CIDR 표기법)을 사용하며, 서브넷 크기는 /64로 고정됩니다. IPv6에서는 모든 주소가 기본적으로 인터넷 라우팅이 가능하며, AWS에서처럼 특별한 게이트웨이가 필요하지 않습니다.
4.IP 주소 변경 및 관리:
Azure VNet은 서브넷의 IP 주소를 초기 설계 후에도 변경할 수 있지만, 현재 서브넷의 리소스는 마이그레이션되어야 합니다. AWS에서는 서브넷 IP 주소를 변경하기 어렵고, IP 주소를 쉽게 관리할 수 있는 기능인 IPAM 과  비슷한 기능은  Azure에서는 제공되지 않습니다.
5.확장성과 성능
 NAT 게이트웨이는 생성 시 스케일 아웃되며, 램프 업이나 스케일 아웃 작업은 사용자가 직접 관리할 필요가 없습니다. Azure는 NAT 게이트웨이 작업을 관리하여 사용자에게 편의성을 제공합니다. 서브넷에 NAT 게이트웨이를 연결하여 해당 서브넷의 모든 프라이빗 리소스에 아웃바운드 연결을 제공하며, 가상 네트워크의 모든 서브넷은 동일한 NAT 게이트웨이 리소스를 공유할 수 있습니다. 최대 16개의 공용 IP 주소나 /28 크기의 공용 IP 접두사를 할당하여 아웃바운드 연결을 확장할 수 있습니다.
Azure NAT Gateway는 소프트웨어 정의 네트워킹 서비스로, 최대 50Gbps의 데이터 처리 성능을 제공합니다. 각 NAT 게이트웨이는 컴퓨팅 리소스의 네트워크 대역폭에 영향을 주지 않습니다. 이로써 안정적이면서도 고성능의 아웃바운드 및 반환 트래픽을 처리할 수 있습니다.

6.영역 격리의 중요성:
영역 격리는 한 영역에서 발생할 수 있는 장애나 문제가 다른 영역에 영향을 미치지 않도록 하는 핵심 개념입니다. 이를 통해 시스템이 지역적인 장애에 강하게 대응할 수 있고, 전체적인 가용성을 향상시킬 수 있습니다. 영역 격리를 강조하는 이유 중 하나는 지리적 분산 및 자연 재해 등에 대비하여 전략적으로 서비스를 운영할 수 있는 데에 있습니다.
7.NAT 게이트웨이와 가상 머신 인스턴스:
각 가용성 영역에는 NAT 게이트웨이 리소스와 해당 공용 IP 주소를 사용하는 가상 머신 인스턴스로 구성된 "영역 스택"이 형성됩니다. 이것은 영역 간에 서로 독립적으로 운영되며, 장애 발생 시에도 영역 간에 영향을 최소화할 수 있도록 합니다. 가상 머신 인스턴스가 NAT 게이트웨이 리소스와 동일한 영역에 위치하면 영역 격리의 이점을 최대한 활용할 수 있습니다.
8.안정성과 가용성:
이러한 구성은 영역 간 장애 시에 자동으로 다른 영역으로 트래픽을 전환하여 지속적인 서비스 제공을 가능하게 합니다. NAT 게이트웨이 리소스는 분산되어 있으며, 영역 간의 상호 운영이 강화되어 전체적인 클라우드 인프라의 안정성과 가용성이 향상됩니다.

허브-앤-스포크 네트워크 아키텍처와 NAT Gateway

허브엔 스포크에서  NAT(Network Address Translation)의 필요성은 여러 측면에서 나타납니다. 특히, 이 아키텍처에서 NAT는 네트워크 보안, 주소 공간 관리, 그리고 트래픽 제어 등 다양한 측면에서 중요한 역할을 수행합니다.

1.보안 강화:

IP 주소 은폐: 허브-앤-스포크 구조에서는 스포크 네트워크의 내부 시스템이 허브를 통해 외부와 통신해야 할 경우가 있습니다. NAT를 통해 내부 시스템의 실제 IP 주소를 외부에 노출시키지 않고, 대표적인 공용 IP 주소로 변환함으로써 보안을 강화할 수 있습니다.

2.주소 공간 관리:

사설 주소 사용: 허브-앤-스포크에서는 각각의 스포크 네트워크가 독립된 IP 주소 공간을 가질 수 있습니다. NAT를 사용하면 사설 주소 공간을 할당하고, 이를 공용 IP 주소로 변환하여 중복을 방지하고 주소 공간을 효율적으로 활용할 수 있습니다.

3.트래픽 제어:

인터넷 트래픽 관리: NAT를 사용하면 허브에서 관리되는 트래픽을 통제할 수 있습니다. 내부에서 나가는 트래픽은 NAT 게이트웨이를 통과하며 허브의 네트워크 정책에 따라 필터링될 수 있습니다. 이로써 허브에서는 트래픽을 감시하고 보안 정책을 적용할 수 있습니다.

4.스포크 간 통신 제어:

스포크 간 통신 조절: NAT를 사용하면 스포크 간에 직접 통신하는 것을 제어할 수 있습니다. 허브에서는 필요한 경우 특정 스포크 간 통신을 허용하고 다른 스포크 간 통신을 차단할 수 있습니다.

5.유연성 및 확장성:

IP 주소 변경 용이성: NAT를 사용하면 내부에서 사용되는 IP 주소를 변경하지 않고도 외부와의 통신이 가능합니다. 이는 내부 네트워크 구조를 변경하지 않고도 확장이나 업그레이드를 수행할 때 유용합니다.

허브-앤-스포크 네트워크에서 NAT는 내부 시스템을 외부와 안전하게 연결하고, 주소 공간을 효과적으로 관리하며, 트래픽을 제어하여 보안을 강화하는 핵심 요소로 작용합니다. 이를 통해 전체 네트워크 구조가 안정적이고 효율적으로 운영될 수 있습니다.

결론

최종적으로, NAT 게이트웨이를 영역 스택 패턴으로 구성함으로써 클라우드 환경에서 안정성과 가용성을 강화할 수 있습니다. 이 패턴은 각 가용성 영역에 고유한 NAT 게이트웨이 리소스와 관련된 가상 머신 인스턴스를 구성하여 영역 간 격리를 강화하며, 장애 시에도 지속적인 서비스 제공을 가능하게 합니다. 영역 간에 분산된 NAT 게이트웨이 리소스는 안정성을 확보하면서도 확장성과 성능 면에서 클라우드 인프라의 최적화를 도모합니다.

이러한 설계 접근은 클라우드 환경에서의 신뢰성 있는 네트워크 인프라를 구현하고자 하는 기업들에게 중요한 고려사항입니다. 영역 스택 패턴은 영역 간의 독립성과 안정성을 강조하며, 클라우드 기반 서비스의 운영 효율성과 안전성을 향상시키는 데에 기여합니다. 따라서 NAT 게이트웨이와 가상 머신 인스턴스를 조율한 이러한 설계는 안정적이고 신뢰성 있는 클라우드 네트워크 환경을 제공하기 위한 핵심 전략 중 하나로 부각되고 있습니다. 사실 AWS 의 NAT Gateway와 거의 일치하며 AWS 의 NAT Gateway 는 매우 오래전에 나왔으나 Azure 에서는 AZ 영역과 함께 나온지 얼마 안되서 항상 필요했던 제품입니다. 조금 늦게 나오긴 했지만 AZ와 함께 더 높은 보안 그리고 안정성 을 위한 아키텍처를 또다시 만들수 있습니다. AZ와 NAT 게이트웨이로 기존의 네트워크 아키텍처는 완전히 새롭게 변경할수 있으며 자유도가 매우 높아졌습니다.  간단히 테스트 할때는 AZ 하나에 NAT 를 만들어도 작동하지만 기본적으로 AZ 당 NAT 를 사용하는것은 매우 일반적입니다. 그러나 쉽게 지나칠수 있는 부분입니다.

 

Reference Link

Azure NAT GATEWAY