이 페이지에서는 Cloud Run용 서비스 개발을 시작하기 위해 알아야 할 몇 가지 사항을 설명합니다.
코드 요구사항
서비스를 개발할 때 다음 요구사항을 충족해야 합니다.
- 서비스는 요청을 리슨해야 합니다.
요청이 전송되는 포트를 구성할 수 있습니다.
Cloud Run 인스턴스 내에서
PORT
환경 변수 값은 항상 요청이 전송되는 포트를 반영합니다. 코드에서는 이PORT
환경 변수가 있는지 확인해야 하며, 변수가 있으면 이를 리슨하여 이동성을 극대화해야 합니다. - 서비스는 스테이트리스(Stateless)여야 하며, 영구 로컬 상태를 사용할 수 없습니다.
- 서비스가 요청 처리 범위 외부에서 백그라운드 작업을 수행하는 경우 표준 요청 주기 외부에서 CPU가 할당되게 하려면 인스턴스 기반 결제 설정을 사용해야 합니다.
- 서비스에 네트워크 파일 시스템이 사용될 경우 2세대 실행 환경을 사용해야 합니다.
컨테이너 런타임 계약에서 이러한 제약조건에 대한 자세한 내용을 확인할 수 있습니다.
프로그래밍 언어 지원
Cloud Run 소스 배포는 여러 언어 런타임을 편리하게 지원하며 각 언어 런타임은 Google Cloud 빌드팩에서 제공하는 컨테이너 기본 이미지를 통해 제공됩니다. 소스 코드가 OCI 준수 이미지에 있는 한 다른 프로그래밍 언어나 프레임워크를 사용할 수도 있습니다.
빌드 및 배포 빠른 시작에서는 많이 사용되는 언어로 샘플을 제공합니다.
웹 서버 사용
웹 서버를 사용하여 필수 포트에서 리슨하고 수신 요청을 처리하고 라우팅할 수 있습니다. 예를 들어 Node.js 개발자는 Express.js를, Python 개발자는 Flask를, Ruby 개발자는 Sinatra를 사용할 수 있습니다.
코드 컨테이너화
자세한 내용은 코드 컨테이너화를 참조하세요.
Gemini 어시스턴스를 사용하여 Cloud Run 앱 설계
Gemini Cloud Assist 채팅에서 AI 기반 도움을 받아 애플리케이션을 최적으로 설계할 수 있습니다. Gemini Cloud Assist를 사용하면 Cloud Run에 애플리케이션을 배포하는 데 가장 적합한 구성과 전략을 파악하여 효율적인 리소스 활용과 원활한 운영을 보장할 수 있습니다.
Google Cloud 콘솔에서 Gemini Cloud Assist를 사용하려면 다음을 수행합니다.
- Gemini Cloud Assist가 Google Cloud 사용자 계정과 프로젝트에 설정되어 있는지 확인합니다.
Google Cloud 프로젝트에서 Cloud Run 개발 환경을 설정하고 적절한 배포 권한이 있는지 확인합니다.
Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.
콘솔 툴바에서 Google Cloud 프로젝트를 선택합니다. Gemini Cloud Assist에 대한 액세스 권한을 부여받은 후 제출한 프로젝트 ID와 연결된 프로젝트를 사용합니다.
spark Gemini AI 채팅 열기 또는 닫기를 클릭합니다.
Gemini 패널이 열립니다.
필요한 경우 약관에 동의하면 동의를 클릭합니다.
특정 애플리케이션에 대해 질문하는 경우 질문하기 전에 리소스가 표시된 페이지로 이동하여 컨텍스트를 제공합니다. Gemini는 대답을 생성할 때 현재 콘솔 페이지와 프로젝트에 대한 정보를 포함합니다.
Gemini 패널에 프롬프트를 입력합니다.
다음 표에는 Cloud Run에서 Gemini Cloud Assist를 사용하는 프롬프트의 예시가 나와 있습니다.
프롬프트 대답 유형 'Cloud Run에서 Node.js 앱을 설계하고 싶어. 권장되는 방식과 알아야 할 사항을 알려줘.' 앱 컨테이너화, node.js 앱 구조화, 배포 프로세스에 대한 요약입니다. 'Cloud Run 앱을 배포하는 데 필요한 권한을 알려줘.' 필수 권한 및 역할 목록입니다. 'Cloud Run을 사용하여 3계층 웹 애플리케이션을 배포하고 싶어.' 3계층 웹 앱을 설계하는 단계의 일반적인 개요입니다. 'App Engine 앱을 Cloud Run으로 마이그레이션하는 방법을 알려줘' Cloud Run 개발 환경을 준비하는 주요 단계와 두 제품 간의 주요 차이점을 간략하게 설명합니다. 특정 요구사항이 충족되도록 솔루션을 맞춤설정하는 데 사용할 수 있는 튜토리얼 예시로 연결되는 링크입니다. 'Cloud Run 서비스 'example-service'의 최소 인스턴스 설정을 2로 업데이트하는 gcloud CLI 명령어를 알려줘.' 최소 인스턴스 설정을 업데이트할 수 있도록 제안된 gcloud CLI 명령어입니다. 'Cloud Run 서비스 hello-world
의 서비스 계정을 업데이트하는 방법을 알려줘.'서비스 계정을 업데이트할 수 있도록 제안된 gcloud CLI 명령어입니다. 'LangChain으로 Cloud Run에서 생성형 AI 앱을 빌드하는 예시를 보여 줘.' LangChain과 함께 Cloud Run을 사용하여 예시 앱을 만드는 단계입니다. '결제 설정을 인스턴스 기반 결제로 설정하는 Cloud Run 서비스의 google_cloud_run_v2_service
리소스를 사용하여 Terraform 구성을 생성해 줘.'결제 설정을 업데이트할 수 있도록 제안된 Terraform 구성입니다.
자세한 내용은 다음 리소스를 참조하세요.
- 더 나은 프롬프트를 작성하는 방법 알아보기
- Gemini Cloud Assist 패널 사용 방법 알아보기
- AI 지원 및 개발에 Gemini 사용 읽어보기
- Google Cloud 를 위한 Gemini에서 사용자 데이터를 사용하는 방법 알아보기
다음 단계
- 서비스 코드와 Dockerfile이 있으면 컨테이너 이미지를 빌드한 다음 로컬 테스트에서 계속 반복해야 합니다.
- 기존 웹 애플리케이션을 마이그레이션하는 경우 Cloud Run으로 서비스 마이그레이션을 참조하세요.
- Cloud Run 서비스 설계, 구현, 테스트, 배포에 대한 권장사항은 개발 도움말을 참조하세요.