포스트

AWS 해부 (1) 로컬 스택의 한계와 AWS 구조

로컬 Docker 스택이 부딪히는 세 가지 한계를 정리하고, region과 Availability Zone, 과금의 세 원칙, 이 시리즈에서 쓰는 서비스 지도와 다른 클라우드 대비 AWS의 위치를 정리합니다.

AWS 해부 (1) 로컬 스택의 한계와 AWS 구조

AWS 해부 시리즈의 1편입니다. 전체 목차는 0편에 있습니다.

로컬 스택이 부딪히는 한계

NYC 택시 프로젝트는 MinIO, PostgreSQL, MLflow, Airflow를 전부 로컬 Docker Compose로 돌렸습니다. 학습 목적으로는 충분하지만 세 지점에서 한계가 옵니다.

  • 가동 시간: 컴퓨터를 끄면 scheduler도 꺼집니다. 새벽 2시에 돌아야 하는 재학습 DAG는 계속 켜져 있는 머신이 필요합니다
  • 접근: 협업자가 tracking server UI를 볼 방법이 없습니다. 로컬 네트워크 밖에서는 본인도 접근하지 못합니다
  • 확장: 데이터가 디스크보다 커지거나 학습에 GPU가 필요해지면 하드웨어를 사는 것 외의 선택지가 없습니다

클라우드는 이 세 가지를 시간당 요금으로 바꿉니다. 서버, 저장소, 네트워크를 소유하는 대신 빌리고, 쓴 만큼 지불합니다.

region과 Availability Zone

AWS의 물리 구조는 두 단위로 읽습니다.

  • region: 데이터센터 묶음이 있는 지리적 위치입니다. 서울은 ap-northeast-2이고, 이 시리즈는 전부 서울 region을 씁니다
  • Availability Zone (AZ): region 안에서 물리적으로 분리된 데이터센터 그룹입니다. ap-northeast-2a처럼 region 코드 뒤에 문자가 붙습니다

대부분의 리소스는 region 소속입니다. 서울 region의 EC2 화면에는 버지니아 region의 instance가 보이지 않습니다. 콘솔에서 “분명히 만들었는데 없다”의 첫 번째 원인이 region 선택이므로, 콘솔 우상단의 region 표시를 확인하는 습관을 처음부터 들입니다.

과금의 세 원칙

AWS 요금은 서비스마다 다르지만 축은 세 개입니다.

과금 대상대표 서비스
시간리소스가 존재하는 시간EC2, NAT Gateway
용량저장한 데이터 크기S3, EBS
전송밖으로 나가는(outbound) 트래픽대부분의 서비스

들어오는(inbound) 트래픽은 대부분 무료이고, 나가는 트래픽에 과금됩니다. 그리고 시간 과금은 “사용 중”이 아니라 “존재 중” 기준인 경우가 많습니다. 아무 요청이 없는 EC2 instance도 켜져 있으면 과금됩니다. 비용이 새는 자리는 6편에서 따로 다룹니다.

이 시리즈에서 쓰는 서비스 지도

AWS 서비스는 200개가 넘지만, 이 시리즈가 쓰는 것은 여섯 개입니다.

서비스역할이 시리즈에서
IAM계정 안의 권한 관리 (user, role, policy)2편
S3오브젝트 스토리지3편
EC2가상 서버4편
ECR프라이빗 컨테이너 이미지 저장소5편
Budgets예산 초과 알람6편
CloudWatch지표와 알람6편

SageMaker, Lambda, EKS는 다루지 않습니다. 전부 위 여섯 개 위에 얹히는 관리형 서비스이고, 밑의 원시 서비스를 먼저 이해하면 필요할 때 올라가기 쉽습니다.

다른 클라우드 대비 위치

  • GCP: 대응 관계가 거의 일대일입니다 (S3와 Cloud Storage, EC2와 Compute Engine). BigQuery 중심의 데이터 분석 스택이 강점입니다
  • Azure: 기업 시장, 특히 Microsoft 제품군과의 통합이 강점입니다
  • AWS: 시장 점유율이 가장 크고, 그만큼 채용 공고와 문서, 문제 해결 자료가 많습니다. 학습 대상 하나를 고른다면 AWS가 무난한 선택입니다

이 시리즈는 AWS 기준으로 진행하지만, region과 AZ, 오브젝트 스토리지, 가상 서버, 권한 관리라는 골격은 세 클라우드가 같습니다.

다음 편에서 계정을 안전하게 잠그고 CLI를 설정합니다.

다음 글: AWS 해부 (2) 계정과 IAM: root user, access key, CLI

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.