2025. 3. 30. 23:05ㆍData Engineering
들어가며
최근 GCP 환경에서 *Zabbix Agent를 설치하던 중 포트 연결 오류가 발생했습니다. 원인은 GCP 방화벽의 인그레스(ingress) 규칙이 설정되지 않아 Zabbix 서버가 Agent에 접근할 수 없었던 것이었습니다. 이 일을 계기로 방화벽 설정의 중요성을 다시 한번 깨달았습니다. 오늘은 GCP 방화벽의 개념과 방화벽 규칙 설정 방법에 대해 정리해보겠습니다.
*Zabbix: 서버 및 네트워크의 상태를 실시간으로 모니터링할 수 있는 오픈소스 기반의 모니터링 툴
이 글에서는 다음 내용을 다룹니다.
- GCP 방화벽의 개념과 설정 방법
- 방화벽 설정 시 주의사항
1. GCP 방화벽 개념
GCP 방화벽은 VPC(Virtual Private Cloud)안에서 동작합니다. VPC는 GCP 내에서 가상으로 구성된 네트워크입니다. 하나의 프로젝트 안에 여러 개의 VPC네트워크를 만들 수 있고, 각 VPC는 서로 격리되어 있습니다. 이 VPC내에서 어떤 트래픽을 허용할지 또는 차단할지 정하는 것이 바로 방화벽 규칙입니다. 규칙에는 두 가지 방향이 있습니다.
- 인그레스(Ingress): 서비스 경계 외부 리소스 -> 내부 리소스 접근
- 이그레스(Egress): 서비스 경계 내부 리소스 -> 외부 리소스 접근
예를 들어 Zabbix 서버가 Agent에 접속하려면 Agent 인스턴스에 대해 외부 트래픽을 허용하는 인그레스 규칙이 필요합니다.
2. 방화벽 규칙 생성
VPC 방화벽 규칙 생성 방법 중 GCP 콘솔에서 생성하는 법을 알아보겠습니다.
- GCP 콘솔 경로: 네트워크 보안 > Cloud NGFW > 방화벽 정책 > 방화벽 규칙 만들기
주요 설정 항목
로그 | 방화벽 규칙의 영향을 감사, 확인, 분석하는 데 사용 (기본값: 사용 안 함) |
네트워크 | 대상 VPC 네트워크 선택 |
우선순위 | 숫자가 작을수록 높은 우선순위 (기본값: 1000) |
💡 주의: 우선순위 설정 시 트래픽과 일치하는 가장 높은 우선순위가 적용되며 낮은 순위는 무시
트래픽 방향 | 인그레스 또는 이그레스 |
대상 | 모든 인스턴스 / 지정된 대상 태그 / 서비스 계정 중 선택 |
💡주의: VM에 방화벽 규칙을 적용하려면 "네트워크 태그"에 규칙에서 지정한 태그 설정 필요
소스 필터 | IP 범위 또는 소스 태그 |
프로토콜 및 포트 | 프로토콜 및 포트 지정(TCP, UDP, SCTP 등) |
💡 참고: 소스 필터 설정 시 모든 IPv4 소스는 0.0.0.0/0을, 모든 IPv6 소스는 ::/0을 사용
3. 설정 시 주의사항
보안을 고려해 방화벽 규칙은 항상 최소 원칙으로 구성해야합니다.
- 소스 필터의 IP를 0.0.0.0/0로 설정하는 대신 필요한 범위만 지정
- 포트도 tcp:10050과 같이 명확하게 지정
마치며
이번 Zabbix Agent 설치를 통해 방화벽 규칙으로 인한 오류를 경험했고, 이를 계기로 GCP 방화벽과 설정 방법에 대해 정리해볼 수 있었습니다. 앞으로 비슷한 문제가 발생했을 때 보다 정확하게 원인을 파악하고 사내 보안팀과 협업할 수 있을 것 같습니다. 문서가 도움이 되길 바랍니다.
읽어주셔서 감사합니다☘️
참고자료
[1] Google Cloud VPC 네트워크 공식 문서
VPC 네트워크 | Google Cloud
의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. VPC 네트워크 Virtual Private Cloud(VPC) 네트워크는 Andromeda를 사용하여 Google의 프로덕션 네트워크 내
cloud.google.com
'Data Engineering' 카테고리의 다른 글
PostgreSQL 핫 백업을 해보자 (feat. 젠킨스) (0) | 2024.11.10 |
---|---|
[PROJECT] 나만의 작고 소중한 데이터 파이프라인 만들기🌱 | 책방 사장님의 큐레이션을 위한 대시보드 구축기 (1) | 2024.03.09 |