[TIL] Day 83 AWS & GCP 백엔드 서비스 정리

현서·2026년 3월 26일

[TIL] Flutter 9기

목록 보기
95/102

AWS & GCP 백엔드 서비스


클라우드 서비스란?

서버, 데이터베이스, 스토리지 등 백엔드 인프라를 클라우드로 제공하는 서비스.
직접 서버를 사지 않고 필요한 만큼 빌려서 쓸 수 있음.
대표적으로 Amazon의 AWS와 Google의 GCP가 있음.


AWS (Amazon Web Services)

EC2 — 서버

Elastic Compute Cloud

클라우드에서 돌아가는 가상 컴퓨터(서버).
FastAPI, Node.js 같은 백엔드 앱을 올려서 실행하는 공간.

  • 사양(CPU, 메모리)을 선택해서 인스턴스 생성
  • SSH로 접속해서 직접 명령어 실행 가능
  • 24시간 켜두는 게 기본 (비용은 켜진 시간만큼)
Flutter 앱 → EC2(FastAPI 서버) → 응답 반환

RDS — 데이터베이스

Relational Database Service

클라우드에서 돌아가는 관계형 데이터베이스.
MySQL, PostgreSQL 등을 직접 설치 없이 바로 사용 가능.

  • 백업, 패치, 복구를 AWS가 자동으로 관리
  • EC2 서버와 같은 VPC(네트워크)에 두는 게 일반적
  • 직접 DB 서버를 관리하지 않아도 돼서 운영 부담이 적음
EC2(서버) → RDS(DB) → 데이터 저장/조회

S3 — 스토리지

Simple Storage Service

파일 저장 공간. 이미지, 동영상, PDF 등 정적 파일을 보관하는 곳.

  • 용량 제한 없이 파일 저장 가능
  • URL을 통해 파일에 직접 접근 가능
  • 앱에서 이미지 업로드 → S3에 저장 → URL로 불러오는 패턴이 일반적
Flutter 앱 → 이미지 업로드 → S3 저장 → URL 반환 → 앱에서 표시

CloudFront — CDN

Content Delivery Network

전 세계 엣지 서버에 콘텐츠를 캐싱해서 사용자 가까운 곳에서 빠르게 전달.

  • S3에 올린 파일을 CloudFront로 배포하면 로딩 속도 향상
  • 반복 요청은 캐시에서 바로 응답 → 서버 부하 감소
  • HTTPS 적용, 접근 제어도 함께 설정 가능
사용자 → CloudFront(가까운 엣지) → 캐시 히트 시 바로 반환
                                  → 캐시 없으면 S3에서 가져와서 반환

GCP (Google Cloud Platform)

Compute Engine — 서버

AWS EC2에 대응하는 GCP의 가상 서버.
Google 인프라 위에서 돌아가는 VM 인스턴스.

  • EC2와 구조는 동일, SSH 접속 및 앱 배포 방식도 유사
  • Firebase와 같은 Google 생태계와 연동이 자연스러움
Flutter 앱 → Compute Engine(서버) → 응답 반환

Cloud SQL — 데이터베이스

AWS RDS에 대응하는 GCP의 관리형 관계형 DB.
MySQL, PostgreSQL, SQL Server 지원.

  • 자동 백업, 고가용성 설정 가능
  • Firebase와 함께 쓸 때 같은 GCP 프로젝트 내에서 관리 가능

Cloud Storage — 스토리지

AWS S3에 대응하는 GCP의 객체 스토리지.
Firebase Storage의 실제 백엔드이기도 함.

  • Firebase Storage를 쓰면 내부적으로 Cloud Storage에 저장되는 구조
  • 버킷 단위로 파일 관리, URL로 접근 가능

Cloud CDN — CDN

AWS CloudFront에 대응하는 GCP의 콘텐츠 전송 네트워크.

  • Cloud Storage와 연동해서 정적 파일 빠르게 배포
  • Google의 글로벌 네트워크 인프라 활용

AWS vs GCP 한눈에 비교

역할AWSGCP
서버EC2Compute Engine
데이터베이스RDSCloud SQL
스토리지S3Cloud Storage
CDNCloudFrontCloud CDN
서버리스 함수LambdaCloud Functions

전체 구조 한눈에 (AWS 기준)

Flutter 앱
  │
  ├─ API 요청 ──────→ EC2 (FastAPI 서버)
  │                        │
  │                        ├─ 데이터 저장/조회 → RDS (DB)
  │                        └─ 파일 URL 반환  → S3 (스토리지)
  │                                               │
  └─ 이미지/파일 로드 ←── CloudFront (CDN)       ←────┘

느낀 점

Firebase가 GCP 위에서 돌아간다는 걸 알고 나니까 Cloud Storage = Firebase Storage 구조가 이해됐음
AWS와 GCP는 서비스 이름만 다를 뿐 역할 구조는 거의 같음. 어느 쪽을 쓰든 개념을 알면 금방 적응할 수 있것지..?

0개의 댓글