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

Machine 배치와 지역 용량

원문 보기 위키 갱신

Fly.io에서 앱을 확장할 때 Machine이 어디에 놓일지는 지역 용량에 따라 달라져요. 이 페이지는 그게 여러분을 놀라게 하지 않도록 설명할게요.

fly scale count를 실행해 10개의 Machine을 dfw에, 10개를 iad에 넣으라고 했다고 해 볼게요. 그 두 지역 중 하나의 용량이 부족하면 전체 확장 작업이 실패해요. 아무것도 배치되지 않아요. 전부 아니면 전무(all or nothing)인 거죠.

대부분의 경우 이는 그냥 작동해요 — dfw와 iad는 지역 선택에서 확실한 선택이에요. 하지만 sjc나 gru 같은 일부 지역은 수요가 높은 편이에요. 배치를 그런 지역 중 하나에 하드코딩하고 운에 맡기면, 0으로 확장되는 상황을 맞닥뜨릴 수 있어요.

어디에 배포할 수 있나요?

fly platform regions을 실행해 Fly.io에 데이터센터가 있는 지역과 지역 코드를 확인하세요. 그 코드를 사용해 Machine의 지역 선호도를 설정하면 돼요.

스케줄러의 도움을 받기

fly machine clone 또는 새 Machine 생성 같은 개별 Machine 작업의 경우, 스케줄러에 여유를 줄 수 있어요. 단일 지역에 고정하는 대신 우선순위 목록이나 지리 그룹을 넘겨주는 거예요. 작동하는 지역을 찾을 때까지 순서대로 시도해요.

예를 들어:

fly machine clone -r "iad,dfw"

이것은 iad를 시도한 다음 dfw로 폴백하라는 뜻이에요.

지리 그룹과 별칭

us, eu, sa 같은 지리 별칭을 사용해 더 넓은 지역으로 분산할 수 있어요.

Alias Area
apac 아시아·태평양
eu 유럽
na 북아메리카
sa 남아메리카
us, usa 미국

예시:

  • 런던을 먼저 시도하고, 그다음 유럽 어디든 폴백:
lhr,eu
  • 미국 지역을 먼저 시도하고, 그다음 유럽:
us,eu
  • 북미 지역을 먼저 시도하고, 그다음 남미:
na,sa

Scale 명령은 (아직) 이 작업을 하지 않아요

지금으로서는 유연한 배치가 scale, deploy, launch에는 적용되지 않아요. 폴백과 함께 지역 간 확장을 원한다면, 지원되는 방식은 개별 Machine을(또는 fly machine create를 사용해) 지역 선호도와 함께 복제하는 것이에요.

(좀 조잡하다는 건 알아요. 우리도 개선 중이에요.)

Machines API 지원

Machines API(api.machines.dev)에서 배치를 구동한다면, 이 모든 유연성이 거기서 가능해요: 우선순위 지역 목록, 메타 지역, any 배치까지요.

아키텍처에 대한 한마디

이것은 앱이 여러 지역에 배포되었을 때 실제로 작동할 때만 도움이 돼요. 즉 Machine 간 저지연 연결을 가정하지 않고, 단일 지역 설정에서만 작동하는 조정 패턴을 피하는 것을 의미해요.

여러분의 앱이 어디에서 실행될지 보고 싶나요? 여기 현재 목록이 있어요: ams, arn, cdg, dfw, ewr, fra, gru, iad, jnb, lax, lhr, nrt, ord, sin, sjc, syd, yyz.

관련 자료

출처: 문서

본문

더 알아보기 (Learn more)