본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Cloudflare Tunnel 시스템 요구 사항(System requirements)

원문 보기 위키 갱신

cloudflared를 실행하기 위한 시스템 용량, 포트 구성, ulimit 설정을 알아봐요. 터널 처리량은 하드웨어보다 시스템 소프트웨어에 구성된 포트 수에 주로 제한돼요.

출처: 문서

본문

cloudflared는 Raspberry Pi부터 데이터 센터 서버까지 실행할 수 있을 만큼 가벼워요. 터널 처리량은 하드웨어가 아니라 시스템 소프트웨어에 구성된 포트 수에 주로 제한돼요.

기본 권장 사항(Baseline recommendations)

위치당 두 대의 전용 호스트에서 cloudflared 레플리카를 실행하고, 호스트당 최소 4 GB RAM과 4개의 CPU 코어를 사용해요. 호스트당 50,000개의 포트를 할당해요.

포트 구성(Port configuration)

Linux에서 cloudflared에 사용할 수 있는 포트 수를 늘리려면:

머신에 /etc/sysctl.d/ 디렉터리가 있다면:

echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.d/99-cloudflared.conf
sudo sysctl -p /etc/sysctl.d/99-cloudflared.conf

그렇지 않다면:

echo 'net.ipv4.ip_local_port_range = 11000 60999' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

Windows에서 cloudflared에 사용할 수 있는 포트 수를 늘리려면 TCP와 UDP의 동적 포트 범위 ↗︎를 설정해요:

netsh int ipv4 set dynamicport tcp start=11000 num=50000
netsh int ipv4 set dynamicport udp start=11000 num=50000
netsh int ipv6 set dynamicport tcp start=11000 num=50000
netsh int ipv6 set dynamicport udp start=11000 num=50000

ulimit (Linux 및 macOS)

Linux와 macOS에서 ulimit 설정은 로그인한 사용자에게 제공되는 시스템 리소스를 결정해요. cloudflared 서버에 다음 ulimit을 구성하는 것을 권장해요:

ulimit 설명 값
-n 열 수 있는 최대 파일 또는 파일 디스크립터 수 ≥ 70,000

현재 ulimit을 보려면 터미널을 열고 다음을 실행해요:

ulimit -a

열린 파일 ulimit을 설정하려면:

ulimit -n 70000

위 명령은 현재 터미널 세션에 대해서만 열린 파일 제한을 설정하며, 재부팅이나 새 로그인 후에는 유지되지 않아요. 이 제한을 영구적으로 적용하려면 운영 체제에 맞는 영구 설정 방법으로 구성해요.

용량 계산기(Capacity calculator)

배포에 필요한 터널 용량을 추정하려면:

  1. 지표 엔드포인트를 사용해 cloudflared_tcp_total_sessions와 cloudflared_udp_total_sessions를 측정해요.
  2. cloudflared_tcp_total_sessions를 총 시간으로 나눠 평균 TCP requests per second를 계산해요.
  3. cloudflared_udp_total_sessions를 총 시간으로 나눠 평균 Non-DNS UDP requests per second를 계산해요.
  4. 아래 계산기에 TCP requests per second와 Non-DNS UDP requests per second를 입력해요. (터널을 프라이빗 네트워크 접근에 사용하지 않는 한 Private DNS requests per second는 0으로 둘 수 있어요.)

시스템 구성(System configuration)

호스트당 사용 가능한 포트 수
cloudflared 레플리카 수
DNS UDP 세션 타임아웃(초)
평균 비-DNS UDP 세션 타임아웃(초)

지표(Metrics)

초당 TCP 요청 수
초당 비-DNS UDP 요청 수
초당 프라이빗 DNS 요청 수

결과(Result)

레플리카당 용량 비율(%)
전체 레플리카에 걸친 용량 비율(%)
전체 레플리카에 걸친 최대 분당 DNS 요청 수

이 계산기는 정보 제공 목적이며 모든 결과는 추정치예요.

터널 용량을 늘리려면 cloudflared 레플리카를 실행하는 동일한 호스트를 추가해요.

더 알아보기 (Learn more)

용량을 늘리려면 cloudflared 레플리카 호스트를 추가하고 적절한 포트 범위를 확보하는 것이 핵심이에요. 레플리카와 고가용성 문서를 함께 보면 규모 확장 설계를 이해할 수 있어요.