글 작성 배경
참가중인 프로젝트에서 Azure 네트워크 트래픽 관리를 위한 리소스 및 옵션에 대해서 알아보는 중이다. 지금까지 어찌어찌 네트워크 관련 업무를 수행해 왔지만, 새로운 프로젝트에서 기초 개념 및 각 옵션 값의 이해에 부족함을 느끼고 있어서 다시 정리하려고 한다.
- Express Route
- Azure firewall
- Network security group
- Route table +
UDR (User define routes)
- Virtual appliance (ex: Palo Alto, FortiGate)
궁금했던 부분 정리
Propagate gateway routes 설정
Route table을 작성할 때 Propagate gateway routes
옵션의 값을 Yes. No 로 지정할 수 있다.
Border gateway protocol
ER and VPN Gateway route propagation can be disabled on a subnet using a property on a route table. When you disable route propagation, the system doesn’t add routes to the route table of all subnets with Virtual network gateway route propagation disabled. This process applies to both static routes and BGP routes. Connectivity with VPN connections is achieved using custom routes with a next hop type of Virtual network gateway. Route propagation shouldn’t be disabled on the GatewaySubnet. The gateway will not function with this setting disabled. For details, see How to disable Virtual network gateway route propagation.
네트워크 구성도
실제로는 VPN Gateway가 아닌 Express Route 로 연결되어 있지만, 새로 그리기 귀찮아서 Microsoft Learn 에서 가져온 구성도이다.
- VPN Gateway
- Virtual network-1 (Address space: 10.0.0.0/16)
- Virtual network-1/Subnet-1 (Subnet prefix: 10.0.0.0/24)
- Virtual network-1/Subnet-2 (Subnet prefix: 10.0.1.0/24)
- Virtual network peering
- Virtual network-2 (Address space: 10.1.0.0/16, 10.2.0.0/16)
찾아 본 바로는..
외부에서 Azure 내부로 트래픽을 전송하려면 3가지 방법이 존재한다.
- 인터넷 경유
: 가장 기본적인 형태, 인터넷을 통해 Azure 서비스(ex: virtual machine, web application) 에 접근한다. 보안을 위해 Network Security Group을 사용하여 특정 Port, IP Address 를 제한할 수 있다. - VPN Gateway 사용
: 인터넷을 경유하지만 통신은 모두 암호화되며 On-premise, Azure Vnet 간의 안전한 연결을 제공한다. S2S (Site to Stie) 또는 P2S (Point to Site) VPN 연결을 구성할 수 있다. 보안이 중요한 비지니스 환경에 적합하다. - Express Gateway 사용
: VPN과 달리 인터넷을 경유하지 않는다. 사설 연결을 통해 On-premise, Azure 간의 네트워크를 직접 연결한다. 더 높은 대역폭, 더 낮은 지연 시간 및 일관된 네트워크 환경을 제공하며, 크기가 큰 데이터를 전송하거나, 지연 시간이 중요한 Application에 적합하다.
여기서 Propagate gateway routes 설정을 고려하는 경우는, VPN Gateway
혹은 Express Gateway
를 사용하는 경우이다.
Azure에서도 네트워크 간의 데이터를 주고받을 때 다음 경로 (Next hop)가 어딘지 확인하기 위한 라우트 테이블Route table
이라는 것을 사용한다. 라우트 테이블은 데이터가 어디로 가야 하는지를 알려주는 지도와 비슷하다.
여기서, 게이트웨이 라우트 전파 설정은 목적지로 가는 경로를 알려주는 라우트 테이블을 자동으로 전달해주는 기능이다.
- On: 데이터는 VPN Gateway 또는 Express Route를 통해 Azure 내부의 다른 네트워크로 가는 길을 자동으로 제공받을 수 있다.
- Off: 데이터는 목적지 정보를 갖고 있지 않기 때문에, 사용자가 직접 라우트 테이블에 경로를 설정해야 한다.
Propagate gate routes 옵션의 단점
위 옵션을 항상 On으로 설정하는 것이 최선의 선택은 아니다.
간편하고 자동적으로 라우팅이 설정되는 장점이 있지만, 몇 가지 단점 또한 존재한다.
- 네트워크 트래픽 제어의 감소
: 네트워크 관리자가 트래픽 흐름을 세밀하게 제어하는 데 제한이 있을 수 있다. - 보안 위험
: 보안이 민감한 네트워크 구역으로의 라우팅을 허용할 가능성이 있다. 특정 네트워크 경로를 제한하고 싶은 경우, 수동으로 라우트를 관리하는 것이 안전할 수 있다. - 복잡성 증가
: 네트워크 규모가 커지고 복잡해질수록 자동으로 생성되는 라우트들로 인해 복잡성이 증가될 수 있다. 이로 인해 문제 해결 및 네트워크 최적화가 어려워질 수 있다. - 비용
: 불필요한 라우트 전파는 네트워크 트래픽을 증가시킬 수 있다. - 라우팅 루프 및 충돌
: 예상치 못한 라우팅 루프 혹은 충돌이 발생할 수 있다. 이는 네트워크 성능 저하 혹은 중단의 원인이 될 수 있다.