본문 바로가기

Cloud/AZURE

Azure - Outbound NAT : LB

Today Keys :    Azure, NAT, PAT, NAPT, Outbound, Cloud, Load Balancer, Frontend, Public , Private, IP, 클라우드


Azure에서 Outbound 통신 시에 고정된 Public IP를 사용하기 위한 방법으로는

1. Instance에 직접 Public IP를 할당하여 직접 NAT 하는 방법
2. 로드밸런서에 Frontend에 고정된 Public IP을 할당해서 PAT(NAPT) 하는 방법
3. PAT(NAPT)를 수행하기 위한 별도의 Instance를 직접 만드는 방법
이 있습니다.


이번 포스팅에서는 로드밸런서를 이용한 방법에 대한 예에 대해서 살펴보겠습니다.


다음의 그림은 오늘 포스팅에서 진행하게 될 간단한 구성입니다.

2대의 가상 머신이 있으며, 2대의 가상 머신 모두 초기 생성 시에 공인 IP를 할당하지 않도록 하였습니다.

2대를 하나의 Pool로 묶고, 로드밸런서에 연결해서 로드밸런서의 Frontend IP(공인 IP)를 가지고

Outbound로 통신하게 됩니다 .

 

 

  

 

먼저 부하 분산 장치(로드밸런서)를 생성합니다.

부하 분산 장치에 대한 내용은 다른 포스팅에서 별도로 다룰 예정이기 때문에 여기에서는 Outbound를 위한

NAT(NAPT:PAT)를 하기 위한 기본 설정만 하게 됩니다.

 

부하 분산장치의 속성은 다음과 같이 Outbound 트래픽을 위한 NAT용도이기 때문에 공개로 하며,

SKU는 표준으로 설정합니다.

그리고 Frontend IP로 설정한 공인 IP를 설정합니다.  (사전에 생성한 것을 사용하거나, 여기서 생성할 수도 있습니다.)

 

 

 생성된 부하 분산 장치(로드밸런서)입니다. 

  

 

  다음은 로드밸런서를 이용해서 Outbound 트래픽에 대해서 NAT를 수행하게 될 가상 머신을 생성합니다. 

가상 머신 생성 시에는 공인(공용) IP주소를 할당받지 않도록 설정합니다. 

생성된 2대의 가상 머신의 정보는 다음과 같습니다. 별도의 공인(공용) IP 주소가 할당되지 않음을 알 수 있습니다. (-)

 

  가상머신1

  가상머신2  

 

 

 

  Azure에서는 공인 IP를 가상머신을 할당하지 않더라도 기본적인 NAT(NAPT:PAT)를 수행해주기 때문에

가상머신에서 현재 공인 IP를 확인하면 다음과 같이 확인이 됩니다.

다만, 이 공인 IP는 가상 머신이 On/Off되거나 하면 변경 될 수 있습니다.

  가상 머신 1

 가상 머신 2 

 

  이제 부하 분산 장치(로드밸런서)에서 2대의 가상 머신의 Pool로 설정합니다.

 

  가상머신을 Pool에 넣은 시점부터, Azure에서 기본적으로 제공되던 NAT는 수행되지 않습니다.

하지만, 로드밸런서의 설정도 다 끝나지 않았기 때문에 로드밸런서를 통한 NAT도 수행되지 않습니다.

 

 

 로드밸런서의 [상태 프로브] 를 생성하고, 

[부하 분산 규칙]에서는 위에서 생성한 Pool과 상태 프로브를 이용해서 규칙을 만듭니다 

거기까지 끝나면, 이제 로드밸런서를 이용한 Outbound 트래픽에 대한 NAT 위한 준비가 모두 끝났습니다.

가상 머신에서 실제 NAT가 수행되는지 확인해보겠습니다.


가상 머신 1/2번기에서 모두 로드밸런서 생성 시에 설정한 Frontend IP 주소인 40.82.154.136로

동일하게 NAT(NAPT:PAT)가 수행되는 것을 확인 할 수 있습니다.     

  가상 머신 1   

 가상 머신 2    

 

   가상 머신의 상태 값에서도 공용 IP주소가 (-) 에서 로드밸런서의 Frontend IP 주소로 설정된 것을 확인 할 수 있습니다.