마이그레이션 개요

Cloud Foundry to Cloud Run 마이그레이션 가이드에서는 Cloud Foundry 서비스와 Cloud Run 서비스 간의 차이점에 대한 배경 정보를 제공하며 Cloud Run의 컨테이너에서 실행하기 위해 Cloud Foundry 애플리케이션을 마이그레이션하는 데 필요한 사항을 보여줍니다. 이 마이그레이션 페이지에서 데이터 마이그레이션은 다루지 않습니다.

마이그레이션 가능한 Cloud Foundry 애플리케이션

Cloud Run은 스테이트리스(Stateless) HTTP 또는 HTTP/2 애플리케이션을 실행하도록 설계되었습니다. Cloud Foundry 애플리케이션은 다음 기준을 충족하지 않으면 마이그레이션할 수 없습니다.

  • HTTP 또는 HTTP/2를 사용합니다(gRPC 포함).
  • PORT 환경 변수를 기반으로 트래픽을 리슨합니다.
  • 다른 애플리케이션으로 다른 경로에 라우팅할 필요가 없습니다.
  • 트래픽 프록시에 기존 Cloud Foundry '경로 서비스'가 필요하지 않습니다.
  • 인스턴스 ID나 특정 시작 순서가 필요하지 않습니다.
  • 개별 인스턴스를 처리할 필요가 없습니다.
  • 환경에 대한 부작용 없이 시작할 수 있습니다(예: 데이터베이스 마이그레이션 시작).

Cloud Foundry와 Cloud Run의 차이점 이해

Cloud Foundry와 Cloud Run은 모두 유사한 소스 배포 환경을 공유하지만 플랫폼이 워크로드 컨테이너화, 애플리케이션 구성, 서비스 정의에 접근하는 방식에는 중요한 차이점이 있습니다. 다음 표에는 Cloud Foundry와 Cloud Run의 차이점이 나와 있습니다.

앱 구성요소 Cloud Foundry Cloud Run
컨테이너 이미지 배포
Cloud Run
소스 배포 Dockerfile
Cloud Run
소스 배포 빌드팩
컨테이너화 CF 빌드팩 v2 해당 사항 없음 Cloud Build Cloud Build
기본 이미지 cflinuxfs3(Ubuntu 18.04)
cflinuxfs4(Ubuntu 22.04)
자체 컨테이너 이미지 가져오기 Dockerfile 지정 Ubuntu 18.04 또는 Ubuntu 22.04
서비스 정의 manifest.yaml service.yaml
무시 목록 .cfignore .gcloudignore
서비스 메타데이터 VCAP_* 환경 변수 워크로드 아이덴티티, 클라우드 보안 비밀
지원되는 컨테이너 형식 Droplet Docker 이미지 매니페스트 V2, 스키마 1, 스키마 2, OCI 형식

마이그레이션 방법

Cloud Foundry 애플리케이션을 마이그레이션하려면 다음 안내를 따르세요.

  1. OCI 준수 컨테이너 빌드 전략 선택
  2. OCI 호환 컨테이너로 마이그레이션
  3. 매니페스트 변환
  4. 지원 서비스 연결
  5. Cloud Run에 서비스 배포

샘플 마이그레이션

Spring Music 예시에서는 Cloud Foundry의 핵심 구성요소를 사용하여 Spring Music을 OCI 호환 이미지로 다시 빌드하고 Cloud Run에 배포합니다. 이 샘플은 리프트 앤 시프트 OCI 규정 준수 전략을 따릅니다.

다음 단계

컨테이너화 전략 선택