주:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Cloud Infrastructure Web Application Firewall 대기시간이 Oracle Cloud Infrastructure Load Balancer에 미치는 영향 측정
소개
이 사용지침서에서는 고성능 HTTP 로드 테스트 도구인 Siege를 사용하여 OCI 로드 밸런서에 Oracle Cloud Infrastructure Web Application Firewall(OCI WAF)의 성능 영향을 벤치마크합니다.
OCI WAF 사용 여부에 관계없이 OCI 로드 밸런서에 대해 Siege 테스트를 실행하여 대기 시간, 처리량, 트랜잭션 속도 및 동시성과 같은 주요 성능 측정항목을 측정합니다. 목표는 OCI WAF가 도입한 오버헤드의 양을 파악하고 보안과 성능 간의 장단점을 파악하는 것입니다.
이 벤치마킹은 OCI WAF를 사용으로 설정하는 것이 응답 시간에 큰 영향을 미치는지 여부 및 추가 보안의 이점이 트래픽이 많은 환경의 성능 비용보다 큰지 여부에 대한 액세스에 도움이 됩니다.
이 사용지침서에서는 연결된 지역 OCI WAF와 함께 전용 OCI 로드 밸런서를 배포하여 대기 시간에 미치는 영향을 분석합니다. 아키텍처는 다음으로 구성됩니다.
-
프라이빗 로드 밸런서: 프라이빗 서브넷에서 작동하여 백엔드 서버 간에 트래픽을 안전하게 분산합니다.
-
지역별 WAF: 수신 HTTP 트래픽을 OCI 로드 밸런서로 전달하기 전에 이를 검사하고 필터링합니다.
-
백엔드 서버: 전용 서브넷에서 실행되는 2개 또는 3개의 Apache Tomcat 인스턴스로, TLS(전송 계층 보안)를 통해 엔드투엔드 웹 트래픽을 제공합니다.
-
Siege Load Testing Tool: HTTP 트래픽을 생성하여 실제 로드를 시뮬레이션하고 대기 시간에 미치는 영향을 측정합니다.
이 튜토리얼은 왜 필수적인가?
보안과 성능은 모던 클라우드 애플리케이션의 두 가지 핵심 요소입니다. OCI WAF는 사이버 위협으로부터 보호하는 데 도움이 되지만, 사용자 경험에 영향을 미치는 추가 대기 시간을 유발할 수 있습니다. OCI WAF가 엔드 투 엔드 TLS를 통해 OCI 로드 밸런서의 성능에 어떤 영향을 미치는지 이해하는 것은 설계자와 엔지니어가 보안 및 응답성을 최적화하는 데 매우 중요합니다.
이 사용지침서에서는 OCI WAF로 인한 대기 시간을 측정하는 실용적인 접근 방식을 제공합니다. OCI WAF에 대한 자세한 내용은 OCI WAF를 참조하십시오.
Oracle Cloud Infrastructure Flexible Network Load Balancer란 무엇입니까?
OCI의 유연한 로드 밸런서는 HTTP, HTTPS 및 TCP 트래픽을 여러 백엔드 서버에 자동으로 분산시키는 전담 관리 서비스입니다. 수동 개입 없이도 확장성, 고가용성 및 트래픽 관리를 제공합니다. OCI Flexible Network Load Balancer는 최신 애플리케이션의 요구를 충족하기 위해 SSL/TLS 종료, OCI WAF 통합 및 고급 라우팅 기능으로 쉽게 구성할 수 있습니다. 자세한 내용은 Oracle Cloud Infrastructure Flexible Network Load Balancer를 참조하십시오.
구조
이 아키텍처 설계는 Siege HTTPS 벤치마크 유틸리티를 기반으로 한 하나의 VM(클라이언트 가상 머신)을 보여 주며, 로컬/지역 OCI WAF를 연결할 전용 로드 밸런서와 HTTPS를 사용하는 세 개의 서로 다른 Apache Tomcat 백엔드 서버를 연결합니다. OCI WAF를 사용하거나 사용하지 않고 로드 밸런서를 테스트합니다.
대상
이 사용지침서는 OCI 로드 밸런서 및 OCI WAF를 사용하는 클라우드 설계자, DevOps 엔지니어 및 보안 전문가를 위한 것입니다. 성능을 저하시키지 않고 보안을 최적화해야 하는 경우 이 자습서를 사용할 수 있습니다.
목표
- OCI WAF가 OCI Flexible Network Load Balancer에 도입하는 대기 시간 및 대역폭 영향을 평가합니다. 이 자습서 전체에서 사용자는 Siege를 HTTP(S) 벤치마킹 도구로 설정하고 OCI Flexible Network Load Balancer 내에서 OCI WAF를 구성하는 방법을 배웁니다.
필요 조건
-
활성 OCI 테넌시입니다. OCI에서 네트워크 리소스를 생성하고 관리하는 데 필요한 권한이 있어야 합니다.
-
Linux에서 소프트웨어를 설치 및 구성하는 방법을 비롯하여 Linux 운영 체제, OCI, Oracle Linux에 대한 기본적인 이해
-
OCI 콘솔을 사용하여 네트워크 리소스를 생성 및 관리하는 방법을 잘 알고 있습니다.
-
OCI Flexible Network Load Balancer 및 OCI WAF 사용 및 구성 방법에 대한 충분한 이해.
작업 1: 네트워킹 구성요소(VCN, 서브넷, OCI 로드 밸런서 및 OCI WAF) 배치
-
선택한 IPv4 CIDR을 사용하거나 권장 아키텍처를 따라 테넌시에 세 개 이상의 서브넷(Siege, LB, WebTier)이 있는 VCN(가상 클라우드 네트워크)을 배치합니다. 자세한 내용은 다음을 참조하십시오.
-
OCI 로드 밸런서 서브넷에 WAF와 함께 OCI Flexible Network Load Balancer를 배포합니다. 자세한 내용은 다음을 참조하십시오.
이 테스트에서는 다음과 같이 300개 이상의 보호 권장 규칙을 사용하여 OCI WAF 정책을 로드했습니다.
작업 2: 테스트를 위해 서브넷에 VM 배치
Siege라는 HTTP 벤치마크 도구와 나중에 Apache Tomcat을 백엔드 서버로 설치하려면 Oracle Linux 9 이미지를 배포해야 합니다.
VM을 생성하려면 다음 설명서를 참조하십시오. OCI 인스턴스 배치
클라이언트 서브넷에 Siege용 VM을 하나 배치해야 합니다.
작업 3: Oracle Linux에 Siege 설치
-
Oracle Linux에서 EPEL(Enterprise Linux) 저장소에 대해 추가 패키지를 사용으로 설정합니다. 자세한 내용은 How To Enable EPEL Repository on Oracle Linux 8/9을 참조하십시오.
-
다음 명령을 루트로 실행하여 Siege를 설치합니다.
yum install siege
-
다음 명령을 실행하여 Siege 버전을 확인합니다.
siege -v
다른 도움말 명령과 함께 현재 Siege 버전이 표시됩니다.
작업 4: Oracle Linux에 Apache Tomcat 설치
이때 백엔드 서버가 구성되지 않은 OCI Flexible Network Load Balancer가 제공됩니다. 이제 Oracle Linux 8 또는 9에 Apache Tomcat의 Linux 버전을 설치할 것입니다.
-
Web Private 서브넷에 2개 또는 3개의 Linux VM을 배치합니다. 자세한 내용은 OCI 인스턴스 배포를 참조하십시오.
-
해당 VM에 Apache 웹 서버를 설치합니다. 자세한 내용은 Apache 웹 서버 설치 및 Oracle Cloud의 Oracle Linux에 Tomcat 설치를 참조하십시오.
-
Apache 웹 서버가 작동되어 실행 중이면 OCI 로드 밸런서 서브넷이 웹 전용 서브넷에 도달할 수 있는지 확인하여 OCI 로드 밸런서 서브넷에서 웹 전용 서브넷(포트
443
)으로 HTTPS 트래픽을 허용합니다. 이제 백엔드 서버를 추가하려면 작업 3: OCI 로드 밸런서 구성의 8단계를 참조하십시오. -
OCI 콘솔로 이동하여 네트워킹, 로드 밸런서, 로드 밸런서, 로드 밸런서 세부정보, 백엔드 집합, 백엔드 집합 세부정보로 이동하고 백엔드를 누르면 두 개의 백엔드 서버가 표시됩니다.
이제 OCI WAF를 사용하거나 사용하지 않고 OCI 로드 밸런서 성능을 테스트합니다.
작업 5: 벤치마크 분석 포위 – OCI WAF 사용 및 사용 안함 OCI 로드 밸런서 성능
이제 OCI 로드 밸런서 및 OCI WAF가 백엔드 서버와 함께 구성되었으므로 Siege가 HTTPS 연결을 통해 작업할 수 있도록 몇 가지 초기 단계를 수행해야 합니다.
OCI 로드 밸런서 및 백엔드 서버에 설치된 서버 인증서에 서명하기 위해 CA(Lab Certification Authority) 인증서를 사용했습니다. 그러나 OCI 로드 밸런서가 TLS 접속을 종료하고 백엔드 서버에 대한 두번째 TLS 접속을 설정하므로 OCI 로드 밸런서의 서버 인증서에만 집중하면 됩니다. 이 두 번째 연결은 Siege (클라이언트)에 투명합니다.
예를 들어, CA 인증서 파일의 이름은 my-ca.crt
입니다.
-
Linux 시스템에
my-ca.cert
를 업로드하고sudo cp my-ca.crt /etc/pki/ca-trust/source/anchors/
명령을 실행합니다. 그러면 CA가 신뢰할 수 있는 CA 저장소에 복사됩니다. -
다음 명령을 실행하여 신뢰할 수 있는 CA 저장소를 업데이트합니다.
sudo update-ca-trust extract
또는 Oracle Linux 9를 사용하는 경우
sudo update-ca-trust
-
다음 명령을 실행하여 설치를 확인합니다.
openssl verify /etc/pki/ca-trust/source/anchors/my-ca.crt
모든 신뢰할 수 있는 인증서를 나열합니다.
trust list | grep "my-ca"
-
이제 Siege가 HTTPS를 통해 OCI 로드 밸런서에 연결되면 수신된 인증서를 확인할 수 있습니다.
www.fwtest.com
를 CN(일반 이름) 및 SAN(주제 대체 이름)으로 사용하고 있습니다.전용 DNS를 사용하지 않으므로 Linux 파일
/etc/hosts
파일에 다음 항목을 추가하면 됩니다.LB 전용 IP www.fwtest.com
예를 들면 다음과 같습니다.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4\ ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6\ 192.168.4.99 linux9-siege-intravcntest-v2.siegesubnet.vcn1inter.oraclevcn.com linux9-siege-intravcntest-v2\ 192.168.6.237 www.fwtest.com <--- Add this entry
-
로드 밸런서 프라이빗 IP를 가져오려면 네트워킹, 로드 밸런서, 로드 밸런서로 이동하고 로드 밸런서 세부정보를 누릅니다.
-
이전에 설치한 OCI 로드 밸런서 서버 인증서를 포함하여 TLS 접속을 테스트하려면 다음 명령을 실행합니다.
openssl s_client -connect www.fwtest.com:443 -tls1_2
다음과 같이 얻을 수 있습니다.
-
무작위 HTTP 헤더 크기를 사용하는 250개의 동시 HTTPS 클라이언트인 Siege를 사용하여 첫번째 테스트를 수행합니다.
siege -c 250 -t1m --header="User-Agent: $(head -c 500 </dev/urandom | base64)" https://www.fwtest.com/request.php
Lifting the server siege...\ Transactions: 237238 hits\ Availability: 100.00 %\ Elapsed time: 60.79 secs\ Data transferred: 192.67 MB\ **Response time: 27.81 ms**\ **Transaction rate: 3902.58 trans/sec**\ **Throughput: 3.17 MB/sec**\ Concurrency: 108.51\ **Successful transactions: 237421**\ Failed transactions: 0\ Longest transaction: 440.00 ms\ Shortest transaction: 0.00 ms\
이제 OCI WAF 없이 동일한 명령을 실행합니다.
Lifting the server siege... Transactions: 238843 hits\ Availability: 100.00 %\ Elapsed time: 60.54 secs\ Data transferred: 193.98 MB\ **Response time: 17.97 ms**\ **Transaction rate: 3945.21 trans/sec**\ **Throughput: 3.20 MB/sec**\ Concurrency: 70.88\ **Successful transactions: 239018**\ Failed transactions: 0\ Longest transaction: 540.00 ms\ Shortest transaction: 0.00 ms\
OCI WAF의 성능 영향(Siege Benchmark)
주요 Metrics 비교:
측정항목 | OCI WAF 사용 | OCI WAF 사용 안함 | 영향 |
---|---|---|---|
트랜잭션 | 237,238 | 238,843 | -1,605 (-0.67%) |
가용성(%) | 100.00 | 100.00 | 변경사항 없음 |
경과 시간(초) | 60.79 | 60.54 | +0.25s |
전송된 데이터(MB) | 192.67 | 193.98 | -1.31MB (-0.68%) |
응답 시간(밀리초) | 27.81 | 17.97 | +9.84밀리초 (+54.8%) |
트랜잭션 속도(트랜잭션/초) | 3,902.58 | 3,945.21 | -42.63 트랜잭션/초 (-1.08%) |
처리량(MB/초) | 3.17 | 3.20 | -0.03 MB/초 (-0.94%) |
동시성 | 108.51 | 70.88 | +37.63(OCI WAF의 경우 53.1% 더 높음) |
관찰 사항 및 주요 요점:
-
응답 시간 증가:
- OCI WAF는 요청당 대기 시간의 9.84ms를 추가합니다(54.8% 증가).
- 이는 OCI WAF를 사용으로 설정할 때 가장 중요한 영향입니다.
-
약간 낮은 처리량:
- OCI WAF 사용 시: 3.17 MB/sec 및 OCI WAF 사용 안 함: 3.20 MB/sec(0.94% 감소).
- OCI WAF로 인한 대역폭 손실은 60초 동안 약 1.31MB에 불과합니다.
-
OCI WAF를 통한 높은 동시성:
- 동시성이 70.88에서 108.51로 이동하므로 OCI WAF 처리로 인해 더 많은 요청이 대기 중입니다.
- 이렇게 하면 응답 시간이 길어집니다.
-
트랜잭션 비율에 미치는 최소 영향: 초당 트랜잭션 삭제는 상대적으로 낮은 1.08%에 불과합니다.
결론
-
OCI WAF는 요청당 +9.84ms의 대기 시간을 추가했습니다.
-
처리량 및 트랜잭션 속도에 따라 ~1%의 영향이 약간 감소합니다.
-
OCI WAF의 경우 동시성이 훨씬 더 높으므로 처리 오버헤드로 인해 더 많은 요청이 대기 중입니다.
-
보안이 최우선이라면 OCI WAF의 비용이 타당합니다. OCI WAF를 사용 안함으로 설정하면 약간의 대기 시간이 개선될 수 있지만, OCI의 영향은 최소이며, 매우 짧은 대기 시간이 절대적으로 중요한 경우는 드문 경우에만 고려해야 합니다.
Note: The test results obtained using Siege depend highly on various factors, including network conditions, hardware/software configurations, and software settings specific to your environment. As such, these results may differ significantly from those in other environments. Do not use these results to make any definitive conclusions about the expected performance of your network or equipment. They should be considered as indicative rather than absolute measures of performance.
관련 링크
확인
- Authors - Luis Catalán Hernández(OCI 클라우드 네트워크 전문가 및 멀티 클라우드), Par Kansala(OCI 클라우드 네트워크 전문가 및 멀티 클라우드), Sachin Sharma(OCI 클라우드 네트워크 전문가),
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Measure Oracle Cloud Infrastructure Web Application Firewall Latency Impact on Oracle Cloud Infrastructure Load Balancer
G31155-02
Copyright ©2025, Oracle and/or its affiliates.