GCP 실전 가이드

GCP의 핵심 개념과 실무 활용

Python중급
8시간
4개 항목
학습 진행률0 / 4 (0%)

학습 항목

1. Python
초급
GCP|Cloud|최신|기능|완벽|가이드
퀴즈튜토리얼
2. Python
초급
GCP|성능|최적화|완벽|가이드
퀴즈튜토리얼
3. Python
중급
GCP|테스트|전략|완벽|가이드
퀴즈튜토리얼
4. Python
초급
GCP|트러블슈팅|완벽|가이드
퀴즈튜토리얼
1 / 4

이미지 로딩 중...

GCP Cloud 최신 기능 완벽 가이드 - 슬라이드 1/9

GCP Cloud 최신 기능 완벽 가이드

Google Cloud Platform의 최신 기능들을 실제 코드 예제와 함께 알아봅니다. 초급 개발자도 쉽게 따라할 수 있도록 구성했습니다.


카테고리:Python
언어:Python
난이도:beginner
메인 태그:#GCP
서브 태그:
#CloudRun#CloudFunctions#CloudStorage#PubSub

들어가며

이 글에서는 GCP Cloud 최신 기능 완벽 가이드에 대해 상세히 알아보겠습니다. 총 8가지 주요 개념을 다루며, 각각의 개념에 대한 설명과 실제 코드 예제를 함께 제공합니다.

목차

  1. Cloud_Run_배포
  2. Cloud_Storage_파일_업로드
  3. Pub/Sub_메시지_발행
  4. Cloud_Functions_HTTP_트리거
  5. Firestore_데이터_저장
  6. Secret_Manager_비밀_관리
  7. Cloud_Scheduler_작업_예약
  8. Vertex_AI_텍스트_생성

1. Cloud_Run_배포

개요

Cloud Run은 컨테이너화된 애플리케이션을 서버리스로 실행할 수 있는 서비스입니다. 자동 스케일링과 HTTP 엔드포인트를 제공합니다.

코드 예제

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello from Cloud Run!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

설명

Flask 앱을 Cloud Run에 배포하면 자동으로 HTTPS 엔드포인트가 생성되고, 트래픽에 따라 자동으로 스케일링됩니다.


2. Cloud_Storage_파일_업로드

개요

Cloud Storage는 객체 스토리지 서비스로, 파일을 안전하게 저장하고 관리할 수 있습니다. Python SDK를 통해 쉽게 접근할 수 있습니다.

코드 예제

from google.cloud import storage

client = storage.Client()
bucket = client.bucket('my-bucket')
blob = bucket.blob('my-file.txt')

blob.upload_from_string('Hello GCP!')
print(f'파일 업로드 완료: {blob.public_url}')

설명

storage.Client()로 연결하고, bucket과 blob을 통해 파일을 업로드합니다. 업로드 후 공개 URL을 바로 얻을 수 있습니다.


3. Pub/Sub_메시지_발행

개요

Pub/Sub은 비동기 메시징 서비스로, 애플리케이션 간 이벤트 기반 통신을 가능하게 합니다. 실시간 데이터 스트리밍에 최적화되어 있습니다.

코드 예제

from google.cloud import pubsub_v1

publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('project-id', 'topic-name')

message = '새로운 주문이 생성되었습니다'
future = publisher.publish(topic_path, message.encode('utf-8'))
print(f'메시지 발행 완료: {future.result()}')

설명

PublisherClient로 메시지를 발행하면, 구독자들이 비동기로 메시지를 받아 처리할 수 있습니다. 마이크로서비스 간 통신에 유용합니다.


4. Cloud_Functions_HTTP_트리거

개요

Cloud Functions는 이벤트 기반 서버리스 함수입니다. HTTP 요청, Pub/Sub 메시지 등 다양한 트리거로 실행됩니다.

코드 예제

import functions_framework

@functions_framework.http
def hello_http(request):
    name = request.args.get('name', 'World')
    return f'Hello {name} from Cloud Functions!'

설명

@functions_framework.http 데코레이터로 HTTP 트리거 함수를 만들 수 있습니다. 배포하면 자동으로 HTTPS 엔드포인트가 생성됩니다.


5. Firestore_데이터_저장

개요

Firestore는 NoSQL 문서 데이터베이스로, 실시간 동기화와 오프라인 지원을 제공합니다. 자동 스케일링과 강력한 쿼리 기능이 특징입니다.

코드 예제

from google.cloud import firestore

db = firestore.Client()
doc_ref = db.collection('users').document('user123')

doc_ref.set({
    'name': '홍길동',
    'age': 25,
    'created_at': firestore.SERVER_TIMESTAMP
})

설명

collection과 document로 계층 구조를 만들고, set()으로 데이터를 저장합니다. SERVER_TIMESTAMP는 서버 시간을 자동으로 기록합니다.


6. Secret_Manager_비밀_관리

개요

Secret Manager는 API 키, 비밀번호 등 민감한 정보를 안전하게 저장하고 관리합니다. 버전 관리와 접근 제어를 제공합니다.

코드 예제

from google.cloud import secretmanager

client = secretmanager.SecretManagerServiceClient()
name = 'projects/project-id/secrets/api-key/versions/latest'

response = client.access_secret_version(request={'name': name})
secret_value = response.payload.data.decode('UTF-8')
print(f'비밀 값 조회 완료')

설명

Secret Manager에서 비밀 값을 안전하게 가져올 수 있습니다. 코드에 하드코딩하지 않고 중앙에서 관리할 수 있습니다.


7. Cloud_Scheduler_작업_예약

개요

Cloud Scheduler는 cron 형식으로 작업을 예약 실행할 수 있는 서비스입니다. Cloud Functions, Cloud Run, HTTP 엔드포인트를 자동으로 트리거할 수 있습니다.

코드 예제

from google.cloud import scheduler_v1

client = scheduler_v1.CloudSchedulerClient()
parent = f'projects/project-id/locations/asia-northeast3'

job = {
    'name': f'{parent}/jobs/daily-backup',
    'schedule': '0 2 * * *',
    'http_target': {'uri': 'https://my-api.com/backup'}
}

설명

cron 표현식으로 스케줄을 설정하고, HTTP 엔드포인트를 호출합니다. 매일 새벽 2시에 자동으로 백업 작업을 실행합니다.


8. Vertex_AI_텍스트_생성

개요

Vertex AI는 Google의 통합 AI/ML 플랫폼입니다. 사전 학습된 모델을 API로 쉽게 사용할 수 있습니다.

코드 예제

from vertexai.preview.language_models import TextGenerationModel

model = TextGenerationModel.from_pretrained('text-bison')
response = model.predict(
    '파이썬으로 리스트를 정렬하는 방법은?',
    max_output_tokens=256
)
print(response.text)

설명

Vertex AI의 text-bison 모델로 자연어 질문에 대한 답변을 생성합니다. 챗봇, 콘텐츠 생성 등에 활용할 수 있습니다. --- GCP의 주요 최신 기능 8가지를 실제 동작하는 코드 예제와 함께 정리했습니다. 각 서비스는 서버리스 아키텍처와 자동 스케일링을 지원하여 초급 개발자도 쉽게 시작할 수 있습니다.


마치며

이번 글에서는 GCP Cloud 최신 기능 완벽 가이드에 대해 알아보았습니다. 총 8가지 개념을 다루었으며, 각각의 사용법과 예제를 살펴보았습니다.

관련 태그

#GCP #CloudRun #CloudFunctions #CloudStorage #PubSub

#GCP#CloudRun#CloudFunctions#CloudStorage#PubSub#Python