GCP 실전 가이드
GCP의 핵심 개념과 실무 활용
학습 항목
이미지 로딩 중...
GCP Cloud 최신 기능 완벽 가이드
Google Cloud Platform의 최신 기능들을 실제 코드 예제와 함께 알아봅니다. 초급 개발자도 쉽게 따라할 수 있도록 구성했습니다.
들어가며
이 글에서는 GCP Cloud 최신 기능 완벽 가이드에 대해 상세히 알아보겠습니다. 총 8가지 주요 개념을 다루며, 각각의 개념에 대한 설명과 실제 코드 예제를 함께 제공합니다.
목차
- Cloud_Run_배포
- Cloud_Storage_파일_업로드
- Pub/Sub_메시지_발행
- Cloud_Functions_HTTP_트리거
- Firestore_데이터_저장
- Secret_Manager_비밀_관리
- Cloud_Scheduler_작업_예약
- 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