Google Cloud Platform
☁️ Google Cloud Platform(GCP)란?
정의
Google Cloud Platform(GCP)은 Google이 제공하는 클라우드 컴퓨팅 플랫폼이다. 서버, 저장소, 데이터베이스, 네트워크, 운영 도구를 필요할 때 빌려 쓰는 형태로 제공한다.
GCP는 단순히 서버를 빌리는 서비스가 아니라, 애플리케이션을 운영하기 위한 기반 인프라를 폭넓게 제공한다.
✅ 특징
- 필요한 자원만 선택적으로 사용할 수 있다.
- 자동 확장과 자동 복구 구성이 가능하다.
- 글로벌 인프라를 기반으로 서비스 확장이 쉽다.
- DevOps, 모니터링, 보안 기능과의 연계가 좋다.
- API 기반 운영이 가능해서 자동화에 유리하다.
🏢 클라우드 vs 온프레미스
| 항목 | 클라우드(GCP) | 온프레미스 |
|---|---|---|
| 초기 비용 | 상대적으로 낮음 | 높음 |
| 확장성 | 빠르고 유연함 | 장비 증설 필요 |
| 운영 부담 | 일부를 서비스가 대신 처리 | 직접 관리 필요 |
| 장애 대응 | 인프라 차원 지원이 많음 | 직접 구성해야 함 |
| 도입 속도 | 빠름 | 느릴 수 있음 |
포인트
GCP는 빠른 배포와 확장이 필요할 때 강점이 크다. 반면 고정된 내부망 통제나 특수한 규제 환경은 온프레미스가 더 적합할 수 있다.
🧱 핵심 서비스 구성
1️⃣ Compute
Compute EngineKubernetes EngineApp EngineCloud Run
역할
Compute는 실행 환경이다. 애플리케이션 서버나 컨테이너를 실제로 돌리는 영역이라고 보면 된다.
2️⃣ Storage
Cloud StoragePersistent DiskFilestore
역할
Storage는 파일과 데이터를 보관하는 영역이다. 정적 파일, 백업, 이미지, 로그 저장에 자주 사용한다.
3️⃣ Database
Cloud SQLFirestoreBigQuery
역할
Database 계층은 업무용 데이터 저장과 분석을 담당한다. 관계형 DB, NoSQL, 분석용 저장소를 각각 상황에 맞게 선택한다.
4️⃣ Networking
VPCLoad BalancerCloud CDN
[!important] 주의 GCP에서 네트워크는 단순 연결이 아니라 접근 제어와 분산 구조 설계의 핵심이다. VPC와 Subnet, 방화벽 규칙을 함께 봐야 한다.
5️⃣ DevOps & 운영
Cloud BuildArtifact RegistryCloud MonitoringCloud Logging
활용
배포 자동화, 이미지 관리, 로그 수집, 상태 감시는 실무에서 거의 필수다. GCP는 이 부분을 함께 묶어서 운영하기 좋다.
🏗️ GCP 아키텍처 예시
- 사용자 요청은
Load Balancer를 통해 분산된다. - 애플리케이션은
Compute Engine또는Cloud Run에서 동작한다. - 정적 리소스는
Cloud Storage에 저장한다. - 로그와 상태는
Cloud Logging,Cloud Monitoring으로 확인한다. - DB는
Cloud SQL또는Firestore로 분리해 관리한다.
🛠️ 실무 활용 패턴
Spring Boot API 서버
- 애플리케이션 서버는
Compute Engine이나Cloud Run에서 실행한다. - 정적 파일이나 업로드 파일은
Cloud Storage를 사용한다. - DB는
Cloud SQL로 분리한다. - 운영 로그는
Cloud Logging으로 수집한다.
이미지/파일 처리 시스템
- 업로드 파일은
Cloud Storage에 저장한다. - 필요한 경우
Cloud Functions나Cloud Run으로 후처리한다. - CDN을 붙여 전송 속도를 개선한다.
로그 및 모니터링
Cloud Logging으로 애플리케이션 로그를 수집한다.Cloud Monitoring으로 메트릭과 알림을 관리한다.- 장애 시 알림 정책을 함께 설정한다.
🚨 GCP 사용 시 고려사항
비용 관리
- 인스턴스 상시 실행 여부를 확인한다.
- 저장소와 네트워크 전송 비용을 함께 본다.
- 테스트 자원은 사용 후 정리한다.
네트워크 설계
- VPC와 Subnet 구조를 먼저 설계한다.
- 내부 서비스와 외부 노출 서비스를 분리한다.
- Load Balancer와 방화벽 규칙을 함께 점검한다.
보안
- IAM 권한을 최소 권한 원칙으로 설계한다.
- 공개 버킷이나 과도한 권한 부여를 피한다.
- 서비스 계정 키 관리에 주의한다.
👍 장점과 단점
장점
- 확장성이 좋다.
- 운영 자동화와 연계가 쉽다.
- 글로벌 서비스 운영에 유리하다.
- 필요한 기능을 서비스 단위로 조합할 수 있다.
단점
- 비용 구조를 이해하지 않으면 지출이 커질 수 있다.
- 서비스가 많아서 처음에는 구조가 복잡하게 느껴질 수 있다.
- 벤더 종속성에 대한 고려가 필요하다.
⚖️ 온프레미스 vs GCP 선택 기준
| 기준 | 온프레미스 | GCP |
|---|---|---|
| 보안/규제 | 강한 통제 필요 시 유리 | 정책 설계가 중요 |
| 초기 구축 | 시간이 오래 걸릴 수 있음 | 빠르게 시작 가능 |
| 확장성 | 장비 증설 필요 | 유연한 확장 가능 |
| 운영 인력 | 직접 관리 필요 | 일부 운영 부담 감소 |
🧾 정리
GCP는 단순 인프라 제공이 아니라 서비스 운영 플랫폼이다. 작은 서비스부터 대규모 분산 시스템까지 폭넓게 활용할 수 있지만, 비용과 네트워크 설계를 함께 봐야 한다.
댓글남기기