← Back to list

[TIL — 21일차] 데이터 엔지니어링: AWS 클라우드

데이터 엔지니어링 데브코스 21일차 TIL | AWS, CI/CD, Serverless, VPC, IaaS / PaaS / SaaS, Route Table

Seonggil Jeong · 2025-10-20 10:28 · 0 claps · 7.4 min read
#programming #aws #serverless #route-table #til
Open on Medium ↗
Wiki topics: 💻 · Programming ☁️ · DevOps & Cloud

[TIL — 21일차] 데이터 엔지니어링: AWS 클라우드

클라우드 서비스 개요

클라우드(Cloud)는 인터넷을 통해 IT 리소스(서버, 스토리지, 데이터베이스, 네트워크 등) 를 제공하는 서비스 모델 직접 서버를 구축하지 않고, 필요한 만큼 빌려 쓰고 사용량에 따라 비용을 지불(pay-as-you-go) 하는 방식으로 운영

클라우드 서비스 모델

  • IaaS (Infrastructure as a Service): EC2, S3, EBS 서버, 스토리지, 네트워크 같은 인프라 제공
  • PaaS (Platform as a Service): Elastic Beanstalk, RDS 애플리케이션 실행 환경 제공
  • SaaS (Software as a Service): Gmail, Salesforce 완성된 소프트웨어 제공

클라우드 기본용어

리전(Region)

  • AWS 리소스가 물리적으로 배치된 지리적 위치 단위
  • 예: ap-northeast-2 (서울), us-east-1 (버지니아)

가용 영역(Availability Zone, AZ)

  • 하나의 리전 내에 있는 물리적으로 분리된 데이터센터
  • 고가용성을 위해 리전은 2개 이상의 AZ로 구성됨

Edge Location

  • 전 세계에 분포된 콘텐츠 캐싱 서버
  • CloudFront나 Route53 같은 서비스에서 사용됨

EC2 (Elastic Compute Cloud)

AWS의 대표적인 가상 서버 서비스 필요한 만큼 서버 인스턴스를 생성하고, 크기나 OS, CPU, 메모리를 자유롭게 설정할 수 있음

특징

  • Auto Scaling으로 인스턴스 수를 자동으로 조정 가능
  • 다양한 인스턴스 타입 제공 (t, m, c, r 등)
  • SSH로 접근하여 직접 관리 가능

예시

# EC2 인스턴스에 접속
ssh -i my-key.pem ec2-user@ec2-12-34-56-78.ap-northeast-2.compute.amazonaws.com
  • 기본적으로 ec2-user 제공

탄력적 IP (Elastic IP)

고정된 공인 IP 주소(Public IP) 를 EC2 인스턴스에 할당 인스턴스가 재시작되어도 동일한 IP 유지 단, 사용 중이 아니면 과금됨

Elastic Beanstalk

AWS에서 제공하는 PaaS(Platform as a Service) 애플리케이션을 쉽게 배포할 수 있는 관리형 서비스

특징

  • 코드 업로드만 하면 AWS가 EC2, Load Balancer, Auto Scaling을 자동 구성
  • Python, Node.js, Java, Go 등 다양한 언어 지원
  • 애플리케이션 버전 관리 기능 내장

RDS (Relational Database Service)

  • AWS의 대표적인 관리형 관계형 데이터베이스 서비스
  • MySQL, PostgreSQL, MariaDB, Oracle, SQL Server 등 지원
  • 백업, 패치, 장애 복구를 자동으로 처리

주요 기능

  • Multi-AZ 배포로 고가용성 보장
  • 자동 백업 및 스냅샷 기능
  • 읽기 부하 분산을 위한 Read Replica 지원

DocumentDB

  • MongoDB 호환형 문서 기반 NoSQL 데이터베이스
  • JSON 문서 형태로 데이터를 저장
  • 대규모 비정형 데이터 처리에 적합

DynamoDB

  • 완전 관리형 Key-Value / NoSQL 데이터베이스
  • 초당 수백만 요청까지 확장 가능 (Serverless 구조)
  • TTL, Stream, Global Table 등 지원

Route53

AWS의 DNS 관리 서비스 도메인 등록, 트래픽 라우팅, 상태 모니터링 기능 제공

주요 기능

  • 가중치 기반 라우팅 (Weighted)
  • 지연 시간 기반 라우팅 (Latency)
  • 장애 조치 라우팅 (Failover)

Certification Manager (ACM)

SSL/TLS 인증서를 손쉽게 발급 및 관리하는 서비스 CloudFront, ELB, API Gateway와 통합되어 HTTPS 적용 간편

CloudFront

콘텐츠 전송 네트워크(CDN) 서비스 전 세계 Edge Location을 통해 정적/동적 콘텐츠를 빠르게 배포 S3, EC2, ALB 등과 연동 가능

ELB (Elastic Load Balancer)

여러 EC2 인스턴스에 트래픽을 분산하는 로드 밸런싱 서비스

종류

  • ALB (Application Load Balancer): HTTP/HTTPS 레벨 로드 밸런싱
  • NLB (Network Load Balancer): TCP/UDP 레벨 로드 밸런싱
  • CLB (Classic Load Balancer): 이전 세대, 단순한 로드 밸런서

