1. 개요
최근 파견 프로젝트에서 JMeter, InfluxDB, Grafana, Prometheus 등을 활용한 부하 테스트를 진행하는 중, 예상치 못한 보안 이슈로 인해 작업 일정이 지연되는 사례를 경험하였습니다. 본 포스팅에서는 해당 문제의 원인과 함께 사전 준비 체크리스트, SSO 인증 이슈, API 요청 관련 고려사항, 시나리오 구성 등 핵심 사항을 정리하여 향후 동일 상황에서 신속하고 효율적으로 대응할 수 있는 방안을 제시하고자 합니다.
2. 사전 준비 체크리스트
2-1. 환경 정보 수집
테스트 수행 전, 인프라 환경에 대한 정확한 정보를 수집하는 것은 필수적입니다. 아래 사항들을 반드시 확인해 주십시오.
- OS 및 서버 버전 정보: 운영체제, 웹 서버(톰캣, 아파치 등)의 정확한 버전 및 패치 이력
- 네트워크 아키텍처 및 방화벽 구성: 데이터 흐름, 내부 및 외부 통신 경로, 방화벽 룰 설정
- 로드 밸런서 설정 및 구성: 로드 밸런서 종류, 세션 스티키니스 여부, 헬스 체크 상태
- 허용된 포트 목록: 외부 접속 및 내부 서버 간 통신에 사용되는 포트 번호
- DB 접근 권한 및 제약사항: 데이터베이스 접속 정책, 제한 사항, 인증 방식 등
2-2. 필수 파일 준비
각 테스트 툴과 관련된 핵심 파일 및 의존성 파일을 미리 준비해야 합니다.
- JMeter: 성능 테스트 플러그인, 라이브러리, 의존성 파일
- Grafana: 대시보드 템플릿, 데이터 소스 설정 파일
- InfluxDB: 구성 파일 및 데이터 적재를 위한 스크립트
- 모니터링 스크립트: 서버/어플리케이션 상태를 모니터링하기 위한 각종 스크립트 및 설정
2-3. 추가 파일 준비
모니터링 및 성능 데이터를 수집하는 역할을 하는 도구 관련 추가 파일도 사전에 구성해야 합니다.
- Prometheus 관련 파일:
- Node Exporter: 서버 레벨 모니터링을 위한 설정 파일
- Apache, Tomcat Exporter: 어플리케이션 레벨 데이터를 수집하기 위한 설정 및 스크립트
3. 보안 승인 절차에 따른 작업 지연
내부망 환경에서는 모든 파일 설치 및 포트 오픈 작업이 보안 승인 절차를 거쳐야 하므로, 사전에 관련 문서와 파일을 요청 및 구성해두는 것이 중요합니다.
- 사전 요청 필수 항목: OS, 서버(톰캣, 아파치) 버전 정보, 포트 허용 여부 등의 상세 문서
- 파일 구성: 추가 라이브러리, 설정 파일 등 미리 준비하지 않은 파일은 승인 절차로 인해 작업 지연이 발생할 수 있음
- JMeter와 Grafana: 내부망 내 설치 어려움으로, 해당 플러그인 및 대시보드 파일은 사전에 준비하여야 함
4. SSO 관련 이슈
SSO(Single Sign-On)를 활용한 인증이 포함된 테스트의 경우, 사전 테스트와 설정을 철저히 하지 않으면 아래와 같은 문제점이 발생할 수 있습니다.
- 예상치 못한 인증 문제: 특정 API나 시스템 접근 시 인증 과정에서 예기치 않은 동작 및 제한 발생
- 사전 점검 사항:
- SSO 테스트 환경 구축 및 철저한 사전 검증
- 인증 관련 API 및 시스템 접근 경로 확인
- 만약 A서버에서 B서버로 요청이 발생하는 경우, 두 서버 간 인증 및 접근 정책에 대한 사전 협의 및 해결 방안 마련
5. API 요청 관련 고려사항
API 호출 시, HTTP CODE가 성공(200)으로 출력되더라도 내부적으로 토큰 또는 헤더 값 검증이 필요한 경우가 있으므로 아래 사항을 유의해야 합니다.
- JMeter Header Manager 활용:
- 공통 헤더 설정을 통해 모든 요청에 일관된 인증 정보 및 필요한 추가 정보를 포함시켜야 함
- 테스트 시나리오에서 API 호출에 따른 실제 결과를 검증할 때, 토큰 및 헤더 값 확인 필수
6. 시나리오 관련
복수의 테스트 시나리오를 실행할 때, 단순히 쓰레드 그룹을 통해 다중 요청을 보내는 것보다, 보다 세분화된 컨트롤이 필요합니다.
- Simple Controller 활용:
- 여러 레코딩 컨트롤러를 하나의 쓰레드 그룹 내에 포함시켜, 다양한 시나리오를 동시에 실행할 수 있도록 구성
- 복잡한 시나리오의 경우 각 단계별 분리 및 독립적인 로그 관리를 통해 문제점을 신속히 파악 가능
7. 결론
부하 테스트 수행 시, 보안 이슈로 인한 작업 지연은 사전 준비와 내부 승인 절차 미비로 발생할 가능성이 큽니다.
- 사전 준비: 환경 정보, 필수 파일, 추가 모니터링 파일을 체계적으로 준비하여 승인 절차에 따른 지연 최소화
- 사전 요청: OS 및 서버 버전 정보, 포트 허용 여부, SSO 인증 정보 등을 미리 요청하여 작업 환경을 명확히 할 것
- 테스트 시나리오 구성: JMeter, Grafana 등 각 도구 별 파일 구성과 요청 헤더 설정, 시나리오 다양화를 통해 실제 상황에 근접한 테스트 환경 구축
이와 같이 철저한 사전 준비와 내부 승인 절차 준수를 통해, 향후 부하 테스트 진행 시 발생할 수 있는 보안 이슈 및 작업 지연을 효과적으로 예방하고, 테스트의 신뢰도를 높일 수 있을 것입니다.
'실무 | 성장 > 프로젝트 사례' 카테고리의 다른 글
[Ubuntu] 서버에서 Laravel 파일 권한 설정 완벽 가이드 (0) | 2025.04.21 |
---|