10시스템 최적화System Optimization in Maestro
이 장은 Maestro Security Group에서 성능과 가용성을 끌어올리기 위해 취할 수 있는 최적화 작업들을 빠짐없이 정리합니다. 부하에 따라 어플라이언스를 자동으로 붙였다 떼는 Auto-Scaling, 신뢰하는 연결을 Orchestrator 하드웨어로 내려보내 가속하는 Fastforward, 로그 부하를 분산하는 전용 로깅 포트, Dual Site 절체를 다루는 Security Group 고가용성(HA), 그리고 신원 기반 접근 제어까지 차례로 다룹니다.
Maestro Auto-Scaling
Auto-Scaling이란
Maestro Auto-Scaling 은 특정 조건이 충족되면 가용 Security Appliance(Scale Unit)를 Security Group에 자동으로 배정 하는 기능입니다. 어떤 조건에서 어플라이언스를 붙일지(또는 뗄지)는 Quantum Maestro Orchestrator 에서 Security Group별로 구성합니다.
사전 요건
Auto-Scaling을 쓰기 전에 다음 세 가지를 갖춰야 합니다.
- Maestro Security Group 안의 Security Appliance들은 모두 같은 모델 이어야 합니다.
- Security Group에서 SMO Image Cloning 을 켜야 합니다. Security Group의 Gaia gClish에서 다음을 실행합니다.
set cluster configuration image auto-clone state on
show cluster configuration image auto-clone state
- Scale Unit이 User Center 에서 라이선스를 받아올 수 있도록, Security Group에 인터넷 연결 이 있어야 합니다.
제한 사항
- Maestro Security Group에 서로 다른 어플라이언스 모델 이 섞여 있으면 Auto-Scaling 설정을 구성할 수 없습니다.
- Security Group의 CPU 사용률이 높으면, Orchestrator가 Security Group 멤버를 "Expired(만료됨)"로 간주할 수 있습니다.
Auto-Scaling 용어
| 용어 | 정의 |
|---|---|
| KPI | Key Performance Indicator(핵심 성능 지표). |
| Scale Unit | "Scale Up" 정책 규칙이 최소 하나 충족되면 Security Group에 자동으로 배정 되고, 모든 "Scale Down" 규칙이 충족되면 자동으로 제거 될 수 있는 Security Appliance. |
| Scale Up policy | Security Group의 KPI를 기준으로 구성한 규칙 묶음. 규칙 하나라도 (지정한 연속 시간 동안) 매칭되면 같은 하드웨어의 Scale Unit이 그 Security Group에 배정 됩니다. |
| Scale Down policy | Security Group의 KPI를 기준으로 구성한 규칙 묶음. 규칙 하나라도 (지정한 연속 시간 동안) 매칭되면 Scale Unit이 릴리스 후보(release candidate) 로 표시됩니다. |
| Release Candidate | 현재 어떤 Security Group에 배정되어 있지만, 다른 Security Group의 "Scale Up" 규칙이 충족되면 그쪽으로 옮겨질 준비가 된 Scale Unit. |
Auto-Scaling 구성
Auto-Scaling은 Orchestrator에서 Gaia Portal 또는 Gaia Clish 로 구성합니다.
Gaia Portal에서 구성
- Orchestrator의 Gaia Portal 에 접속합니다.
- 왼쪽 트리에서 Orchestrator 를 클릭합니다.
- 왼쪽 창의 Unassigned Gateways / assigned Gateways(Security Group에 어플라이언스가 둘 이상 배정돼 있을 때)에서 Security Appliance를 우클릭하고 Set Scale Unit 을 클릭합니다.
- 가운데 Topology 창에서 Security Group을 우클릭하고 Set Security Group configuration 을 클릭합니다.
- Auto-Scaling settings 탭을 클릭합니다.
- Scale up policy 규칙을 구성합니다.
- Add 를 클릭합니다.
- 각 필드에서 알맞은 값을 고릅니다.
| 필드 | 선택할 수 있는 값 |
|---|---|
| When | Each Member — "Each Member" KPI 기준으로 측정하고, 규칙에 설정한 임계값을 개별 멤버 가 넘으면 새 Security Appliance를 요청합니다. / Security Group (Average) — "Security Group(평균)" KPI 기준으로 측정하고, 평균값 이 임계값을 넘으면 새 어플라이언스를 요청합니다. |
| With | 규칙이 쓸 KPI — CPU Utilization (%), Throughput (Gbps), Packets (p/s), Connections 중에서 선택. |
| More than | 임계값 설정 — CPU 사용률은 1~100, 그 밖의 지표는 1~1099511627776(1TB). |
| For consecutive period of | 지속 시간 — 1~86400초(최대 1일). |
- OK 를 클릭합니다.
- Attach up to 필드에 이 Security Group에 붙일 Security Appliance 개수를 설정합니다.
- Scale down policy 규칙을 구성합니다.
- Add 를 클릭합니다.
- 각 필드에서 알맞은 값을 고릅니다.
| 필드 | 선택할 수 있는 값 |
|---|---|
| When | Security Group (Average) — "Security Group(평균)" KPI 기준으로 측정하고, 평균값이 규칙의 임계값보다 작아지면 현재 점유 중인 Scale Unit을 릴리스 후보로 표시합니다(= Security Group이 그 Scale Unit을 놓아줄 수 있음). |
| With | 규칙이 쓸 KPI — CPU Utilization (%), Throughput (Gbps), Packets (p/s), Connections 중에서 선택. |
| Less than | 임계값 설정 — CPU 사용률은 1~100, 그 밖의 지표는 1~1099511627776(1TB). |
| For consecutive period of | 지속 시간 — 1~86400초(최대 1일). |
- OK 를 클릭합니다.
- Detach single scale unit 필드에 이 Security Group에서 뗄 Security Appliance 개수를 설정합니다.
- OK 를 클릭합니다.
Gaia Clish에서 구성
- Orchestrator의 명령줄에 접속합니다.
- Gaia Clish 에 로그인합니다.
- Scale up 정책 규칙을 구성합니다.
add maestro auto-scale security-group-id <Security Group ID>
scale-up-policy when {Each-Member | Security-Group-Average}
with {CPU | bps | pps | connections} more-than <Threshold>
period <Duration>
- 구성한 Scale up 규칙 중 하나라도 충족될 때 이 Security Group에 붙일 Security Appliance 개수를 설정합니다.
set maestro auto-scale security-group-id <Security Group ID>
scale-units-to-attach <1-4>
- Scale down 정책 규칙을 구성합니다.
add maestro auto-scale security-group id <Security Group ID>
scale-down-policy when <Security-Group-Average> with {CPU |
bps | pps | connections} less-than <Threshold> period
<Duration>
- 이 Security Group에서 Auto-Scaling을 켭니다.
set maestro auto-scale security-group-id <Security Group ID>
state enable
- 특정 사이트의 어플라이언스를 시리얼 번호로 지정해 Scale 어플라이언스로 구성합니다.
set maestro auto-scale site-id <Site ID> scale-unit-serial
<Serial Number> state on
Gaia Clish에서 쓰는 관련 명령은 다음과 같습니다.
add maestro auto-scale
set maestro auto-scale
show maestro auto-scale
delete maestro auto-scaleOrchestrator에서 Auto-Scaling 모니터링
아래 작업은 모두 Orchestrator의 명령줄에 접속해 Gaia Clish에 로그인한 뒤 실행합니다.
- Security Group의 Auto-Scaling 상태 보기:
show maestro auto-scale security-group-id <Security Group ID> state
- Security Group의 Scale Unit 목록 보기:
show maestro auto-scale scale-units
- Scale Up 규칙 보기:
show maestro auto-scale security-group-id <Security Group ID> scale-up-rules
- Scale Down 규칙 보기:
show maestro auto-scale security-group-id <Security Group ID> scale-down-rules
현재 Security Group들과 KPI를 보려면, Gaia Clish에서는 show maestro auto-scale interactive-status 를, Expert mode에서는 mas_cli --interactive 를 실행합니다.
Security Group: 1
Site: 1
Average:
| CPU Utilization: 9%
| Pckt/s: 8
| Bytes/s: 5652
| Connections: 384
Average (w/o 1 SU): | CPU Utilization: 13%
| Pckt/s: 13
| Bytes/s: 8478
| Connections: 576
Member: 1
| CPU Utilization: 7%
| Pckt/s: 12
| Bytes/s: 8562
| Connections: 372
Member: 2
| CPU Utilization: 9%
| Pckt/s: 4
| Bytes/s: 2656
| Connections: 412
[Scale Unit]
Member: 3
| CPU Utilization: 11%
| Pckt/s: 10
| Bytes/s: 5739
| Connections: 369
[Scale Unit]
----------------------------------------------------------------현재 Auto-Scaling 규칙을 보려면, Gaia Clish에서는 show maestro auto-scale interactive-rules 를, Expert mode에서는 mas_cli --interactive-rules 를 실행합니다.
Security Group: 1
Scale Up Rules:
ID 1: When Each member with CPU utilization exceeds 70% For
60 seconds | No Match
Scale Down Rules:
ID 1: When Security Group with CPU utilization less than 30%
For 60 seconds | Match for 16 seconds
----------------------------------------------------------------Auto-Scaling 문제 해결
Auto-Scaling 서비스 — 문제를 풀 때는 먼저 masd 서비스가 Orchestrator와 Security Group 멤버 양쪽에서 실행 중 인지 확인합니다. 두 곳 모두에서 Expert mode로 로그인한 뒤 service masd status 를 실행하면, 정상이라면 masd is running... 이 나와야 합니다.
service masd statusAuto-Scaling 로그 파일 — Orchestrator와 Security Group 멤버에서 masd 데몬 로그를 실시간으로 살펴봅니다(각각 Expert mode).
tail -F /var/log/masd.elgAuto-Scaling 규칙 확인 — Orchestrator에서 구성한 규칙이 제대로 적용됐는지 보려면, Expert mode에서 mas_cli --interactive-rules 로 규칙 목록을 받아 Gaia Portal/Clish에서 구성한 내용과 비교 합니다.
멤버의 KPI 보고 확인 — Security Group 멤버가 Orchestrator로 KPI를 제대로 보고하는지 보려면, Orchestrator의 Expert mode에서 mas_cli --interactive 로 KPI 상태를 확인합니다.
Maestro Fastforward
Fastforward란
Maestro Fastforward 는 신뢰하는 연결에 대해 선택한 정책 규칙을 Quantum Maestro Orchestrator로 오프로드해, accept/drop을 하드웨어 수준에서 가속 하는 기능입니다.
주요 이점은 다음과 같습니다.
- 낮은 지연(Low latency) — 마이크로초 미만의 지연. 음성, 트레이딩, 내부 신뢰 서버 간 통신처럼 특정 신뢰 민감 흐름 에 매우 낮은 지연을 제공합니다.
- 처리량(Throughput) — 연결된 인터페이스 대역폭에 따른 포트 라인 레이트 처리량. 하나의 연결에 최대 200Gbps 까지 달성합니다. 서버 간 통신·백업처럼 대용량 신뢰 연결에 켤 수 있습니다.
- 문제 해결/우회(Troubleshooting / Bypassing) — 문제 해결 과정에서 선택한 튜플을 전달(우회)합니다.
그림: Fastforward 동작 개요 (p.234)
Fastforward의 동작 원리
정책(Policy) — 관리자는 오프로드하려는 규칙의 이름에 특정 접두사(prefix, 변경 가능) 를 붙여 표시합니다. 정책 설치 시, 해당 규칙들은 ACL(Access Control List) 로 변환되어 Orchestrator로 오프로드되고 하드웨어 수준에서 적용됩니다.
라우팅(Routing) — Layer 3(라우팅) 수준에서 신뢰 연결을 가속하려면, Orchestrator가 Security Gateway와 동일한 토폴로지 시각 을 가져야 올바른 출력 인터페이스와 next hop으로 패킷을 보낼 수 있습니다. 따라서 이 기능은 Security Gateway/Virtual System의 라우팅 토폴로지를 복제하며, 이 로직은 하드웨어 수준에서 일어나 매우 견고합니다.
Fastforward FAQ
지원되는 배포 유형은?
- Single Site 또는 Dual Site.
- 사이트당 Orchestrator 한 대 또는 두 대.
- Gateway 모드 또는 VSX 모드(VSX는 Virtual System마다 구성).
Fastforward로 가속된 연결도 방화벽 로깅이 되나?
- TCP 연결 — Action이 "Accept"인 규칙은 Orchestrator가 TCP SYN 패킷을 Security Group으로 보내며, Security Group이 그에 해당하는 로그를 생성 합니다.
- UDP 연결 — Security Group이 로그를 생성하지 않 습니다.
Client→Server, Server→Client(리턴 트래픽) 규칙을 따로 추가해야 하나?
아니요. stateful inspection처럼 규칙을 만들면 됩니다. ACL 변환 메커니즘이 C2S/S2C 규칙을 자동으로 추가 합니다.
방화벽이 Fastforward 가속 트래픽을 검사하나?
(Accept 규칙의) SYN / SYN-ACK 패킷만 검사합니다. 신뢰 연결을 Orchestrator 하드웨어 수준으로 완전히 오프로드하는 것이 이 기능의 맞교환이며, 그 덕에 Security Group 멤버에 영향 없이 매우 낮은 지연과 높은 처리량을 얻습니다.
Fastforward 토폴로지
| 토폴로지 | 설명 |
|---|---|
| Single Site, One Orchestrator | 단일 사이트에 Orchestrator 한 대 — 물리 연결에 제한이 없으며, 인터페이스는 일반 또는 bond 인터페이스 모두 가능합니다. |
| Single Site, Two Orchestrators | 단일 사이트에 Orchestrator 두 대 — "cross-Orchestrator" bond 인터페이스만 허용 됩니다(각 bond가 Orchestrator마다 종속 인터페이스를 가짐). "특별 고려 사항" 참고. |
| Dual Site | 사이트마다 "cross-Orchestrator" bond 인터페이스만 허용 됩니다. 각 bond는 사이트의 각 Orchestrator에 종속 인터페이스를 둡니다. Dual Site에서는 활성 사이트만 ACL을 적용 하며, 사이트 절체가 일어나면 새 활성 사이트가 활성화됩니다. |
| VSX | VSX 모드에서는 기능을 켠 각 Virtual System 에서 동작합니다. |
Fastforward 구성
이 기능은 기본적으로 꺼져 있습니다. Security Group마다 구성하며, VSX 모드에서는 Virtual System마다 구성합니다.
Fastforward 켜기
1/2단계 — Security Group에서 구성
- Security Group의 명령줄에 접속합니다.
- Gaia gClish 에 로그인합니다.
- VSX 모드라면 해당 Virtual System 컨텍스트로 이동합니다.
set virtual-system <VSID>
- Access Control 규칙에 붙일 접두사를 구성합니다.
set maestro fastforward rulebase-prefix enable prefix <Name Prefix>
예를 들어 접두사를 ff_rule 로 설정했다면, 정책 규칙 이름은 ff_rule_1, ff_rule_2 처럼 짓습니다.
[Global] MyChassis-01> set maestro fastforward rulebase-prefix enable prefix ff_rule
1_01:
Fastforward prefix status: enabled. Prefix is "ff_rule"
Please install policy from SmartConsole for the change to take effect.
2_01:
Fastforward prefix status: enabled. Prefix is "ff_rule"
Please install policy from SmartConsole for the change to take effect.
- Fastforward 기능을 켭니다.
set maestro fastforward state on
출력 예:
Routing configuration validation finished successfully.
Fastforward status: enabled
Please install policy from SmartConsole for the change to take effect.
2_01:
Routing configuration validation finished successfully.
Fastforward status: enabled
Please install policy from SmartConsole for the change to take effect.
2/2단계 — SmartConsole에서 구성
- 이 Security Group/Virtual System을 관리하는 Management Server에 SmartConsole 로 접속합니다.
- 앞서 Security Group에 설정한 접두사를 붙여 해당 Access Control 규칙을 구성합니다.
예: 이름 ff_rule_1, Source Backup_Server_1, Destination Backup_Server_2, Services nfsd-tcp, Action Accept, Track Log, Install On Policy Targets.
Fastforward용 Access Control 규칙에 대한 추가 주의 사항은 다음과 같습니다.
Action "Accept" 규칙에 대한 주의 사항
| 규칙 열 | 주의 사항 |
|---|---|
| Source | Host, Network, Group, Address Range 유형의 객체만 하나 이상 추가할 수 있습니다. "Any"는 쓸 수 없고 명시적 객체 를 넣어야 합니다. Security Group은 그 명시적 객체의 IP에 Data 인터페이스(관리 인터페이스가 아님) 로 접속할 수 있어야 합니다. Security Group의 Data 인터페이스에 직접 연결된 네트워크에 속한 IP 를 가진 객체는 쓸 수 없습니다. |
| Destination | Host, Network, Group, Address Range 유형의 객체만 하나 이상 추가할 수 있습니다. "Any"는 쓸 수 없고 명시적 객체를 넣어야 합니다. Security Group은 그 IP에 Data 인터페이스로 접속할 수 있어야 하고, Data 인터페이스에 직접 연결된 네트워크의 IP 객체는 쓸 수 없습니다. |
| Services & Applications | TCP 서비스 객체(single port / range of ports / source port), UDP 서비스 객체(같은 설정), 그리고 IP 기반 프로토콜의 Other Service 객체를 하나 이상 추가할 수 있습니다. |
Action "Drop" 규칙에 대한 주의 사항
| 규칙 열 | 주의 사항 |
|---|---|
| Source | Host, Network, Group, Address Range 유형의 객체만 추가할 수 있습니다. Drop 규칙에서는 "Any" 사용이 지원 되어 명시적 객체가 꼭 필요하지는 않습니다. 단, Data 인터페이스에 직접 연결된 네트워크의 IP 객체는 쓸 수 없습니다. |
| Destination | Host, Network, Group, Address Range 유형의 객체만 추가할 수 있습니다. "Any" 사용이 지원됩니다. Data 인터페이스에 직접 연결된 네트워크의 IP 객체는 쓸 수 없습니다. |
| Services & Applications | TCP(single port / range / source port), UDP(같은 설정), IP 기반 프로토콜의 Other Service 객체를 하나 이상 추가할 수 있습니다. |
Fastforward 끄기
1/2단계 — Security Group에서 구성
- Security Group의 명령줄에 접속합니다.
- Gaia gClish 에 로그인합니다.
- VSX 모드라면 해당 Virtual System 컨텍스트로 이동합니다 —
set virtual-system <VSID> - Fastforward를 끕니다.
set maestro fastforward state off
이 작업이 실패하면 강제로 끌 수도 있습니다("Fastforward 문제 해결" 참고). 출력 예:
clearing ACLs from all relevant Orchestrators
Fastforward status: disabled
2_01:
clearing ACLs from all relevant Orchestrators
Fastforward status: disabled
2/2단계 — SmartConsole에서 구성
- 해당 Management Server에 SmartConsole로 접속합니다.
- 앞서 설정한 접두사가 붙은 Access Control 규칙을 비활성화합니다 — No. 열에서 규칙을 우클릭하고 Disable 클릭.
- Security Gateway 객체/Virtual System 객체에 Access Control 정책을 설치합니다.
Fastforward 모니터링
Security Group은 평소처럼 TCP 연결을 로깅하므로 SmartConsole/SmartView에서 로그를 볼 수 있고, Orchestrator의 tor_util fastforward 명령으로 추가 정보를 얻습니다.
Fastforward 규칙의 hit 보기 — Orchestrator에 접속해 Expert mode로 로그인한 뒤 실행합니다.
tor_util fastforward show rules <Security Group ID> {0 | <Virtual System ID>}Gateway 모드에서 Security Group 1의 출력 예:
[Expert@MHO1:0]# tor_util fastforward show rules 1 0
Fastforward Rule Hits:
======================
| Counter ID | Hit Count | Port | Direction | Description
| 66240512 | 472065 | FF_SG1_VS0 | inbound | Rule 1 C2S UDP, 1.1.1.0/24:ANY -> 2.2.2.0/24:3000, ACCEPT
| 66256896 | 23740853 | FF_SG1_VS0 | inbound | Rule 1 S2C UDP, 2.2.2.0/24:3000 -> 1.1.1.0/24:ANY, ACCEPT
| 66273280 | 102381 | FF_SG1_VS0 | inbound | Rule 2 C2S UDP, 1.1.1.0/24:ANY -> 2.2.2.0/24:4000, DROP
| 66289664 | 589884 | FF_SG1_VS0 | inbound | Rule 3 C2S TCP, 10.10.10.0/24:ANY -> 20.20.20.0/24:22, ACCEPT
| 66306048 | 968405 | FF_SG1_VS0 | inbound | Rule 3 S2C TCP, 20.20.20.0/24:22 -> 10.10.10.0/24:ANY, ACCEPT
| 66322432 | 0 | FF_SG1_VS0 | inbound | Rule 4 C2S UDP, 10.10.10.0/24:ANY -> 20.20.20.0/24:445, ACCEPT
| 66338816 | 0 | FF_SG1_VS0 | inbound | Rule 4 S2C UDP, 20.20.20.0/24:445 -> 10.10.10.0/24:ANY, ACCEPT
| 66371584 | 0 | FF_SG1_VS0 | inbound | Rule 5 C2S ip proto ANY, 9.9.9.9/32:ANY -> 10.10.10.10/32:ANY, ACCEPT
| 66027520 | 0 | FF_SG1_VS0 | inbound | Rule 5 S2C ip proto ANY, 10.10.10.10/32:ANY -> 9.9.9.9/32:ANY, ACCEPT현재 구성 상태 보기 — Orchestrator의 Expert mode에서 실행합니다.
tor_util fastforward show status <Security Group ID> {0 | <Virtual System ID>} [verbose]관리자를 위한 Fastforward 고려 사항
| 작업 | 정상 흐름 | 추가 흐름 |
|---|---|---|
| 정책 설치 | Management Server가 정책을 Security Group으로 전달합니다. | Management Server가 Name 열에 접두사가 든 규칙을 stateless ACL로 변환하고, Security Group이 이 ACL을 모든 Orchestrator로 전달합니다. 정책에 변경이 없으면 이 단계를 건너뜁니다. |
| 토폴로지 수정(물리 인터페이스/경로/bond 인터페이스) | 관리자가 인터페이스나 경로를 추가·수정·삭제합니다. | 정책 설치 때마다 Security Group이 네트워킹 토폴로지(인터페이스, 이웃, 정적 경로)를 모든 Orchestrator로 전달합니다. 토폴로지에 변경이 없으면 건너뜁니다. Gateway 모드에서는 Security Group의 Gaia gClish에서, VSX 모드에서는 Gaia Portal/SmartConsole에서(bond 인터페이스 제외) 변경합니다. 끝나면 Gateway 모드는 인터페이스 토폴로지를 fetch하고 정책을 설치, VSX 모드는 정책을 설치해야 합니다. 이로써 방화벽 토폴로지·Anti-Spoofing 등 적용이 변경을 인지합니다. |
Fastforward의 라우팅 메커니즘
정책 설치 동안 Security Group은 다음 네트워킹 정보로 Orchestrator를 갱신합니다.
- 인터페이스(물리 인터페이스, VLAN, bond 인터페이스)
- 이웃 테이블(ARP 테이블)
- 라우팅 테이블
Orchestrator는 이 정보로 자신의 하드웨어 안에 토폴로지를 구성 합니다. Orchestrator가 둘이면 각자 자신에게 있는 인터페이스를 기준으로 자기 토폴로지를 만듭니다. 예컨대 종속 인터페이스가 eth1-01, eth2-01 인 bond1 이 토폴로지에 있다면, Orchestrator #1은 eth1-01 을, Orchestrator #2는 eth2-01 을 자기 토폴로지에 둡니다. 각 Orchestrator는 로컬에서 가속하며 Orchestrator 간 전달이 없기 때문입니다.
가속 대상 Access Control 규칙에 패킷이 매칭되면, 라우팅 메커니즘으로 넘어가 라우팅 결정을 내리고, 그 결정에 따라 패킷을 내보낼 출력 인터페이스를 찾습니다. 라우팅 토폴로지를 보려면 Orchestrator의 Expert mode에서 실행합니다.
tor_util fastforward show status <Security Group ID> {0 | <Virtual System ID>} verboseFastforward의 정책 메커니즘
가속할 신뢰 흐름의 정책 규칙은 규칙 이름의 고유 접두사 로 정의합니다. 정책 설치 동안 Management Server가 이 규칙들을 stateless ACL로 변환해 Security Group으로 전달하고, Security Group이 다시 Orchestrator로 전달해 적용합니다.
가속 연결은 방화벽 보안 기능을 우회해 높은 처리량과 낮은 지연을 얻으므로 반드시 신뢰할 수 있는 연결 이어야 합니다.
- UDP 규칙 — Orchestrator에서 완전히 가속 됩니다.
- TCP 규칙 — Accept 규칙은 첫 매칭에서 주로 로깅 목적으로 SYN·SYN-ACK 패킷을 Security Group으로 보내고, 그 이후 나머지 패킷은 Orchestrator에서 가속합니다.
이 가속은 SecureXL처럼 연결/세션마다가 아니라 오프로드된 ACL(규칙)마다 적용되는 stateless 가속 입니다. 오프로드된 규칙을 보려면 Expert mode에서 tor_util fastforward show status <Security Group ID> {0 | <Virtual System ID>} 를 실행합니다(출력은 "Fastforward 모니터링"의 예와 같은 형식).
SMO의 정책 설치 흐름
- SMO가 정책을 받아 정책 규칙을 stateless ACL로 변환합니다.
- SMO가 규칙 내용을 기반으로 고유 정책 시그니처 를 계산합니다.
SMO의 라우팅 처리 — (1) "Check": 새 라우팅 토폴로지 변경이 있는지 확인, (2) "Apply": 변경을 Orchestrator에 적용.
정책 처리 —
- Check — Orchestrator가 같은 정책 시그니처를 이미 설치했는지 확인합니다.
- Upload and Prepare — 아직 적용 전이면 ACL을 Orchestrator로 업로드해 준비시킵니다.
- Apply — 정책 ACL을 Orchestrator에 적용합니다.
- Activate — 사이트 상태에 따라 Fastforward 동작을 활성/비활성화합니다(활성 사이트는 켜고, standby 사이트는 끔).
패킷 매칭 —
- 패킷이 Orchestrator의 업링크 포트로 들어옵니다(예:
eth1-05, 포트 5). - (활성 사이트에서) Fastforward가 활성화돼 있으면, 패킷은 먼저 자신의 ACL 정책에 대해 매칭됩니다.
- accept되면 Orchestrator 라우팅 토폴로지로 넘어가 라우팅 결정을 거쳐 밖으로 라우팅됩니다.
- 정책 ACL에 매칭이 없으면, 패킷은 평소의 분배 과정 을 거쳐 Security Group 멤버로 향합니다.
매칭과 무관하게 일부 패킷은 항상 Security Group으로 보냅니다 — (Accept 규칙의) TCP SYN·SYN-ACK 패킷 과 (사용자 정의 서비스 규칙의) 단편화(fragmented) 패킷 입니다.
Fastforward 특별 고려 사항
같은 사이트에 Orchestrator가 여러 대일 때
Cross-bond 요건 — 각 Orchestrator는 자기만의 가상 라우팅 토폴로지를 만들고 Orchestrator 간 전달이 없으므로, 인터페이스를 반드시 cross-Orchestrator bond 인터페이스 로 구성해야 합니다. 즉 각 bond가 Orchestrator마다 종속 인터페이스를 가져야 합니다.
| 예 | bond 종속 인터페이스 |
|---|---|
| 좋은 예 | Bond1 — eth1-05, eth2-05 / Bond2 — eth1-06, eth2-06 |
| 나쁜 예 | Bond1 — eth1-05, eth1-06 / Bond2 — eth2-05, eth2-06 |
종속 인터페이스 모니터링 — 한쪽 Orchestrator만 종속 인터페이스의 링크를 잃으면, 한쪽 Orchestrator와 Security Group은 완전한 토폴로지를 갖지만 다른 Orchestrator는 종속 인터페이스를 잃어 로컬 가속을 못 하게 되어 라우팅이 일관되지 않게 됩니다. 이때 두 Orchestrator는 임시 bypass 상태 로 들어가 트래픽을 Security Group으로 보내고, 링크가 "up"으로 돌아오면 임시 bypass에서 빠져나옵니다.
토폴로지 불일치(Topology inconsistency) — 같은 사이트에 Orchestrator가 여러 대인 배포에서 일어날 수 있습니다. 각 Orchestrator가 로컬에서 가속하므로 모든 인터페이스를 cross-Orchestrator bond로 구성 해야 각 Orchestrator가 전체 토폴로지를 보고 내부적으로 가속을 완성할 수 있습니다. 한쪽 Orchestrator에서만 bond 링크가 실패하면 트래픽 손실이나 잘못된 라우팅이 생길 수 있고, 이때 현재 사이트의 Orchestrator들은 internal bypass 라는 특수 모드로 들어갑니다. 토폴로지가 다시 일관되면 internal bypass에서 나와 마지막 원하던 상태(active/inactive)로 돌아갑니다.
예 — Orchestrator 두 대와 bond 두 개(Bond1 외부, Bond2 내부)인 배포로, 각 bond는 Orchestrator마다 두 개씩 총 네 개의 종속 인터페이스를 가집니다.
- bond1: eth1-05, eth1-06, eth2-05, eth2-06
- bond2: eth1-07, eth1-07, eth2-08, eth2-08
bond1이 완전히 실패하면 토폴로지는 일관성을 유지합니다. 하지만 bond1에서 eth2-05, eth2-06 만 실패하면 Orchestrator2는 bond1 토폴로지가 불일치하고, Orchestrator1과 Security Group은 여전히 일관됩니다. 이 경우 Orchestrator들은 불일치를 감지해 internal_bypass 모드로 들어가고, 불일치가 해소될 때까지 모든 트래픽이 Security Group으로 흐릅니다.
Dual Site
Fastforward는 활성 사이트에서만 트래픽을 가속 하고 standby 사이트는 비활성 상태입니다. 사이트 절체가 일어나면 새 SMO가 Orchestrator들을 새 상태로 갱신해 각각 활성/비활성화합니다.
다운링크 포트 모니터링
Fastforward는 각 Orchestrator에 연결된 다운링크 포트의 링크 상태를 모니터링합니다. 한 Orchestrator의 모든 다운링크 포트가 실패하면 기본적으로 그 Orchestrator에서 bypass 모드로 들어가, Security Group에 멤버가 없을 때 트래픽이 전달되지 않게 합니다.
Bond 인터페이스 지원
한 Orchestrator에 여러 bond 종속 인터페이스가 있으면(예: bond1에 eth1-01, eth1-02), Orchestrator는 트래픽을 보낼 기본(primary) 종속 인터페이스 를 고릅니다. bond 인터페이스가 Orchestrator가 아니라 Security Group 멤버에만 구성되기 때문입니다. 이를 보완하는 방식은 다음과 같습니다.
- Ingress(수신) 트래픽 — bond 종속 인터페이스로 들어오는 트래픽은 평소처럼 Fastforward가 처리합니다.
- Egress(송신) 트래픽 — bond 인터페이스로 라우팅돼 나가는 트래픽은 기본 종속 인터페이스 로 내보냅니다. 기본 종속 인터페이스는 링크가 "up"이면서 ID가 가장 낮은 인터페이스입니다.
Fastforward의 알려진 제한 사항
일반(General)
| ID | 설명 |
|---|---|
| PMTR-76262 | 서비스가 포함된 규칙에서는 단편(fragment)이 Security Gateway로 전달 됩니다. |
| PMTR-76274 | FTP, SIP 등 복합 연결은 데이터 연결을 동적으로 열지 못합니다. 두 가지 방법이 있습니다 — (1) 제어 연결에 전용 서비스를 쓰면(예: FTP 21, VoIP SIP 5060) Security Gateway가 데이터 연결을 자동으로 엽니다. (2) 제어 연결과 데이터 연결 범위(예: UDP 포트 범위)를 수동으로 허용합니다. |
| PMTR-108476 | Orchestrator MHO-175는 ACL 규칙 최대 10,000개 를 지원합니다. 정책이 그보다 많은 ACL로 변환되면 정책 설치 중 Fastforward가 멈출 수 있습니다. 단기 우회책(Orchestrator)은 아래 절차이고, 장기 우회책(Management Server)은 특정 규칙(예: Host)을 줄이고 일반 규칙(예: Network)을 늘리도록 Access Control 정책을 재구성하는 것입니다. |
PMTR-108476 단기 우회책 절차:
- Expert mode에서 현재 ACL 규칙 수를 확인합니다 —
tor_util fastforward show status all all - Gaia Clish에서 Fastforward를 멈춥니다 —
set maestro fastforward state off - Gaia Clish에서 Fastforward를 다시 시작합니다 —
set maestro fastforward state on
Layer 3
| ID | 설명 |
|---|---|
| PMTR-76277 | Dynamic Routing(동적 라우팅) 미지원. |
| PMTR-76258 | Fastforward 가속 흐름에 IPv6 미지원. |
| PMTR-76261 | Multicast 트래픽에 Fastforward 규칙 구성 불가. |
| PMTR-86316 | Policy Based Routing(PBR) 미지원. |
| PMTR-86565 | 가속 흐름에 VPN 암·복호화 미지원. |
| PMTR-76260 | 가속 흐름에 NAT 미지원. |
| PMTR-76271 | 가속 흐름에 Anti-Spoofing 미적용. |
Security Group
| ID | 설명 |
|---|---|
| PMTR-76273 | (Fastforward 가속 연결에서) Security Group은 TCP 연결에 대해서만 로그 를 생성합니다. |
| PMTR-86318 | SmartConsole의 규칙 Hit Count에는 Fastforward 가속이 반영되지 않습니다. |
| PMTR-76267 | 기능을 끄거나 우회하면 Fastforward 가속 TCP 연결의 트래픽이 드롭될 수 있습니다. |
Topology
| ID | 설명 |
|---|---|
| PMTR-76268 | 관리 인터페이스를 향한 Fastforward 가속 미지원. |
| PMTR-76263 | 직접 연결된 서브넷에 대한 가속 미지원. |
| PMTR-76270 | 사이트마다 Orchestrator 두 대인 구성에서는 배포 인터페이스를 각 Orchestrator에 종속 인터페이스를 둔 bond로 구성해야 합니다. |
| PMTR-76272 | bond 인터페이스로 가속할 때, 송신 트래픽은 (Orchestrator마다) 종속 인터페이스 하나로만 나갑니다. |
Layer 2
| ID | 설명 |
|---|---|
| PMTR-76275 | Bridge Mode 미지원. |
| PMTR-76259 | Fastforward 가속 트래픽의 출발지 MAC 주소가 Security Group 인터페이스의 출발지 MAC 주소와 다릅니다. |
| PMTR-76278 | "Same VMAC" 기능 미지원. |
Fastforward 문제 해결
트래픽 흐름 추적 — Orchestrator에서 규칙의 hit count가 증가하는지 확인합니다. TCP 연결은 tcpdump 명령으로 트래픽을 캡처하거나 SmartConsole 로그를 살핍니다.
즉석에서 우회(bypass)·재개하기 — 문제 해결의 일환으로 Fastforward를 끄지 않고 우회 할 수 있습니다. 우회하면 트래픽이 Fastforward 오프로드 규칙 매칭을 건너뛰고 해당 Security Group으로 갑니다.
- Security Group의 명령줄에 접속해 Expert mode로 로그인합니다.
- 해당 Orchestrator의 명령줄에 접속합니다.
member {ssm1 | ssm2}
tor_util fastforward policy operation_mode <Security Group ID> {0 | <Virtual System ID>} bypass
tor_util fastforward policy operation_mode <Security Group ID> {0 | <Virtual System ID>} skip_bypass
출력 예:
[Expert@MHO1:0]# tor_util fastforward policy operation_mode 1 0 bypass
operation mode was set successfully
[Expert@MHO1:0]# tor_util fastforward policy operation_mode 1 0 skip_bypass
operation mode was set successfully
It is required to install policy in order for the change to take effect.정책 실패 문제 해결 — 다음 파일들을 살핍니다.
SMO Security Group 멤버에서:
| 유형 | 파일 |
|---|---|
| Log | /var/log/acl_cli.log |
| Log | /var/log/policyparser.log |
Orchestrator에서:
| 유형 | 파일 | 내용 | 비고 |
|---|---|---|---|
| Log | /var/log/fastforward.log | 로깅 정보 | |
| Configuration | /etc/mlx_routing.json | 라우팅 토폴로지 정보 | 이 파일을 편집하면 안 됩니다. |
| Configuration | /etc/mlx_conf.json | Fastforward 정책 정보 | 이 파일을 편집하면 안 됩니다. |
강제로 Fastforward 끄기 — 끄기 작업이 실패하면 강제로 끌 수 있습니다.
- Security Group의 명령줄에 접속해 Expert mode로 로그인한 뒤 실행합니다.
g_all "/usr/scripts/acl_cli/acl_cli fastforward disable --force"
orchd restart
Maestro에서 전용 로깅 포트 구성
Security Group의 각 멤버에 있는 로깅 메커니즘은 이 Security Group에 배정된 Orchestrator 관리 포트 를 통해 로그를 전용 Log Server로 직접 보냅니다. 그런데 멤버들이 많은 로그를 생성하면 Orchestrator 관리 포트에 높은 부하 가 걸릴 수 있습니다. 이를 줄이려면 (1) Security Group에 로깅용 management 유형의 전용 Orchestrator 포트를 배정하고, (2) Security Group이 전용 Log Server로 로그를 보내도록 구성합니다.
토폴로지:
[Management Server](some interface) <===> (management port 1 on Quantum Maestro Orchestrator)[Security Group]
[Management Server](some interface) <===> (interface 1) [Log Server]
(interface 2) <===> (management port 2 on Quantum Maestro Orchestrator)[Security Group]절차:
| 단계 | 지침 |
|---|---|
| 1 | 물리 인터페이스 두 개를 가진 전용 Log Server를 설치 합니다(해당 Installation and Upgrade Guide의 "Installing a Dedicated Log Server or SmartEvent Server" 장 참고). 한 인터페이스는 Management Server에, 다른 인터페이스는 Orchestrator의 사용 가능한 management 포트에 직접 연결합니다. 중요 — Management Server에 연결되는 같은 포트는 쓰지 마세요. SmartConsole에서 이 Log Server를 나타내는 객체를 만듭니다. |
| 2 | Orchestrator에서 management 유형의 전용 포트를 Security Group에 배정하고 변경을 적용합니다. |
| 3 | Security Group의 Gaia OS에서 Gaia gClish로 전용 management 포트를 구성합니다(아래 구문·예 참고). |
| 4 | SmartConsole에서 Security Group 객체가 전용 Log Server로 로그를 보내도록 구성합니다(해당 Logging and Monitoring Administration Guide의 "Configuring the Security Gateways for Logging" 참고). |
3단계 구문:
[Expert@HostName-ch0x-0x:0]# gclish
[Global] HostName-ch01-01> set interface ethX-MgmtY ipv4-address <IPv4 Address> mask-length <Mask Length>예:
[Global] HostName-ch01-01 > set interface eth1-Mgmt2 ipv4-address 2.2.2.10 mask-length 24Maestro에서 Security Group 고가용성(HA) 구성
Security Group 가중치(고가용성 계수) 설정
Security Group 멤버의 각 하드웨어 구성 요소에는 Security Group 전체 건강 상태에 대한 상대적 중요도 를 정하는 품질 가중치(quality weight factor)가 있습니다. 예컨대 포트는 다른 구성 요소보다 중요해 보통 더 높은 가중치를 받습니다.
멤버의 등급(grade)은 모든 구성 요소 가중치 값의 합이며, Dual Site 환경에서는 등급이 더 높은 Security Group이 Active 가 되어 트래픽을 처리합니다. 각 구성 요소의 등급은 다음 공식으로 계산합니다.
(Unit Weight) x (Number of components in the state "UP")각 구성 요소의 가중치를 보려면 Security Group의 Gaia gClish에서 asg stat -v 를 실행합니다.
하드웨어 구성 요소의 가중치는 set cluster configuration high-availability factors 명령으로 구성합니다. Security Group의 Gaia gClish 구문은 다음과 같습니다.
set cluster configuration high-availability factors member <Security Group Factor>
set cluster configuration high-availability factor {other <Other Port Factor> | standard <Standard Port Factor> | mgmt <Management Port Factor> | bond <Bond Port Factor>}자세한 내용은 명령줄 레퍼런스의 show cluster configuration high-availability, set cluster configuration high-availability 항목을 참고하세요.
| 파라미터 | 설명 |
|---|---|
<Security Group Factor> | Security Group 멤버의 가중치 계수. 유효 범위: 0~1000의 정수. |
<Other Port Factor> | 고등급(high grade) 포트 계수. 유효 범위: 0~1000의 정수. |
<Standard Port Factor> | 표준 등급 포트 계수. 유효 범위: 0~1000의 정수. |
<Management Port Factor> | 관리 포트 계수. 유효 범위: 0~1000의 정수. |
<Bond Port Factor> | bond 인터페이스 계수. 유효 범위: 0~1000의 정수. |
예:
[Global] HostName-ch01-01 > set cluster configuration high-availability factors sgm 100
[Global] HostName-ch01-01 > set cluster configuration high-availability factors port other 70
[Global] HostName-ch01-01 > set cluster configuration high-availability factors port standard 50품질 등급 차이(Differential) 설정
set cluster configuration high-availability failover 명령으로 절체(failover)를 일으키는 최소 품질 등급 차이 를 구성합니다. Security Group의 Gaia gClish 구문은 다음과 같습니다.
set cluster configuration high-availability failover <Trigger>| 파라미터 | 설명 |
|---|---|
<Trigger> | 절체를 일으키는 Security Group 품질 등급의 최소 차이. 유효 값: 1~1000. |
Maestro에서 신원 기반 접근 제어·Threat Prevention 구성
Maestro에서 신원 기반 접근 제어(Identity Based Access Control)와 Threat Prevention 을 구성하는 설계 지침은 sk175587 을 참고하세요.