Azure VPN, ha 구성의 모든것

눕눕·2022년 3월 21일
0

VPN, ha구성이란?

Azure VPN 연결하여 사용할 경우, ui 따라 생성한 후 사용하다보면, 문득 "어라? 쓰다가 이거 vpn gateway도 리소스일텐데, 얘 죽으면 어떻게 되는거야?" 라는 생각이 들 수 있다.

내가 쓰는게 안되더라도 다른 plan b가 있어서, 중단없이 쭈욱 쓸 수 있는 구성을 우리는 ha(고가용성)이라고 부른다.

vpn과 같은 네트워크 부분을 ha 구성하는데에는 2가지 방법이 있다.

  1. actvie - standby
  2. active - active

active - standby

출처: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-highlyavailable

모든 Azure vpn gateway는 두개의 인스턴스로 구성되어져 있으며, 이는 active - standby로 구성되어져 있다.

즉, 특별한 설정을 하지 않고, Azure에서 생성시, active - standby로 만들어 진다. standby 인스턴스는, active 인스턴스가 문제가 생길경우 failover해서 vpn 기능을 이어나간다.

예를 들어, Azure의 리소스들은 planned maintenace라는 것을 진행하는데, 해당 점검 동안은 보통 서비스들이 불통이 된다. 이러한 경우, active - standby는 10 ~ 15초 내로 vpn 연결이 복구되며, 계획되지 않은 이슈에 대해서는 1분 혹은 최악의 경우 3분 안으로 vpn 연결이 복구된다.

Azure vpn은 기본적으로 active - standby가 제공되어지고 있다.
Azure 감사합니다.

active - active

active - active에는 종류가 몇가지 있다.

기준은 "어느쪽에 ha 구성이 되어있는가?" 이다.

onprem에서 active - active

Azure vpn뿐만 아니라, 연결하는 onprem 혹은 다른 cloud의 vpn 리소스도 down이 될 수 있다. 세상에 완벽한건 없어

출처: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-highlyavailable

이러한 경우, Azure의 vpn은 그대로 active - standby으로 유지 되나, onprem 혹은 타 클라우드의 리소스가 문제가 생겨도, 연결은 유지되는 부분이다.

이렇게 구성하려면, Azure vpn에 연결하는 local network gateway가 2개여야 한다. (local network gateway는 상대쪽 gateway를 대변하기에)

Azure에서 active - active

반대로, onprem의 방화벽 또는 vpn 장비가 하나이고, Azure vpn gateway를 actvie - active로 생성하여, 2개의 pip를 부여받아 active - active 구성하는 방법이다.

출처: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-highlyavailable

이러한 경우에는 Azure vpn의 standby 인스턴스가 pip를 가지고 있는 부분을 아래와 같이 확인 가능하다.

onprem의 방화벽 장비 혹은 vpn 장비에 2개의 public ip를 이용하여 vpn을 연결한다.

onprem의 장비 이상일 경우 어쩔수 없지만, Azure vpn 리소스가 문제가 생기거나, planned maintenance가 진행되는 경우, 다른 하나의 vpn gateway가 있기에 그대로 vpn 연결을 유지할 수 있다.

onprem, Azure 양쪽 모두 active - active

이전에 선배가 절대 죽지 않는 구성에 대해서 비밀노트를 알려준 적이 있다.

절대 장애없는 구성은 전부 2개씩 만들면 돼

출처: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-highlyavailable

위와 같이 구성하는 부분은,
Azure 쪽에서는, local network gateway 두개 만들고,
onprem 쪽에서는, 각각의 방화벽 또는 vpn 장비에 Azure vpn pip를 연결하면 된다.

여담으로,
onprem 쪽 vpn에서 vpn 인스턴스 1개만 연결한다면, 다른 vpn 인스턴스가 계쏙 들어오려고 시도하는 것을 vpn 장비 혹은 방화벽 장비의 로그를 통해 볼 수 있다.

테스트 중 fortigate에 노크를 계속하는 특정 ip를 보고 얼마나 놀랬는지...
내가 연결하지 않은 vpn 인스턴스의 pip였다.

마치며

미팅이나 회의를 진행하며, Azure의 vpn 관련되서 고가용성에 대한 이야기가 가끔 나올때가 있다.

오늘 정리한 글이 도움이 되길 바란다.

profile
n년차 눕눕

0개의 댓글