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

앱 인계 가이드 (App handover guide)

원문 보기 위키 갱신

다른 사람을 위해 앱을 만들고 그 사람이 직접 Fly.io에서 운영하게 된다면 좋은 선택지가 두 가지 있어요. 고객의 Fly.io 조직 안에서 개발을 시작하거나, 여러분의 조직에서 만든 다음 나중에 옮기는 방법이에요. 이 가이드에서는 두 경로가 어떻게 작동하는지, 그리고 이동 과정에서 무엇이 꼬일 수 있는지 설명해 드릴게요.

출처: 문서

본문

Illustration by Annie Ruygt of a house with a Welcome sign and hot air balloons in the backgroud **다른 사람을 위해 앱을 만들고 그 사람이 직접 Fly.io에서 운영하게 된다면 좋은 선택지가 두 가지 있어요. 고객의 Fly.io 조직 안에서 개발을 시작하거나, 여러분의 조직에서 만든 다음 나중에 옮길 수 있어요. 두 경로가 어떻게 작동하는지, 그리고 이동 과정에서 무엇이 꼬일 수 있는지 설명할게요.**

옵션 1: 처음부터 고객의 조직에서 만들기

가장 깔끔한 인계는 사실 인계가 없는 거예요. 개발을 시작하기 전에 고객이 자신의 Fly.io 조직을 직접 만들게 하세요.

  1. 고객이 조직을 만들고 결제 수단을 추가해요. 기본적인 절차예요. Fly.io가 이 계정으로 청구해요.
  2. 고객이 여러분의 개발자를 조직에 초대해요. 대시보드의 "Team → Invite Member"에서 할 수 있어요. 이제 여러분은 고객의 계정에 직접 앱을 배포할 수 있는 권한을 가지게 돼요.
  3. 고객의 조직 안에서 개발해요. Fly.io는 조직을 격리된 네임스페이스로 취급하므로 여기서 어색한 경계를 넘을 일은 없어요. 그저 여러분의 팀이 고객의 환경에서 코드를 배포하는 것뿐이에요.
  4. 일이 끝나면 고객이 여러분을 제거해요. 물론 안 그래도 돼요—계약 조건에 포함되어 있다면 유지보수를 위해 남아 있을 수도 있어요.
  5. 꼬일 수 있는 부분. 초대받은 개발자가 고객 조직의 유일한 관리자가 되지 않도록 하세요. 고객 조직에 관리자가 최소 두 명 이상 있는지 다시 확인해 주세요.

옵션 2: 여러분의 조직에서 만들고, 그다음 앱을 고객 조직으로 옮기기

때로는 자신의 조직에서 시작하는 게 더 쉬울 수 있어요—특히 이미 인프라와 도구가 구축되어 있다면 더 그렇죠. 앱이 준비되면 옮기면 돼요.

이렇게 진행돼요:

  1. 평소처럼 여러분의 조직에서 빌드해요.
  2. 고객이 여러분의 개발자 한 명을 고객 조직에 초대하게 해요. 이 사람은 이동 작업을 하려면 두 조직 모두에 있어야 해요.
  3. 앱을 이전해요: CLI 명령 fly apps move <app-name> --org <target-organization-name>을 사용하거나, 대시보드의 App Settings 페이지로 이동해서 Move app을 클릭하고 새 조직을 선택한 다음 배포가 끝날 때까지 기다리면 돼요.
App settings page with Move app option
  1. 주의: 이동하는 동안 몇 분간 다운타임이 발생해요. 트래픽이 적을 때 예약하고 사용자에게 유지보수 시간을 알려 주는 게 좋아요.
  2. 자동으로 이동하는 것들:
    • Machines와 볼륨(데이터 포함)
    • 시크릿(Secrets)과 환경 변수
    • 인증서와 도메인 이름
    • LiteFS 데이터베이스($FLY_APP_NAME을 Consul 키로 사용하는 한)
  3. 자동으로 이동되지 않는 것들:
    • Postgres(비관리형 및 관리형): 조직 간 Postgres 데이터베이스 이동은 지원되지 않아요. 대상 조직에 새 Fly Postgres 앱을 만들고 볼륨 스냅샷에서 복원해야 해요. 또는 pgloader를 사용해 데이터를 마이그레이션할 수도 있어요.
    • Upstash Redis: 이 서비스는 조직의 프라이빗 네트워크에 묶여 있어요. 새 조직에 새 DB를 프로비저닝해야 해요.
    • Tigris 버킷: 기존 Tigris 버킷을 삭제하고 새 조직에서 다시 만든 다음 데이터를 복사해야 해요(s3sync 사용을 시도해 보세요). 앱의 시크릿을 재설정하는 것도 잊지 마세요.

요약

처음부터 고객이 앱을 장기적으로 소유할 걸 알고 있다면 고객의 조직에서 시작하는 게 나중에 번거로운 작업이 줄어들 거예요. 하지만 여러분의 조직에서 고객 조직으로 앱을 넘겨줘야 한다면, Fly.io는 이를 해낼 수 있는 도구를 충분히 제공해요—다만 몇 가지를 수동으로 다시 연결할 준비는 돼 있어야 해요.

관련 자료

더 알아보기 (Learn more)