티스토리 뷰
안녕하세요, GCP의 Google Cloud의 서버리스 제품 중 Google Cloud Run 에 대해 알아보겠습니다.
Cloud Run이란?
Cloud Run은 Google의 확장 가능한 인프라에서 직접 컨테이너를 실행할 수 있게 해 주는 관리형 컴퓨팅 플랫폼입니다.
Cloud Run을 사용하면 개발자가 코드를 작성하는 데 시간을 사용할 수 있게 하고 Cloud Run 서비스를 운영, 구성, 확장하는 데는 시간을 거의 쓰지 않아도 됩니다. Cloud Run으로 생산성을 높이기 위해 클러스터를 만들거나 인프라를 관리할 필요가 없습니다.
코드 실행을 위한 두 가지 방법
- Cloud Run Service 웹 요청 또는 이벤트에 응답하는 코드를 실행하기 위해 사용됩니다.
- Cloud Run Job 작업을 수행하고, 작업이 완료되면 종료하는 코드를 실행하기 위해 사용됩니다.
Cloud Run Service
Cloud Run 서비스는 안정적인 HTTPS 엔드포인트를 실행하는 데 필요한 인프라를 제공합니다. 사용자는 코드가 TCP 포트에서 리슨하고 HTTP 요청을 처리하는지 확인해야 합니다.
Cloud Run Service를 사용해야 하는 경우
Cloud Run 서비스는 요청 또는 이벤트를 처리하는 코드에 매우 효과적입니다. 사용 사례의 예를 들면 다음과 같습니다.
웹사이트 및 웹 애플리케이션
- 원하는 스택을 사용해서 웹앱을 빌드하고 SQL 데이터베이스에 액세스하고, 동적 HTML 페이지를 렌더링합니다.API 및 마이크로서비스REST API나 GraphQL API 또는 HTTP 또는 gRPC로 통신하는 비공개 마이크로 서비스를 빌드할 수 있습니다.스트리밍 데이터 처리Cloud Run 서비스는 Pub/Sub 푸시 구독에서 메시지를 수신하고 Eventarc에서 이벤트를 수신할 수 있습니다.
Cloud Run Job
스크립트에서와 같이 코드 작업이 수행되고 중지되면 Cloud Run 작업을 사용하여 코드를 실행할 수 있습니다. gcloud CLI를 사용하여 명령줄에서 작업을 실행하거나, 반복 작업을 예약하거나, 워크플로의 일부로 실행할 수 있습니다.
Cloud Run Job을 사용해야 하는 경우
Cloud Run 작업은 작업을 수행하고 작업이 완료되면 종료되는 코드를 실행하는 데 적합합니다. 예를 들면 다음과 같습니다.
스크립트 또는 도구스크립트를 실행하여 데이터베이스 마이그레이션 또는 기타 운영 작업을 수행합니다.배열 작업Cloud Storage 버킷에 있는 모든 파일의 처리를 대량으로 동시에 수행합니다.예약된 작업정기적인 간격으로 인보이스를 만들고 전송하거나 데이터베이스 쿼리 결과를 XML로 저장하고 파일을 몇 시간 간격으로 업로드합니다.
Cloud Run과 잘 작동하는 모든 Google Cloud 서비스 목록은 Google Cloud 서비스에 연결을 참조하세요.
서비스 또는 작업을 Cloud Run에 배포할 수 있으려면 이를 컨테이너 이미지에 패키징해야 합니다. 컨테이너에 익숙하지 않은 경우에는 간단한 다음 개념 소개를 참조하세요.
Cloud Run와 Google Cloud 서비스에 연결되는 네트워크 서비스는 아래가 있습니다.
이 중에서 External HTTP(S) ALB에서 서버리스 NEG를 사용하여 External ALB용 Cloud Run 백엔드를 구성합니다.
Cloud Run, App Engine 또는 Cloud Functions를 사용하여 기본 애플리케이션 부하 분산기 설정하는 방법입니다.
Cloud Run, App Engine 또는 Cloud Functions를 사용하여 기본 애플리케이션 부하 분산기 설정 가이드를 참고하여 Cloud Run을 백엔드로 구성하는 절차는 아래와 같습니다.
사전 작업
1) App Engine, Cloud Functions 또는 Cloud Run 서비스 배포
사전작업을 통해 Cloud Run에 Python 서비스를 배포합니다.
2) Google Cloud CLI 설치
- 생략
3) 권한 구성
서버리스 NEG를 만들고 프로젝트에 외부 HTTP(S) 부하 분산기를 만들기 위해서는 프로젝트 소유자 또는 편집자이거나 다음 Compute Engine IAM 역할을 보유해야 합니다.
외부 IP 주소 예약
서비스가 준비되어 실행 중이므로 고객이 부하 분산기에 연결하는 데 사용하는 전역 고정 외부 IP 주소를 설정합니다.
고정 외부 IP 주소가 서버리스 앱을 가리키는 단일 주소를 제공하기 때문에 일반적으로 권장됩니다. 서버리스 앱에 커스텀 도메인을 사용하는 경우에도 IP 주소 예약이 필수적입니다(Google 관리형 SSL 인증서의 경우에도 필요). 커스텀 도메인의 경우 도메인이 이 IP 주소를 가리키도록 DNS 레코드를 업데이트해야 합니다.
SSL 인증서 리소스 만들기
HTTPS 부하 분산기를 만들려면 부하 분산기의 프런트엔드에 SSL 인증서 리소스를 추가해야 합니다. Google 관리형 SSL 인증서 또는 자체 관리형 SSL 인증서를 사용하여 SSL 인증서 리소스를 만듭니다.
부하 분산기 만들기
1) 프론트엔드 구성
- 생략
2) 백엔드구성
백엔드 서비스 및 백엔드 버킷 목록에서 백엔드 서비스 만들기를 클릭합니다.
백엔드 유형에서 서버리스 네트워크 엔드포인트 그룹을 선택합니다.
백엔드 섹션의 새 백엔드에서 서버리스 네트워크 엔드포인트 그룹 만들기를 선택합니다.
3) 라우팅 규칙
부하 분산기 테스트
Cloud Run을 사용하여 Artifact Registry 저장소에 이미 푸시된 샘플 컨테이너를 배포하는 방법을 설명합니다.
[Cloud Run] - [Create Service]
Cloud Run에 수신 웹 요청에 응답하는 컨테이너가 배포되었습니다. Cloud Run은 수신된 요청을 처리하기 위해 컨테이너를 수평 확장하고, 수요가 감소하면 수평 축소합니다.
Cloud Run Reference
2. Using a Global Load Balancer with Cloud Run
3. Understanding Load Balancers with Cloud Run
Understanding Load Balancers with Cloud Run
A load balancer is a device or software that distributes network or application traffic across a number of servers. Load balancers are used…
python.plainenglish.io
4. securing-gcs-static-assets-iap
GitHub - xiangshen-dk/securing-gcs-static-assets-iap: Securing static files hosted on GCS using IAP
Securing static files hosted on GCS using IAP. Contribute to xiangshen-dk/securing-gcs-static-assets-iap development by creating an account on GitHub.
github.com
Cloud Run 관련글 참고
[GCP]Serverless 서비스인 Cloud Run 알아보기 1부 — Cloud Run 개요
[GCP]Serverless 서비스인 Cloud Run 알아보기 2부 — 로컬에서 개발하기(Cloud Code)
[GCP]Serverless 서비스인 Cloud Run 알아보기 3부 — 업데이트 및 트래픽 조정
[GCP]Serverless 서비스인 Cloud Run 알아보기 4부 — 서버리스 VPC 액세스
[GCP]Serverless 서비스인 Cloud Run 알아보기 5부 — Eventarc 를 통한 이벤트 받기
[GCP]Serverless 서비스인 Cloud Run 알아보기 6부 — Cloud logging 과 Eventarc 를 통한 이벤트 처리
[GCP]Serverless 서비스인 Cloud Run 알아보기 7부 — Cloud Storage FUSE 를 활용하여 여러 서비스간의 데이터 공유
[GCP]Serverless 서비스인 Cloud Run 알아보기 8부 — Cloud Run Jobs 서비스
[GCP]Serverless 서비스인 Cloud Run 알아보기 9부 — 안 알려졌지만 주목할만한 2022년 업데이트 정리
[GCP]Serverless 서비스인 Cloud Run 알아보기 10부 — Log Sync 와 EventArc 를 통해 여러 프로젝트의 이벤트 통합 방법
'IT > Infra&Cloud' 카테고리의 다른 글
[gcp] Security Command Center(Detective Controls) (0) | 2024.07.15 |
---|---|
[gcp] Cloud Identity SSO 설정 (0) | 2024.07.15 |
[gcp] Cloud Function(with jenkins) (0) | 2024.07.13 |
[gcp] Serverless service(Cloud Function vs Cloud Run) (0) | 2024.07.09 |
[gcp] Network Connectivity Center(with Lab: NCC) (0) | 2024.07.07 |
- Total
- Today
- Yesterday
- cloud
- k8s
- cni
- terraform
- 혼공단
- 파이썬
- IaC
- VPN
- 혼공챌린지
- handson
- AWS
- PYTHON
- GKE
- NFT
- controltower
- k8s calico
- OS
- 도서
- 혼공파
- operator
- S3
- NW
- 국제 개발 협력
- SDWAN
- AI
- gcp serverless
- EKS
- security
- GCP
- k8s cni
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |