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

Machine 런타임 환경

원문 보기 위키 갱신

Machine의 런타임 환경에서는 환경 변수를 통해 여러 종류의 정보를 이용할 수 있어요. 값은 세 가지 출처에서 오는데, 시크릿(Secrets), Machine 설정의 환경 변수 설정, 그리고 아래에서 설명하는 Fly.io 인프라가 그것이에요. 이 문서에서는 각 환경 변수가 무엇을 의미하는지 하나씩 설명해 드릴게요.

출처: 문서

본문

환경 변수는 Machine의 런타임 환경 안에서 여러 종류의 정보를 이용할 수 있게 해 줘요. 값은 세 가지 출처에서 옵니다:

환경 변수

FLY_APP_NAME

앱 이름: Fly.io에서 실행되는 각 앱은 고유한 앱 이름을 가져요. 이 이름은 사용자에게 앱을 식별해 주고, 내부 DNS를 사용해 IPv6 프라이빗 네트워크에서 해당 앱의 Machine을 식별하는 데도 쓰여요. 예를 들어 syd.$FLY_APP_NAME.internal은 syd 리전에서 실행 중인 앱의 Machine을 가리킬 수 있어요. 프라이빗 네트워킹 문서의 6PN 네이밍에 대해 더 알아보세요.

FLY_MACHINE_ID

Machine ID: Fly.io 플랫폼에서 Machine의 고유 ID예요. flyctl과 Machines API로 Machine을 지정할 때 사용하는 ID예요. Machine이 내보내는 로그 메시지에서도 확인할 수 있어요.

FLY_ALLOC_ID

할당 ID(Allocation ID): FLY_MACHINE_ID와 동일해요.

FLY_REGION

리전 이름: Machine이 실행 중인 리전의 세 글자 이름이에요. 현재 리전 목록은 리전 페이지에 있어요. 예를 들어 "ams"는 암스테르담의 리전 이름이에요.

연결이 수락된 위치를 나타내는 HTTP 헤더 Fly-Region과 혼동하지 마세요.

FLY_PUBLIC_IP

IPv6 공용 IP: 이 Machine의 전체 공용 아웃바운드 IPv6 주소예요. 네트워크 서비스 섹션에서 더 알아보세요.

FLY_IMAGE_REF

Docker 이미지 참조: Machine을 만드는 데 사용된 Docker 이미지의 이름이에요. registry.fly.io/my-app-name:deployment-01H9RK9EYO9PGNBYAKGXSHV0PH는 Docker 이미지 참조 형식의 예시예요.

Rails Background Jobs with Fly Machines에서처럼, 백그라운드 워커를 0으로 줄였다가 다시 확장하기 위해 앱이 스스로 Machine 인스턴스를 런칭해야 한다면 유용해요.

FLY_MACHINE_VERSION

Machine 구성 버전: 특정 Machine 구성과 연결된 버전 식별자예요. Machine의 구성(도커 이미지 업데이트 포함)을 업데이트하면 새로운 FLY_MACHINE_VERSION을 받아요. Machines API의 metadata 엔드포인트로 Machine의 메타데이터를 변경해도 새 버전이 생기지 않아요. 이 값은 fly machine status 출력의 Instance ID라는 이름으로도 찾을 수 있어요.

FLY_PRIVATE_IP

프라이빗 IPv6 주소: Machine이 6PN 프라이빗 네트워크에서 가지는 IPv6 주소예요.

FLY_PROCESS_GROUP

프로세스 그룹: Machine과 연결된 Fly Launch 프로세스 그룹이 있다면 그 이름이에요.

FLY_VM_MEMORY_MB

Machine 메모리: Machine에 할당된 메모리(MB 단위)예요. 대시보드의 Machine 페이지에 표시되는 값과 fly machine status 출력의 VM Memory와 같은 값이에요. Machine 크기 조정에 대해 더 알아보세요.

PRIMARY_REGION

프라이머리 리전: fly.toml에 설정하거나 fly launch 사용 시 --region 플래그로 설정되는 값이에요. 프라이머리 리전 구성에 대해 더 알아보세요.

더 알아보기 (Learn more)