VPC (Virtual Private Cloud)

AWS 내에 사용자 정의 가상 네트워크 환경 제공 서브넷, 라우팅 테이블, 보안 그룹 등을 설정해 독립적인 네트워크 구성 가능

특징

  • 중복된 서브넷 범위를 할당할 수 없음

VPC 구성

VPC 구성

주요 구성 요소

  • 서브넷 (Subnet): VPC 내 IP 주소 범위
  • 라우팅 테이블: 트래픽 흐름 제어
  • 인터넷 게이트웨이 (IGW): 외부 인터넷 연결
  • 보안 그룹 / NACL: 인스턴스 수준 / 서브넷 수준의 보안 규칙
  • NAT Gateway: PrivateSubnet VPC 외부의 서비스에 연결 하기 위해 사용

Private Subnet은 외부에서 접근 불가능 Bastion Host (Jump Server) 사용해서 접근 가능

라우팅 테이블 구성

라우팅 테이블(route table)은 서브넷 혹은 게이트웨이를 통해서 네트워크 트래픽이 어디로 향하는지에 대해 결정할 때 사용되는 routes라는 몇가지 룰을 포함합니다.

VPC 구성을 10.0.0.0/16 및 Subnet을 10.0.1.0 / 24, 10.0.2.0 / 24 로 구성했다면 라우팅 테이블은 10.0.0.0 / 16 -> local, 0.0.0.0/0 -> IGW 형식으로 구성되어 있음

Destination        Target
10.0.0.0/16        local
0.0.0.0/0          igw-0c4680e56992b73e4
  • Q: 어떻게 0.0.0.0/0 → igw로 설정했는데 local 요청을 처리하는가? 라우팅 테이블은 범위가 작은 값을 우선 처리함, 즉 local에 매핑되는 요청이 아니라면 igw(외부)로 호출하게 된다

10.0.0.0 ~ 10.0.255.255 의 모든 요청은 local 그 외의 요청은 igw로 보냄

IAM (Identity and Access Management)

AWS 리소스에 대한 접근 제어 서비스 사용자, 그룹, 역할(Role)을 관리하여 최소 권한 원칙(Least Privilege)을 적용

핵심 개념

  • User: 실제 사용자 계정
  • Group: 여러 사용자를 묶은 그룹
  • Role: 서비스나 EC2 인스턴스에 부여되는 권한 세트
  • Policy: JSON 형태로 정의된 접근 권한 문서

S3 (Simple Storage Service)

객체(Object) 단위로 데이터를 저장하는 스토리지 서비스 정적 웹 호스팅, 데이터 레이크, 백업 용도로 자주 사용됨

특징

  • 99.999999999% 내구성 (11 9’s)
  • 버전 관리(Versioning)
  • 수명 주기 관리(Lifecycle Management)
  • 이벤트 기반 Lambda 트리거 가능 파일 생성 시 Lambda 함수 실행

CI/CD (지속적 통합/지속적 배포)

AWS는 완전한 파이프라인 구성을 지원하는 Code 시리즈 서비스를 제공

CodeCommit

Git 기반의 소스 코드 저장소 GitHub과 유사하지만 AWS 내부에서 보안 및 접근 제어 통합

CodeBuild

빌드 및 테스트 자동화 서비스 Docker 기반 빌드 환경 제공

CodeDeploy

EC2, ECS, Lambda에 코드 자동 배포

CodePipeline

CodeCommit → CodeBuild → CodeDeploy를 연결한 CI/CD 자동화 파이프라인

Lambda

서버 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스 요청 단위로 과금되고, EC2처럼 인스턴스를 관리할 필요가 없음

def handler(event, context):
  print("Hello from Lambda!")
  return {"statusCode": 200, "body": "Success"}

API Gateway

API를 생성, 배포, 관리할 수 있는 완전관리형 API 서비스 Lambda, EC2, DynamoDB 등과 연동 가능 인증(OAuth, JWT), 요청 제한, 캐싱 기능 지원

CloudWatch

AWS 리소스 및 애플리케이션의 모니터링 서비스 로그, 메트릭, 알람, 대시보드 구성 가능 Lambda, EC2, RDS 등과 통합되어 성능 모니터링 자동화 가능

Docker & 컨테이너 서비스

ECS (Elastic Container Service)

  • AWS의 컨테이너 오케스트레이션 서비스
  • Docker 컨테이너를 배포, 관리, 확장 가능
  • EC2 모드 / Fargate(Serverless) 모드 지원

ECR (Elastic Container Registry)

  • Docker 이미지를 저장하고 배포하는 레지스트리 서비스
  • IAM 기반 접근 제어 지원

메타데이터
post_id
fcdf9ce102f3
slug
til-21일차-데이터-엔지니어링-aws-클라우드-fcdf9ce102f3
url
https://medium.com/@seonggil/til-21%EC%9D%BC%EC%B0%A8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81-aws-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-fcdf9ce102f3
canonical_url
https://medium.com/@seonggil/til-21%EC%9D%BC%EC%B0%A8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81-aws-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-fcdf9ce102f3
author_url
https://medium.com/@seonggil
status
ok
fetched_at
2026-07-10 21:39:18