Flycast - 사설 Fly Proxy 서비스
Flycast가 Fly.io 사설 네트워크의 사설 앱에 어떤 네트워크 주소와 라우팅을 제공하는지 알려드릴게요. Flycast를 쓰면 요청이 기본 사설 네트워킹처럼 Machine 간으로 가는 대신 Fly Proxy를 통해 라우팅됩니다. 또 .internal 주소를 쓰는 사설 네트워킹과 달리 앱에 접근 가능하려고 Machines를 계속 켜 둘 필요도 없어요.
출처: 문서
본문
Flycast는 Fly.io 사설 네트워크의 사설 앱에 네트워크 주소와 라우팅을 제공합니다. Flycast를 사용하면 사설 앱에 대한 요청이 기본 사설 네트워킹의 Machine 간 방식이 아니라 Fly Proxy를 통해 라우팅됩니다. 그리고 .internal 주소를 사용하는 사설 네트워킹과 달리 앱이 접근 가능하도록 Machines를 계속 실행해 둘 필요가 없습니다.
조직의 사설 네트워크 안에서 Flycast를 사용해 다음을 할 수 있습니다:
- 네트워크 요청에 기반해 Fly Proxy autostop/autostart Machines를 자동으로 시작/중지.
- 사설 서비스에 대해 Fly Proxy의 지리 인식 로드 밸런싱을 이용.
- DNS를 사용할 수 없는 다른 앱에서 서비스에 연결.
- 라운드 로빈 DNS 항목을 지원하지 않는 데이터베이스 같은 타사 소프트웨어에서 연결.
- 다른 Fly.io 조직에서 앱의 특정 포트나 서비스에 접근.
- TLS 종료나 PROXY 프로토콜 지원 같은 고급 Fly Proxy 기능 사용.
Flycast 빠른 시작
Flycast 주소를 가진 새 사설 앱을 만드는 가장 빠른 방법:
fly launch --flycast
조직 기본 사설 네트워크의 다른 앱에서 Flycast 사설 IPv6 주소나 my-app-name.flycast로 서비스에 접근하세요.
Flycast 요구사항
앱에 Flycast를 사용하려면 다음이 필요합니다:
- Fly.io 조직 네트워크 중 하나에 앱의 Flycast 사설 IPv6 주소.
- 앱이
0.0.0.0:port에 바인딩. (fly-local-6pn:<port>에 바인딩하면 Flycast에 동작하지 않습니다.) - 앱의
fly.toml에[http_service]또는[services]섹션으로 서비스가 구성되어 있어야 함.force_https를 사용하지 마세요. Flycast는 HTTP 전용입니다.
Flycast 주소 할당
Flycast 주소는 Fly Proxy가 사설 네트워크를 통해 라우팅할 수 있는 앱 전체(app-wide) 사설 IPv6 주소입니다. 기본적으로 Flycast IP 주소는 앱의 기본 조직 네트워크에 할당됩니다.
기존 앱에 Flycast 주소를 추가하는 방법은 몇 가지가 있습니다.
배포 시 Flycast 주소 할당:
fly deploy --flycast
배포 없이 Flycast 주소 할당:
fly ips allocate-v6 --private
다른 조직에서 앱 접근하기
Flycast를 사용해 한 Fly.io 조직의 앱을 다른 Fly.io 조직에 노출할 수 있습니다. 앱은 자체 조직에서는 Flycast로 접근할 수 없습니다. Flycast 주소를 할당할 때 --org 옵션을 사용하세요:
fly ips allocate-v6 --private --org my-other-org
다른 사설 네트워크에서 앱 접근하기
Flycast를 사용해 한 사설 네트워크의 앱을 조직의 다른 사설 네트워크에 노출할 수도 있습니다. 앱은 자체 네트워크에서는 Flycast로 접근할 수 없습니다. 요청이 시작되는 네트워크를 지정하려면 --network 옵션을 사용하세요:
fly ips allocate-v6 --private --network custom-network-name
사용자 지정 사설 네트워크에 대해 자세히 알아보세요.
Flycast와 Fly.io DNS
Flycast 주소는 Fly.io DNS로도 찾을 수 있습니다. 앱에 Flycast 주소가 할당되어 있다면 my-app-name.flycast에 AAAA 레코드가 있습니다.