빠른 시작: Git 저장소에서 Cloud Run에 배포

이 페이지에서는 Git 저장소에서 Cloud Run으로 지속적으로 배포하는 방법을 보여줍니다.

이 프로세스에 대한 전체 안내는 Cloud Build를 사용하여 Git에서 지속적 배포를 참조하세요.

시작하기 전에

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Make sure that you have the following role or roles on the project: Cloud Run Admin, Cloud Run Source Developer, Logs Viewer

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      IAM으로 이동
    2. 프로젝트를 선택합니다.
    3. 액세스 권한 부여를 클릭합니다.
    4. 새 주 구성원 필드에 사용자 식별자를 입력합니다. 일반적으로 직원 ID 풀의 사용자 식별자입니다. 자세한 내용은 IAM 정책에서 직원 풀 사용자 표현을 참고하거나 관리자에게 문의하세요.

    5. 역할 선택 목록에서 역할을 선택합니다.
    6. 역할을 추가로 부여하려면 다른 역할 추가를 클릭하고 각 역할을 추가합니다.
    7. 저장을 클릭합니다.
  4. Enable the Cloud Build API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 프로젝트에서 인증되지 않은 호출을 제한하는 도메인 제한 조직 정책이 적용되는 경우 비공개 서비스 테스트의 설명대로 배포된 서비스에 액세스해야 합니다.

  6. 서비스 ID에 서비스 계정 사용자 역할이 부여되어 있는지 확인합니다. 기본적으로 서비스 ID는 Compute Engine 기본 서비스 계정입니다.

    역할 부여

    서비스 ID 리소스에 대한 액세스 권한을 부여하려면 gcloud iam service-accounts add-iam-policy-binding 명령어를 사용하여 강조 표시된 변수를 적절한 값으로 바꿉니다.

          gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
              --member=user:PRINCIPAL \
              --role=roles/iam.serviceAccountUser
          

    다음을 바꿉니다.

    • SERVICE_ACCOUNT_EMAIL: 서비스 ID로 사용 중인 서비스 계정 이메일 주소입니다(예:
      • Compute Engine 기본 서비스 계정: PROJECT_NUMBER-compute@
      • 생성한 서비스 계정: SERVICE_ACCOUNT_NAME@PROJECT_ID.
    • PRINCIPAL: 사용자 식별자입니다. 일반적으로 Cloud Run 리소스를 배포하는 Google 계정 이메일 주소입니다.
  7. Cloud Run 가격 책정을 검토하거나 가격 계산기로 비용을 추정합니다.
  8. 템플릿에서 저장소 만들기

    저장소를 만들려면 다음 안내를 따르세요.

    1. 템플릿 저장소로 이동합니다.

    2. 이 템플릿 사용을 클릭합니다.

    3. 새 저장소 만들기를 선택합니다.

    4. 양식에 저장소 이름을 입력합니다.

    5. 템플릿에서 저장소 만들기를 클릭합니다.

    저장소에서 배포

    저장소에서 배포하려면 다음 안내를 따르세요.

    1. Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.

      Cloud Run으로 이동

    2. 메뉴에서 서비스를 선택하고 컨테이너 배포를 클릭합니다.

    3. 서비스 만들기에서 저장소에서 지속적으로 배포 옵션이 선택되어 있는지 확인합니다.

    4. 양식에서 Cloud Build 설정을 클릭합니다.

    5. 오른쪽 패널에서

      1. 저장소 아래에서 새로 생성된 저장소를 선택합니다. 아직 인증하지 않은 경우 인증해야 할 수 있습니다. 저장소 제공업체 필드 아래에 있는 인증 링크를 사용하세요.

      2. GitHub 및 Google Cloud 상호작용에 대한 확인 동의를 선택합니다.

      3. 다음을 클릭합니다.

      4. 빌드 유형에서 Google Cloud 빌드팩을 선택합니다.

      5. 저장을 클릭합니다.

    6. 서비스 만들기 양식에서 다음을 수행합니다.

      1. 서비스 이름을 확인합니다. 이는 저장소 이름으로 자동으로 채워집니다.

      2. 리전 풀다운 메뉴에서 서비스를 배치할 리전을 선택합니다.

      3. 인증에서 공개 액세스 허용을 선택합니다. 이를 선택할 수 있는 권한(Cloud Run 관리자 역할)이 없으면 서비스가 배포되고 인증이 요구됩니다.

      4. 만들기를 클릭하여 샘플 저장소를 Cloud Run에 배포하고 배포가 완료될 때까지 기다립니다.

    7. 표시된 URL 링크를 클릭하여 배포된 컨테이너를 실행합니다.

    Cloud Run 위치

    Cloud Run은 리전을 기반으로 합니다. 즉, Cloud Run 서비스를 실행하는 인프라가 특정 리전에 위치해 있으며 해당 리전 내의 모든 영역에서 중복으로 사용할 수 있도록 Google이 관리합니다.

    Cloud Run 서비스를 실행하는 리전을 선택하는 데 있어 중요한 기준은 지연 시간, 가용성 또는 내구성 요구사항입니다. 일반적으로 사용자와 가장 가까운 리전을 선택할 수 있지만 Cloud Run 서비스에서 사용하는 다른 Google Cloud제품 위치도 고려해야 합니다. 여러 위치에서 Google Cloud 제품을 함께 사용하면 서비스 지연 시간과 비용이 영향을 받을 수 있습니다.

    Cloud Run은 다음 리전에서 사용할 수 있습니다.

    등급 1 가격 적용

    • asia-east1(타이완)
    • asia-northeast1(도쿄)
    • asia-northeast2(오사카)
    • asia-south1(인도 뭄바이)
    • europe-north1(핀란드) 잎 아이콘 낮은 CO2
    • europe-north2(스톡홀름) 잎 아이콘 낮은 CO2
    • europe-southwest1 (마드리드) 잎 아이콘 낮은 CO2
    • europe-west1 (벨기에) 잎 아이콘 낮은 CO2
    • europe-west4(네덜란드) 잎 아이콘 낮은 CO2
    • europe-west8 (밀라노)
    • europe-west9 (파리) 잎 아이콘 낮은 CO2
    • me-west1 (텔아비브)
    • northamerica-south1 (멕시코)
    • us-central1 (아이오와) 잎 아이콘 낮은 CO2
    • us-east1(사우스캐롤라이나)
    • us-east4(북 버지니아)
    • us-east5 (콜럼버스)
    • us-south1 (댈러스) 잎 아이콘 낮은 CO2
    • us-west1 (오리건) 잎 아이콘 낮은 CO2

    등급 2 가격 적용

    • africa-south1 (요하네스버그)
    • asia-east2(홍콩)
    • asia-northeast3(대한민국 서울)
    • asia-southeast1(싱가포르)
    • asia-southeast2 (자카르타)
    • asia-south2(인도 델리)
    • australia-southeast1(시드니)
    • australia-southeast2(멜버른)
    • europe-central2(폴란드 바르샤바)
    • europe-west10 (베를린)
    • europe-west12 (토리노)
    • europe-west2(영국 런던) 잎 아이콘 낮은 CO2
    • europe-west3(독일 프랑크푸르트)
    • europe-west6 (스위스 취리히) 잎 아이콘 낮은 CO2
    • me-central1 (도하)
    • me-central2 (담맘)
    • northamerica-northeast1 (몬트리올) 잎 아이콘 낮은 CO2
    • northamerica-northeast2 (토론토) 잎 아이콘 낮은 CO2
    • southamerica-east1 (브라질 상파울루) 잎 아이콘 낮은 CO2
    • southamerica-west1 (칠레 산티아고) 잎 아이콘 낮은 CO2
    • us-west2(로스앤젤레스)
    • us-west3(솔트레이크시티)
    • us-west4(라스베이거스)

    Cloud Run 서비스를 이미 만들었다면 Google Cloud 콘솔의 Cloud Run 대시보드에서 리전을 확인할 수 있습니다.

    서비스 업데이트

    서비스를 변경하려면 다음 안내를 따르세요.

    1. 저장소의 기본 브랜치로 커밋을 푸시합니다.

    2. Cloud Run 서비스를 새로고침하여 업데이트 상태를 확인합니다.

    Cloud Run은 수요에 따라 컨테이너 인스턴스를 자동으로 확장하며 요청 처리 중에 소비된 CPU, 메모리, 네트워킹에 대해서만 비용을 지불합니다.

    삭제

    Google Cloud 계정에 추가 비용이 청구되지 않도록 하려면 이 빠른 시작으로 배포한 모든 리소스를 삭제합니다.

    저장소 삭제

    배포된 서비스를 사용하지 않으면 Cloud Run에서 요금을 청구하지 않습니다. 하지만 Artifact Registry에 컨테이너 이미지를 저장하는 요금은 부과될 수 있습니다. Artifact Registry 저장소를 삭제하려면 Artifact Registry 문서의 저장소 삭제 단계를 따르세요.

    서비스 삭제

    Cloud Run 서비스는 요청을 수신할 때까지 비용이 발생하지 않습니다. Cloud Run 서비스를 삭제하려면 다음 단계 중 하나를 따르세요.

    콘솔

    서비스를 삭제하려면 다음 안내를 따르세요.

    1. Google Cloud 콘솔에서 Cloud Run으로 이동합니다.

      Cloud Run으로 이동

    2. 서비스 목록에서 삭제할 서비스를 찾은 다음 체크박스를 클릭하여 선택합니다.

    3. 삭제를 클릭합니다. 이렇게 하면 서비스의 모든 버전이 삭제됩니다.

    gcloud

    서비스를 삭제하려면 다음 명령어를 실행합니다.

    gcloud run services delete SERVICE --region REGION

    다음을 바꿉니다.

    • SERVICE: 서비스 이름입니다.
    • REGION: Google Cloud 서비스의 리전입니다.

    테스트 프로젝트 삭제

    Google Cloud 프로젝트를 삭제하면 해당 프로젝트의 모든 리소스에 대한 청구가 중단됩니다. 프로젝트의 모든 Google Cloud 리소스를 해제하려면 다음 단계를 따르세요.

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    다음 단계