Fly Proxy 자동 중지/시작(autostop/autostart)
Fly Proxy autostop/autostart를 사용하면 피크 부하에 맞춰 앱을 확장하고, 필요할 때만 Machine을 실행해 리소스 비용을 절약할 수 있어요. Machine이 stopped 또는 suspended 상태일 때는 Machine CPU와 RAM 비용을 내지 않아요. Fly Proxy는 앱에 들어오는 요청에 따라 기존 Machine을 자동으로 중지(또는 일시중지)하고 시작하며, 프라이머리 리전에서 항상 최소한의 Machine 수를 유지하는 옵션도 있어요.
출처: 문서
본문
Fly Proxy autostop/autostart를 사용하면 피크 부하에 맞춰 앱을 확장하고, 리소스 비용을 아끼기 위해 필요할 때만 해당 Machine을 실행할 수 있어요. Machine이 stopped 또는 suspended 상태일 때는 Machine CPU와 RAM 비용을 내지 않아요. Fly Proxy는 앱으로 들어오는 요청에 따라 기존 Machine을 자동으로 중지(또는 일시중지)하고 시작하며, 프라이머리 리전에서 항상 최소한의 Machine 수를 유지하는 옵션을 가질 수 있어요.
autostop/autostart는 fly.toml 파일에 서비스가 구성된 Fly App에서 작동하며, 이는 일반적으로 인터넷에서 요청을 받는 공개 앱을 커버해요. 하지만 서비스를 설정하고 Flycast 프라이빗 IPv6 주소를 사용하면 프라이빗 앱에서도 autostop/autostart를 사용할 수 있어요. Flycast - 프라이빗 Fly Proxy 서비스와 Autostop/autostart 프라이빗 앱을 참고하세요.
유휴 상태일 때 자동으로 종료되는 앱과 autostop이 필요 없는 앱의 경우, Fly Proxy는 트래픽이 있을 때 앱의 Machine을 여전히 재시작할 수 있어요.
autostop/autostart 구성 방법을 알아보세요.
Fly Proxy autostop/autostart 작동 방식
Fly Proxy는 몇 분마다 앱에 과잉 용량이 있는지 판단하는 프로세스를 실행해요.
Autostop/autostart는 기존 Machine에서만 작동하며, 여러분을 위해 Machine을 만들거나 파괴하지는 않아요. 실행 중인 Machine의 최대 수는 `fly scale count` 또는 `fly machine clone`으로 앱에 만든 Machine 수예요. [Machine 수 스케일링](/launch/scale-count)에 대해 더 알아보세요.Machine을 중지하거나 일시중지하는 Fly Proxy 프로세스
fly.toml에서 auto_stop_machines가 "stop" 또는 "suspend"로 설정되면, 프록시는 단일 리전에서 실행 중인 Machine을 보고 각 Machine의 동시성 soft_limit 설정을 사용해 과잉 용량이 있는지 판단해요. 프록시가 과잉 용량이 있다고 판단하면 정확히 하나의 Machine을 중지하거나 일시중지해요. 프록시는 이 프로세스를 몇 분마다 반복하며, 필요하다면 매번 리전당 Machine 하나만 중지하거나 일시중지해요.
fly.toml 파일에 kill_signal과 kill_timeout 옵션이 구성되어 있다면, Fly Proxy는 Machine을 중지할 때 그 설정을 사용해요.
Fly Proxy는 리전별로 과잉 용량을 다음과 같이 판단해요:
- 리전에 Machine이 둘 이상인 경우:
- 프록시는
soft_limit설정을 넘어선 실행 중인 Machine 수를 확인한 뒤 과잉 용량을 계산해요:과잉 용량 = machine 수 - (soft limit을 넘는 machine 수 + 1) - 과잉 용량이 1 이상이면 프록시는 Machine 하나를 중지하거나 일시중지해요.
- 프록시는
- 리전에 Machine이 하나뿐인 경우:
- 프록시는 Machine에 트래픽이 있는지 확인해요.
- Machine에 트래픽이 없으면(부하 0) 프록시는 Machine을 중지하거나 일시중지해요.
Machine을 시작하는 Fly Proxy 프로세스
fly.toml에서 auto_start_machines = true이면, Fly Proxy는 필요할 때 가장 가까운 리전의 Machine을 재시작해요.
Fly Proxy는 다음과 같이 Machine을 시작할 때를 판단해요:
- 프록시는 앱에 대한 요청을 기다려요.
- 실행 중인 모든 Machine이
soft_limit설정을 넘어서면, 프록시는 가장 가까운 리전에서 중지되거나 일시중지된 Machine(있다면)을 시작해요. - 프록시는 요청을 새로 시작된 Machine으로 라우팅해요.
autostart/autostop이 없을 때 Fly Proxy의 동작
fly.toml 파일에서 auto_stop_machines가 설정되지 않았거나 auto_start_machines가 명시적으로 false로 설정되어 있어도 Fly Proxy는 여전히 앱의 Machine으로 요청을 라우팅해요.
- Machine은 스스로 종료하거나 배포·스케일링 작업 중에 중지되지 않는 한 계속 실행돼요.
- Fly Proxy는 과잉 용량을 확인하거나 유휴 상태여도 Machine을 자동으로 중지하지 않아요.
auto_start_machines가 명시적으로false로 설정되면, 프록시는 이미 실행 중인 Machine에만 트래픽을 라우팅해요. 실행 중인 Machine이 없으면 프록시는 시작하지 않으며 요청은 실패해요.- Machine이 시작된 후, 모든 프록시 노드가 실행 중임을 인식하기까지 짧은 지연이 있을 수 있어요. 이 시간 동안 프록시가 너무 일찍 트래픽을 라우팅하려 하면 Machine에 보낸 요청이 실패할 수 있어요.
- Machine이 도달할 수 없게 되면(예: Fly의 프라이빗 IPv6 네트워크를 통한 반복된 내부 핑 실패) 비정상으로 표시되고 중지될 수 있어요. 이미 그 Machine으로 라우팅된 요청은 더 이상 앱에 유효한 것으로 간주되지 않으므로 실패해요.
fly.toml 파일에서 auto_start_machines = true와 auto_stop_machines = "stop" 또는 "suspend"를 설정해 유휴 리소스 사용을 줄이고, 수요에 따라 확장해야 하는 앱의 가용성을 개선하는 것을 권장해요.