클라우드 애플리케이션을 구축하는 것은 마치 디지털 도시를 건설하는 것과 같습니다. 이 도시를 떠받치는 가장 근본적인 기반 시설이 바로 컴퓨팅, 스토리지, 그리고 네트워킹입니다. 구글 클라우드(GCP)는 이 세 가지 영역에서 강력하고 유연한 핵심 인프라 서비스를 제공하여, 개발자들이 상상하는 거의 모든 종류의 서비스를 현실로 만들 수 있도록 지원합니다.
이번 아티클에서는 GCP의 핵심 인프라 서비스를 집중적으로 탐구합니다. 가상 컴퓨터(Compute Engine)부터 현대적인 컨테이너 기술(GKE, Cloud Run), 데이터의 성격에 맞는 다양한 스토리지 옵션, 그리고 이 모든 것을 안전하게 연결하는 가상 네트워크(VPC)까지, 클라우드 아키텍처의 심장부를 이해하는 데 필요한 모든 것을 다룹니다.
2.1. 가장 유연한 컴퓨팅 파워: Compute Engine
Compute Engine은 GCP에서 제공하는 가상 머신(Virtual Machine, VM) 서비스입니다. 이는 물리적인 컴퓨터 하드웨어를 구매하고 관리하는 대신, 구글의 거대한 데이터 센터 인프라 위에서 필요한 사양의 가상 컴퓨터를 몇 분 만에 생성하여 빌려 쓰는 것과 같습니다.
사용자는 CPU 코어 수, 메모리 양, 운영체제(Linux, Windows 등)를 자유롭게 선택하여 '인스턴스'라고 불리는 VM을 생성할 수 있습니다. 웹 서버를 운영하거나, 데이터 분석 작업을 수행하거나, 게임 서버를 호스팅하는 등 전통적인 서버에서 할 수 있는 거의 모든 작업을 Compute Engine에서 수행할 수 있습니다. 필요에 따라 사양을 높이거나 낮추고, 사용하지 않을 때는 잠시 꺼두어 비용을 절약하는 등 높은 유연성을 자랑합니다.
2.2. 현대적인 애플리케이션 배포: GKE와 Cloud Run
애플리케이션이 점점 더 복잡해지면서, 코드를 안정적으로 배포하고 확장하는 새로운 방식이 필요해졌습니다. '컨테이너'는 코드와 모든 종속성을 하나의 패키지로 묶어, 어떤 환경에서든 동일하게 실행되도록 하는 기술입니다. GCP는 이러한 컨테이너를 효과적으로 관리하기 위한 두 가지 대표적인 서비스를 제공합니다.
- Google Kubernetes Engine (GKE): 수백, 수천 개의 컨테이너를 대규모로 운영하고 관리하기 위한 컨테이너 오케스트레이션 서비스입니다. 마치 항구의 관제 시스템이 수많은 컨테이너 선박의 입출항과 배치를 지휘하듯, GKE는 컨테이너의 자동 배포, 스케일링, 복구 등을 관리하여 복잡한 마이크로서비스 아키텍처를 안정적으로 운영할 수 있게 해줍니다. 강력한 제어 기능이 필요할 때 선택합니다.
- Cloud Run: 컨테이너를 실행하는 가장 간단한 방법으로, 완전 관리형 서버리스 플랫폼입니다. 개발자는 컨테이너 이미지만 GCP에 전달하면, 구글이 알아서 인프라를 관리하고 트래픽에 따라 자동으로 확장 및 축소(요청이 없으면 0으로 축소)합니다. 서버 관리에 신경 쓰고 싶지 않고, 빠르고 간편하게 서비스를 배포하고 싶을 때 최적의 선택입니다.
2.3. 데이터의 집을 짓는 방법: GCP 스토리지 삼총사
데이터는 형태와 사용 목적에 따라 각기 다른 저장 공간을 필요로 합니다. GCP는 데이터의 특성에 맞춰 최적의 성능과 비용 효율성을 제공하는 세 가지 주요 스토리지 서비스를 제공합니다.
- Cloud Storage (객체 스토리지): 이미지, 동영상, 로그 파일, 백업 데이터 등 파일 단위의 비정형 데이터를 저장하기 위한 서비스입니다. 용량 확장에 제한이 없으며, 마치 무한한 용량의 온라인 창고와 같습니다. 웹사이트를 통해 전 세계 어디서든 데이터에 접근할 수 있어 콘텐츠 전송이나 데이터 레이크 구축에 널리 사용됩니다.
- Persistent Disk (블록 스토리지): Compute Engine VM에 장착하여 사용하는 고성능 가상 하드 디스크입니다. 컴퓨터의 C 드라이브나 D 드라이브처럼, 운영체제를 설치하거나 데이터베이스 파일을 저장하는 등 빠른 읽기/쓰기 속도가 필요한 작업에 사용됩니다.
- Filestore (파일 스토리지): 여러 VM이 동시에 접근하여 파일을 공유할 수 있는 완전 관리형 네트워크 파일 시스템(NFS)입니다. 마치 사무실의 공용 네트워크 드라이브처럼, 여러 사용자가 함께 작업하는 콘텐츠 관리 시스템이나 렌더링 팜 환경에 적합합니다.
2.4. 클라우드의 안전한 도로망: VPC와 방화벽
클라우드에 수많은 리소스를 만들었다면, 이제 이들을 안전하고 효율적으로 연결할 방법이 필요합니다. **Virtual Private Cloud (VPC)**는 사용자의 GCP 리소스를 위한 논리적으로 격리된 가상 네트워크입니다.
VPC는 구글의 거대한 글로벌 네트워크 안에 나만의 전용 공간을 만드는 것과 같습니다. 이 공간 안에서 IP 주소 범위를 정의하고, 서브넷을 만들어 리전을 기준으로 리소스를 정리하며, 리소스 간의 통신 규칙을 설정할 수 있습니다. 방화벽 규칙은 이 VPC 네트워크의 보안을 책임지는 경비원 역할을 합니다. 특정 IP 주소나 포트로 들어오고 나가는 네트워크 트래픽을 허용하거나 차단하여, 허가되지 않은 접근으로부터 내부 리소스를 안전하게 보호하는 핵심적인 보안 장치입니다.
관련 웹사이트 (URL)
- Compute Engine 문서: https://cloud.google.com/compute/docs?hl=ko
- Google Kubernetes Engine (GKE) 개요: https://cloud.google.com/kubernetes-engine/docs/concepts/kubernetes-engine-overview
- Cloud Run 개요: https://cloud.google.com/run/docs/overview/what-is-cloud-run?hl=ko
- GCP 스토리지 제품군 비교: https://cloud.google.com/products/storage?hl=ko
- VPC(Virtual Private Cloud) 개요: https://cloud.google.com/vpc/docs/overview?hl=ko
주요 용어 정리
- 가상 머신 (VM): 물리적 컴퓨터 위에 소프트웨어로 구현된 '가상의 컴퓨터'. 클라우드에서는 이를 '인스턴스'라고 부릅니다.
- 컨테이너 (Container): 애플리케이션과 그 실행에 필요한 모든 파일(라이브러리, 종속성 등)을 하나로 묶은 격리된 실행 단위. 환경에 구애받지 않고 애플리케이션을 동일하게 실행할 수 있습니다.
- 서버리스 (Serverless): 개발자가 서버나 인프라를 직접 관리할 필요 없이 코드를 실행할 수 있게 해주는 클라우드 컴퓨팅 모델. 인프라 관리는 클라우드 제공업체가 전적으로 책임집니다.
- 객체, 블록, 파일 스토리지: 데이터를 저장하는 세 가지 방식. 객체는 파일과 메타데이터를 하나의 '객체'로 묶어 저장(예: 사진, 동영상), 블록은 데이터를 고정된 크기의 '블록'으로 나눠 저장(예: 데이터베이스), 파일은 전통적인 폴더/파일 계층 구조로 저장(예: 공유 문서)합니다.
- VPC (Virtual Private Cloud): 퍼블릭 클라우드 내에 사용자가 직접 정의하고 제어할 수 있는 논리적으로 격리된 프라이빗 네트워크 공간입니다.
'IT 지식 및 정보 (구글 클라우드 등)' 카테고리의 다른 글
| [GCP 배우기 4] GCP 인프라 운영 현대화: 자동화, 마이그레이션, 보안 심층 분석 (0) | 2025.10.20 |
|---|---|
| [GCP 배우기 3] 빅데이터의 문을 여는 열쇠: BigQuery 시작하기 (0) | 2025.10.20 |
| [GCP 배우기 1] 구글 클라우드(GCP) 핵심 개념 (0) | 2025.10.20 |
| [Google Cloud 소개 9] Google Cloud IAM 완벽 가이드: '누가, 무엇을, 어느 리소스에' (0) | 2025.10.20 |
| [Google Cloud 소개 8] 책임을 넘어 운명까지 함께: 구글 클라우드의 '공유 책임'과 '공유 운명' 모델 (0) | 2025.10.20 |