05Active-Active 모드·Geo ClusterActive-Active 모드·Geo Cluster
앞 장의 HA·Load Sharing은 멤버들이 같은 네트워크에 모여 있다 고 전제했습니다. 하지만 실무에서는 멤버를 서로 다른 지역·사이트·클라우드 가용 영역 에 흩어 두고 싶을 때가 많습니다. 본사와 재해 복구 센터에 하나씩, 혹은 AWS의 서로 다른 가용 영역(availability zone)에 하나씩 두는 식입니다. 이렇게 지리적으로 떨어진 멤버를 하나의 클러스터로 묶는 두 가지 모드가 Active-Active 모드 와 Geo Cluster 입니다. 이 장은 두 모드의 개념·전제 조건·한계, 그리고 새 클러스터를 만드는 절차와 기존 클러스터를 전환하는 절차를 원문 그대로 빠짐없이 풀어 둡니다.
Active-Active 모드
Active-Active 모드는 R80.40에서 도입되었습니다. 이 모드는 Cluster Member들이 서로 다른 지리적 위치(다른 사이트, 다른 클라우드 가용 영역)에 놓인 클러스터를 위해 설계되었습니다. 핵심은 각 멤버의 인터페이스 IP가 서로 다른 네트워크에 있다 는 점입니다 — Sync 인터페이스까지 포함해서 그렇습니다. 일반 HA처럼 같은 서브넷을 공유하지 않습니다.
동작 방식은 이렇습니다. 각 Cluster Member는 자기에게 라우팅된 모든 트래픽을 검사하고, 기록한 연결(connection)을 동료 멤버에게 동기화 합니다. 여기서 반드시 짚어야 할 점이 있습니다. Active-Active는 트래픽을 멤버 간에 분산하지 않 습니다. Load Sharing이 아니라는 뜻입니다. 트래픽은 라우팅이 각 멤버로 보내 주는 대로 들어와 처리되므로, 관리자가 각 멤버의 부하를 직접 모니터링 해야 합니다(클러스터 모니터링·문제 해결).
전제 조건과 옵션
Active-Active를 쓰려면 다음을 알아 두어야 합니다.
- 관리 서버(Management Server)와 ClusterXL 모두 R80.40 이상 에서만 Active-Active 모드를 구성할 수 있습니다.
- 앞서 말했듯 Active-Active는 트래픽의 Load Sharing을 제공하지 않 으므로, 관리자가 각 멤버의 부하를 직접 살펴야 합니다(클러스터 모니터링·문제 해결).
- Cluster Control Protocol(CCP) 암호화가 켜져 있어야 합니다 — 이것이 기본값입니다(CCP 설정 구성).
- CCP를 Layer 2에서 동작 하도록 구성할 수도 있습니다.
- 각 Cluster Member에서 Dynamic Routing(동적 라우팅)을 켜 면, 해당 멤버가 그 사이트의 Area 또는 Autonomous System에서 라우터로 동작합니다. 이 경우 동적 라우팅을 구성한 인터페이스마다 BFD(Bidirectional Forwarding Detection,
ip-reachability-detection)를 반드시 활성화 해야 합니다.
한계
다음 한계가 Active-Active 모드에 적용됩니다.
- 지원되는 Software Blade·기능은 다음으로 한정 됩니다 — Firewall, IPS, NAT(Hide behind IP address, Static NAT), Application Control, URL Filtering, Content Awareness, Anti-Spam and Email Security, Anti-Bot, Anti-Virus.
- 멤버는 최대 4대 까지 지원됩니다.
- VSX는 지원되지 않 습니다.
- 모든 Multi-Portal은 지원되지 않 습니다(예: Mobile Access Portal, Identity Awareness Captive Portal, Data Loss Prevention Portal).
- 같은 "쪽(side)"에 속한 인터페이스 이름은 모든 Cluster Member에서 같아야 합니다.
- 클러스터 객체 속성의 Network Management 페이지에서 클러스터 인터페이스를 골라 Edit 했을 때, Network Type 필드에서 온프레미스든 클라우드(예: AWS, Azure)든 Cluster + Sync 선택은 지원되지 않 습니다.
- 같은 Network Management 페이지에서 클러스터 인터페이스를 Edit 했을 때, Topology 섹션에서는 클러스터 인터페이스에 대해 다음 두 옵션만 지원 됩니다.
- Override > Network defined by routes (기본값).
- Override > Specific > 해당 Network 객체 또는 Network Group 객체 선택.
- Dynamic Routing을 켜면 동적 라우팅을 구성한 인터페이스마다 BFD(
ip-reachability-detection)를 활성화 해야 합니다. - ClusterXL 객체 속성의 NAT 창에서 Hide internal networks behind the Gateway's external IP 옵션은 지원되지 않습니다.
- 같은 NAT 창의 Hide behind the gateway 옵션도 지원되지 않습니다.
새 ClusterXL을 Active-Active 모드로 구성하기
1단계 — Cluster Member 설치. ClusterXL Cluster Member들을 설치합니다(자세한 내용은 R82 Installation and Upgrade Guide 참고).
2단계 — (선택) 동적 라우팅. 각 Cluster Member에서 Dynamic Routing을 켜면 해당 사이트의 Area 또는 Autonomous System에서 라우터로 동작합니다.
3단계 — 관리 서버 연결. SmartConsole로 Management Server에 접속합니다.
4단계 — Gateways & Servers. 왼쪽 탐색 패널에서 Gateways & Servers 를 클릭합니다.
5단계 — 새 Cluster 객체 만들기. 다음 중 한 방법으로 새 Cluster 객체를 만듭니다.
- 상단 툴바에서 New > Cluster > Cluster.
- 좌측 상단에서 Objects 메뉴 > More object types > Network Object > Gateways and Servers > Cluster > New Cluster.
- 우측 상단에서 Objects Pane > New > More > Network Object > Gateways and Servers > Cluster > Cluster.
Check Point Security Gateway Cluster Creation 창이 뜨면 반드시 Classic Mode 를 클릭 합니다.
6단계 — General Properties. 왼쪽 트리에서 General Properties 를 클릭합니다.
- IPv4 Address 필드에
0.0.0.0주소를 입력 합니다. - Network Security 탭에서 IPsec VPN 을 해제 합니다.
- 지원되는 Software Blade 목록은 sk181128의 Known Limitation PMTR-70255를 참고합니다.
7단계 — Cluster Members. 왼쪽 트리에서 Cluster Members 를 클릭하고 멤버를 추가합니다.
- Add > New Cluster Member 를 클릭하면 Cluster Member Properties 창이 열립니다.
- Name 필드에 첫 번째 Cluster Member 객체의 이름을 넣습니다.
- 이 멤버의 주 물리 IP 주소를 구성합니다. IPv4 Address ·IPv6 Address 필드에는 멤버의 First Time Configuration Wizard에서 Management Connection 페이지에 설정했던 것과 같은 IPv4·IPv6 주소 를 넣습니다. Security Management Server 또는 Multi-Domain Server가 이 IP에 접속할 수 있어야 합니다.
- Communication 을 클릭합니다.
- One-time password ·Confirm one-time password 필드에 멤버의 First Time Configuration Wizard에서 입력했던 것과 같은 Activation Key 를 넣습니다.
- Initialize 를 클릭합니다.
- Close, 이어서 OK 를 클릭합니다.
- 위 a~h 단계를 반복해 다음 Cluster Member를 추가합니다.
만약 Trust State 필드에 Trust established 가 표시되지 않 으면 다음을 따릅니다.
- 해당 Cluster Member의 명령줄에 접속합니다.
- 멤버와 Management Server 사이에 물리적 연결이 있는지(예: ping이 통하는지) 확인합니다.
- 다음을 실행합니다.
- 메뉴에서 다음 옵션 번호를 입력합니다.
Secure Internal Communication
- 화면 안내에 따라 Activation Key를 변경합니다.
- SmartConsole에서 Reset 을 클릭합니다.
- cpconfig 메뉴에서 입력한 것과 같은 Activation Key를 넣습니다.
- SmartConsole에서 Initialize 를 클릭합니다.
8단계 — ClusterXL and VRRP. 왼쪽 트리에서 ClusterXL and VRRP 를 클릭합니다.
- Select the cluster mode and configuration 섹션에서 Active-Active 를 선택 합니다.
- Tracking 섹션에서 알맞은 옵션을 고릅니다.
- (선택) Use State Synchronization 을 선택합니다. 이렇게 하면 멤버들이 자기가 검사한 연결 정보를 서로 동기화 합니다.
- (선택) Start synchronizing [ ] seconds after connection initiation 을 선택하고 값을 넣습니다. 이 옵션은 R80.20 이상 클러스터에서만 쓸 수 있습니다. 수명이 짧은 연결(short-lived connection)의 동기화 가 클러스터 성능을 떨어뜨리는 것을 막기 위해, 연결이 시작되고 일정 시간이 지난 뒤부터 동기화를 시작하도록 설정할 수 있습니다. 범위: 2~60초, 기본값: 3초 입니다.
9단계 — 모드 적용. OK 를 클릭해 새 클러스터 모드로 클러스터 객체 속성을 갱신합니다.
10단계 — 객체 다시 열기. 클러스터 객체를 다시 열어 구성을 이어 갑니다.
11단계 — Network Management. 왼쪽 트리에서 Network Management 를 클릭합니다.
- 상단에서 Get Interfaces > Get Interfaces With Topology 를 클릭합니다.
- 각 인터페이스를 선택해 Edit 합니다.
- 왼쪽 트리에서 General 페이지를 클릭합니다.
- General 섹션의 Network Type 필드에서 알맞은 유형을 고릅니다.
- 클러스터 트래픽 인터페이스는 Cluster 를 선택합니다. IPv4 필드에는 더미 IP 주소
0.0.0.0 / 24가 자동으로 설정됩니다.
- 클러스터 트래픽 인터페이스는 Cluster 를 선택합니다. IPv4 필드에는 더미 IP 주소
- 클러스터 동기화 인터페이스는 Sync 를 선택합니다.
- 연결된 네트워크 사이로 트래픽을 전달하지 않는 인터페이스는 Private 를 선택합니다.
- Member IPs 섹션에서 각 Cluster Member의 IPv4 주소와 Net Mask가 정확한지 확인합니다.
- Topology 섹션에서 Leads To ·Security Zone 필드 설정이 맞는지 확인합니다. 클러스터 인터페이스에는 다음 옵션만 지원 됩니다(Known Limitation PMTR-70260).
- Override > Network defined by routes (기본값).
- Override > Specific > 해당 Network 객체 또는 Network Group 객체 선택.
12단계 — OK 를 클릭합니다.
13단계 — SmartConsole 세션을 Publish 합니다.
14단계 — 알맞은 Access Control Policy 를 구성하고 설치합니다.
15단계 — 알맞은 Threat Prevention Policy 를 구성하고 설치합니다.
16단계 — 상태 확인. 클러스터 상태를 살핍니다(클러스터 상태 보기). 예를 들면 다음과 같이 나옵니다.
Member1> show cluster state
Cluster Mode: Active Active with IGMP Membership
ID Unique Address Assigned Load State Name
1 (local) 11.22.33.245 N/A ACTIVE Member1
2 11.22.33.246 N/A ACTIVE Member2
Active PNOTEs: None
... ... ...
Member1>기존 ClusterXL을 Active-Active 모드로 바꾸기
이미 운영 중인 클러스터를 Active-Active로 전환할 때의 절차입니다.
1단계 — SmartConsole로 Management Server에 접속합니다.
2단계 — 왼쪽 탐색 패널에서 Gateways & Servers 를 클릭합니다.
3단계 — 기존 ClusterXL 객체를 엽니다.
4단계 — 왼쪽 트리에서 ClusterXL and VRRP 를 클릭합니다.
5단계 — Select the cluster mode and configuration 섹션에서 Active-Active 를 선택 합니다.
6단계 — (필수) OK 를 클릭해 새 클러스터 모드로 클러스터 객체 속성을 갱신합니다.
7단계 — 클러스터 객체를 다시 열어 구성을 이어 갑니다.
8단계 — 동기화 설정. 왼쪽 트리에서 다시 ClusterXL and VRRP 를 클릭합니다.
- Tracking 섹션에서 알맞은 옵션을 고릅니다.
- (선택) Use State Synchronization 을 선택합니다. 멤버들이 검사한 연결 정보를 서로 동기화하게 됩니다.
- (선택) Start synchronizing [ ] seconds after connection initiation 을 선택하고 값을 넣습니다(R80.20 이상에서만 사용 가능). 수명 짧은 연결의 동기화가 성능을 해치는 것을 막기 위해, 연결 시작 후 일정 시간 뒤부터 동기화를 시작합니다. 범위: 2~60초, 기본값: 3초.
9단계 — Network Management. 왼쪽 트리에서 Network Management 를 클릭합니다.
- 각 인터페이스를 선택해 Edit 하고, 왼쪽 트리에서 General 페이지를 클릭합니다.
- General 섹션의 Network Type 필드에서 알맞은 유형을 고릅니다.
- 클러스터 트래픽 인터페이스는 Cluster — IPv4 필드에 더미 IP
0.0.0.0 / 24가 자동 설정됩니다.
- 클러스터 트래픽 인터페이스는 Cluster — IPv4 필드에 더미 IP
- 클러스터 동기화 인터페이스는 Sync — 동기화 네트워크는 하나만 지원하며, 이중화가 필요하면 Bond 인터페이스를 씁니다. 클라우드 배포(예: AWS, Azure)에서는 Cluster + Sync 선택이 지원되지 않습니다.
- 트래픽을 전달하지 않는 인터페이스는 Private 를 선택합니다.
- Member IPs 섹션에서 각 멤버의 IPv4 주소와 Netmask가 맞는지 확인합니다.
- Topology 섹션에서:
- Leads To ·Security Zone 필드 설정이 맞는지 확인합니다.
- Modify 를 클릭합니다.
- Leads To 섹션에서 Override 를 선택했다면, 클러스터 인터페이스에는 다음 옵션만 지원 됩니다(Known Limitation PMTR-70260) — Override > Network defined by routes(기본값), Override > Specific > 해당 Network/Network Group 객체.
- Anti-Spoofing 섹션에서 Perform Anti-Spoofing based on interface topology 옵션을 반드시 해제 합니다.
- OK 를 클릭합니다.
10단계 — OK 를 클릭합니다.
11단계 — SmartConsole 세션을 Publish 합니다.
12단계 — 알맞은 Access Control Policy 를 구성하고 설치합니다.
13단계 — 알맞은 Threat Prevention Policy 를 구성하고 설치합니다.
14단계 — 클러스터 상태를 살핍니다(클러스터 상태 보기). show cluster state 출력은 새 클러스터 구성 때와 같은 형태로 두 멤버가 모두 ACTIVE 로 표시됩니다.
동적 라우팅 페일오버(Dynamic Routing Failover)
Active-Active 모드에서 동적 라우팅과 함께 장애가 일어났을 때의 동작입니다.
- Sync 인터페이스에 문제가 생기면(인터페이스 상태 또는 링크 문제):
- 해당 멤버의 Critical Device Interfaces Active Check 가 자기 상태를 "problem" 으로 보고합니다.
- 각 Cluster Member는 동료 멤버의 상태를 LOST 로 보고합니다.
clusterXL_admin down명령을 실행하면(clusterXL_admin 스크립트):- 해당 멤버의 Critical Device admin_down 이 자기 상태를 "problem" 으로 보고합니다.
- 명령을 실행한 멤버는 자기 상태를 DOWN 으로 보고합니다.
어떤 Cluster Member의 클러스터 상태가 DOWN 이 되면, 그 멤버는 동적 라우팅 트래픽 처리를 멈춰 다음 홉 라우터(next hop router)가 라우팅 테이블을 갱신하도록 강제 합니다. 그 결과 일시적인 네트워크 단절이 생길 수 있습니다. 동적 라우팅 프로토콜이 라우팅 테이블을 갱신하고 변경을 전파하는 데 시간이 걸리기 때문입니다.
Geo Cluster
Geo Cluster 는 R81.20에서 도입된, 클라우드 환경의 ClusterXL High Availability 모드 입니다. 이 모드는 Cluster Member들이 서로 다른 클라우드 가용 영역(availability zone)에 위치 한 클러스터를 위해 설계되었습니다.
동작은 일반 HA와 같은 원리입니다. 각 Cluster Member는 자기에게 라우팅된 모든 트래픽을 검사하고, 기록한 연결을 동료 멤버에게 동기화 합니다. 또한 각 멤버가 자기 클러스터 상태와 동료 멤버의 상태를 함께 감시 하다가, 클러스터 장애가 나면 페일오버 합니다.
클라우드에서의 실제 배포 방법은 CloudGuard Network for AWS Cross Availability Zone Cluster Deployment Guide 를 참고하세요.
정리하면, 같은 네트워크 안에 모인 묶음이 HA·Load Sharing이라면, 지역·사이트·클라우드 가용 영역을 가로지르는 묶음이 Active-Active와 Geo Cluster 입니다.