이 가이드에서는 함수를 배포하는 데 사용되는 최신 옵션과 기존 Google Cloud 옵션을 비교합니다. 이 페이지는 이전에 Cloud Functions API로 함수를 만들었고 Cloud Run Admin API로 전환하는 개발자에게 도움이 됩니다. 이 페이지에서는 개념, 구성, 배포, 트리거, 재시도와 같은 여러 영역에서의 주요 차이점을 설명합니다.
비교
Cloud Run Functions에는 다음과 같은 두 가지 버전이 있습니다.
Cloud Run Functions: 다음 방법 중 하나로 만들 수 있습니다.
- Cloud Run Admin API(권장): 이 API(예: Google Cloud 콘솔,
gcloud run
, REST API 또는 Terraform 사용)로 만든 함수는 Cloud Run에 서비스로 배포됩니다. - Cloud Functions v2 API: 이 API(예:
gcloud functions
, REST API 또는 Terraform 사용)로 만든 함수는 Cloud Run Admin API 및 Cloud Functions v2 API로 관리될 수 있습니다. 이 API를 사용할 경우 함수를 배포할 때 트리거를 지정합니다. Cloud Run Admin API 환경을 사용하여 전적으로 관리할 수 있도록 v2 API 함수를 분리하는 방법을 알아보세요.
- Cloud Run Admin API(권장): 이 API(예: Google Cloud 콘솔,
Cloud Run Functions(1세대)(이전 명칭: Cloud Functions(1세대))는 제한된 이벤트 트리거와 구성 가능성을 갖춘 함수의 원래 버전입니다.
함수를 Cloud Run에 직접 배포하면 함수가 컨테이너로 자동 빌드되고 Cloud Run 서비스로 배포됩니다.
개념
다음 표에는 함수의 개념적 차이점이 요약되어 있습니다.
Cloud Run Functions | Cloud Run Functions(1세대) | |
---|---|---|
이전 제품 이름 | Cloud Functions(2세대) | Cloud Functions(1세대) |
리소스 모델 | 함수는 소스 코드에서 배포되는 Cloud Run 서비스입니다. | 소스 코드에서 함수가 배포됨 |
함수 유형 용어 |
|
|
할당된 HTTPS URL | run.app Cloud Functions v2 API로 만든 함수에는 cloudfunctions.net 엔드포인트도 있습니다. |
cloudfunctions.net |
이미지 레지스트리 | Artifact Registry만 해당 | Artifact Registry 또는 Container Registry(지원 중단됨) |
배포에 대한 IAM 역할 |
|
|
내부 인프라 | Cloud Run | Google 내부용 |
가격 모델 | Cloud Run 가격 책정 | Cloud Run Functions(1세대) 가격 책정 |
구성
Cloud Run은 함수를 컨테이너에 빌드하고 서비스로 배포합니다. 함수를 Cloud Run에 배포하면 함수 동작에 완전히 액세스하고 제어할 수 있습니다. 예를 들어 직접 VPC를 사용 설정하고 GPU를 구성하며 볼륨 마운트를 사용할 수 있습니다.
다음 표에는 함수의 구성 차이점이 요약되어 있습니다.
Cloud Run Functions | Cloud Run Functions(1세대) | |
---|---|---|
요청 시간 종료 |
|
|
인스턴스 크기 | 최대 16GiB RAM(vCPU 4개) | 최대 8GB RAM(vCPU 2개) |
동시 실행 | 함수 인스턴스당 동시 요청 최대 1,000개 | 함수 인스턴스당 동시 요청 1개 |
트래픽 분할 | 지원됨 | 지원되지 않음 |
배포
2024년 8월부터 Cloud Run을 사용하여 Cloud Functions v2 API로 만든 함수를 배포하고 관리할 수 있습니다. 이 변경사항으로 인해 다음을 수행할 수 있습니다.
- 런타임 ID 및 빌드 구성과 같은 함수 메타데이터는 Cloud Run 서비스 정의에 저장됩니다.
- Cloud Run Admin API를 사용하여 함수를 안전하게 수정할 수 있습니다.
- Cloud Run 서비스 정의를 함수의 정보 소스로 사용할 수 있습니다.
단, Cloud Run Admin API로 만든 함수를 Cloud Functions API로 수정할 수 없습니다.
다음 표에는 함수를 생성, 배포, 수정, 관리하는 방법의 차이점이 요약되어 있습니다.
Cloud Run Functions | Cloud Run Functions(1세대) | |
---|---|---|
Google Cloud 콘솔 | Cloud Run | Cloud Run Functions(1세대) |
Cloud SDK |
|
|
REST API |
|
|
Terraform |
|
트리거 및 재시도
다음 표에서는 함수의 트리거와 재시도를 비교합니다.
Cloud Run Functions | Cloud Run Functions(1세대) | |
---|---|---|
함수 트리거 및 호출 | Cloud Run Admin API로 만든 함수의 경우 Google Cloud 콘솔에서 또는 gcloud CLI를 사용할 경우 함수를 배포한 후에 트리거를 함수 배포의 일부로 지정합니다. Cloud Functions v2 API로 만든 함수의 경우 트리거를 함수 배포의 일부로 지정합니다. |
트리거를 함수 배포의 일부로 지정합니다. |
이벤트 유형 | Cloud 감사 로그를 통한 이벤트 소스 90개 이상을 포함하여 Eventarc에서 지원하는 모든 이벤트 유형을 지원합니다. | 7개 소스의 이벤트를 직접 지원합니다. |
재시도 | Cloud Run Admin API로 만든 함수의 경우 Eventarc에서 재시도 정책을 업데이트하고 Pub/Sub에서 데드 레터 주제를 구성합니다. Cloud Functions v2 API로 만든 함수의 경우 --retry 플래그를 사용하여 재시도를 함수 배포의 일부로 지정합니다.
|
--retry 플래그를 사용하여 재시도를 함수 배포의 일부로 지정합니다. |
함수 분리
Cloud Functions v2 API(예: gcloud functions
, REST API 또는 Terraform 사용)를 사용하여 만든 함수를 기존 API 환경에서 분리할 수 있습니다. 함수를 분리한 후에는 Cloud Run Admin API를 통해서만 함수를 관리할 수 있습니다. 워크로드가 Assured Workloads의 run.googleapis.com
API 경계 내에 있어야 하거나 워크로드에서 Cloud Run SKU를 사용해야 하는 경우에 이 작업을 수행할 수 있습니다. 자세한 내용은 Cloud Functions v2 API 참고 리소스의 함수 관리를 참조하세요.
다음 단계
- Cloud Run에 함수 배포 시작 가이드 사용해 보기