본문 바로가기
Cloud/AWS

[AWS] VPC와 네트워크 기초, 데이터베이스_250825

by 에르모사 쩐뉴 2025. 9. 25.

8월 25일 AWS 강의록 1부: VPC와 네트워크 기초

 

VPC는 하나의 리전안에 속해 있다. 여러 리전에 포함될 수 없다. 

프라이빗 라우팅테이블이 추가되어 있어야 한다.

 

 

 

 

 

 

1. VPC와 CIDR: 나만의 사설 네트워크 만들기 🏡

  • VPC (Virtual Private Cloud): AWS 클라우드 안에 만드는 나만의 사설 네트워크(Private Network). 외부 인터넷과 격리된 공간이다.
  • CIDR (Classless Inter-Domain Routing): VPC의 IP 주소 범위를 지정하는 방법. 10.0.0.0/16처럼 슬래시(/) 뒤에 숫자로 네트워크 크기를 정한다.
    • 국제 표준 사설 IP 대역: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 세 가지가 있으며, 이 IP들은 인터넷에서 통신할 수 없다.

2. 서브넷과 서브네팅: 네트워크 세분화하기 쪼개기 🔪

  • 서브넷(Subnet): VPC를 더 작게 나눈 네트워크 구역. 10.0.0.0/16 VPC를 10.0.1.0/24처럼 더 작은 단위로 쪼개는 행위를 서브네팅이라고 한다.
  • IP 주소 계산: CIDR 숫자가 커질수록(예: /16 → /24) IP 주소 범위는 줄어든다.
    • /24는 256개, /22는 1024개의 IP를 가진다.
    • IP 할당은 EC2뿐만 아니라 람다, 컨테이너 등 다양한 서비스에도 필요하므로 여유 있는 IP 범위 지정이 중요하다.

3. 서브넷의 종류와 라우팅 테이블 🗺️

  • 라우팅 테이블: 서브넷의 트래픽이 어디로 갈지 정해주는 교통 안내판.
  • 퍼블릭 서브넷(Public Subnet):
    • 정의: 라우팅 테이블에 인터넷 게이트웨이(IGW) 항목이 있는 서브넷.
    • 특징: 인터넷과 직접 통신할 수 있어, 웹 서버처럼 외부에 노출되어야 하는 리소스에 사용된다.
  • 프라이빗 서브넷(Private Subnet):
    • 정의: 라우팅 테이블에 IGW 항목이 없는 서브넷.
    • 특징: 인터넷과 직접 통신할 수 없어, 데이터베이스처럼 보안이 중요한 리소스에 사용된다.

4. 보안 그룹: 가상 방화벽 설정 🔥

  • 보안 그룹(Security Group): EC2 인스턴스에 대한 가상 방화벽. 특정 IP나 포트의 트래픽만 허용하거나 차단한다.
  • 기본 설정:
    • 새로운 보안 그룹을 만들면, 인바운드(Inbound) 트래픽은 기본적으로 모두 차단된다. (들어오는 것을 막음)
    • 아웃바운드(Outbound) 트래픽은 기본적으로 모두 허용된다. (나가는 것을 허용)

 

 

 

RDS는 읽기전용 복제본이 있다  Read Replica

복제본 15개까지 분산/복제할 수 있다.

 

 

 

 

QLDB: 퀀텀 레저 DB  = 블록체인 DB

 

 

ElastiCashe : In Memory, request/respond 빠르다

DynamoDB Accelerator DynamoDB 최신서비스

 

 

Redis (레디스)

  • 특징: Redis는 단순한 캐시 역할뿐만 아니라 다양한 자료 구조(문자열, 해시, 리스트 등)를 지원하는 강력한 NoSQL 데이터베이스입니다.

Memcached (멤캐시드)

  • 특징: Memcached는 간단하고 가벼운 캐싱에 최적화된 엔진입니다.

 

 

2부: AWS 데이터베이스

  • 데이터베이스 서비스 종류: AWS는 크게 관계형 데이터베이스와 비관계형 데이터베이스를 제공한다.
    • 관계형 DB: AWS RDS, Amazon Aurora
    • 비관계형 DB: Amazon DynamoDB
  • AWS에 DB를 두는 이유: 관리 자동화, 쉬운 확장, 높은 가용성.

2. DB 인스턴스 (DB Instance) 🖥️

  • 역할: RDS에서 데이터베이스를 실행하는 격리된 가상 환경.
  • 구성: 컴퓨팅 파워(CPU, 메모리)와 스토리지(EBS)로 이루어져 있다.
  • 관리: 사용자가 EC2처럼 직접 관리하지 않고, AWS가 OS 패치, 업데이트 등을 자동화해준다.

3. Amazon EBS (Elastic Block Store) 🧱

  • 역할: EC2 인스턴스에 연결하는 가상 하드 드라이브. DB 인스턴스도 EBS 볼륨을 데이터 저장 공간으로 사용한다.
  • 특징:
    • 블록 단위 저장: 데이터베이스처럼 입출력(I/O) 성능이 중요한 작업에 최적화되어 있다.
    • 자동 복제: 특정 가용 영역(AZ) 내에서 자동으로 복제되어 데이터 내구성을 높인다.

4. AWS RDS (관계형 데이터베이스 서비스) 📈

  • 역할: MySQL, PostgreSQL 등 관계형 DB를 손쉽게 운영하고 확장할 수 있게 해준다.
  • 핵심 기능:
    • Multi-AZ: 다른 가용 영역에 DB를 복제하여 장애 발생 시 자동 전환(Failover)하는 기능. 높은 가용성을 보장한다.
    • 읽기 전용 복제본(Read Replica): 읽기 요청을 분산시켜 성능을 향상시킨다.
    • 자동 백업: 스냅샷을 주기적으로 생성하여 데이터 복구를 돕는다.

5. Amazon Aurora (새롭게 추가된 내용) 🚀

  • 역할: MySQL 및 PostgreSQL과 호환되는 고성능 클라우드 네이티브 관계형 데이터베이스.
  • 특징:
    • 뛰어난 성능: 기존 MySQL 및 PostgreSQL보다 최대 5배 이상 빠른 성능을 제공한다.
    • 자동 확장: 스토리지 용량이 자동으로 확장된다.
    • 높은 가용성: 3개 이상의 가용 영역에 데이터 복제본을 6개까지 만들어 데이터 내구성 및 가용성을 극대화한다.

6. Amazon DynamoDB (비관계형 데이터베이스) 🌐

  • 역할: NoSQL 데이터베이스 서비스. 대규모의 분산 애플리케이션에 최적화되어 있다.
  • 핵심 특징:
    • 완전 관리형: 서버를 관리할 필요가 없다.
    • 고성능: 모든 규모에서 밀리초(ms) 단위의 응답 속도를 보장한다.
    • 자동 확장: 트래픽 증가에 따라 용량을 자동으로 조절한다.
    • 일관성 모델:
      • 결과적 일관성: 기본값. 복제된 데이터가 동기화될 때까지 지연이 있을 수 있다.
      • 강력한 일관성: 항상 최신 데이터를 읽도록 보장한다.
    • 글로벌 테이블: 여러 리전 간에 데이터를 자동 복제하여 전 세계 사용자에게 낮은 지연 시간을 제공한다.
    • 용량 및 크기 조정:
      • 온디맨드: 사용량에 따라 자동 조정.
      • 프로비저닝: 예상 트래픽에 맞춰 용량을 미리 설정.

7. 추가 데이터베이스 서비스 📊

  • Amazon Redshift:
    • 역할: 페타바이트(PB) 규모의 데이터 분석을 위한 데이터 웨어하우스.
    • 특징: 컬럼 기반 스토리지MPP(대규모 병렬 처리) 기술을 사용해 대량의 데이터 분석 쿼리를 빠르게 처리.
  • Amazon DocumentDB:
    • 역할: 문서 기반 데이터베이스.
    • 특징: MongoDB와 호환되어 기존 MongoDB 워크로드를 그대로 사용할 수 있다.
  • Amazon Neptune:
    • 역할: 그래프 데이터베이스 서비스.
    • 특징: 소셜 네트워크, 추천 엔진 등 복잡하게 연결된 데이터를 효율적으로 저장하고 질의.
  • Amazon QLDB (Quantum Ledger Database):
    • 역할: 원장 데이터베이스 서비스.
    • 특징: 모든 데이터 변경 이력을 암호화 방식으로 추적하여 변경 불가능한 로그를 생성. 금융 거래 기록 등에 적합.
  • Amazon Managed Blockchain:
    • 역할: 분산 원장 기술(DLT)을 기반으로 확장 가능한 블록체인 네트워크를 쉽게 관리.
  • Amazon ElastiCache:
    • 역할: 데이터베이스 앞에 위치하는 인메모리 캐싱 서비스.
    • 특징: Redis, Memcached 엔진을 지원하여 데이터베이스의 부하를 줄이고 읽기 속도를 향상.
  • Amazon DynamoDB Accelerator (DAX):
    • 역할: DynamoDB 전용 인메모리 캐시.
    • 특징: 읽기 성능을 마이크로초 단위로 개선하여 DynamoDB의 응답 시간을 극대화.

8. AWS DMS (Database Migration Service) ↔️

  • 역할: 데이터베이스를 AWS로 마이그레이션(이전)하는 서비스.
  • 특징:
    • 마이그레이션 유형:
      • 동종: 소스와 대상 DB 엔진이 같음.
      • 이종: 소스와 대상 DB 엔진이 다름.
    • 지속적 복제(CDC): 마이그레이션 중에도 원본 DB의 변경 사항을 실시간으로 반영하여 서비스 중단을 최소화한다.

9. 저장 데이터 암호화 (Encryption at Rest) 🔒

  • 개념: 스토리지에 저장된 데이터를 암호화하여 보호하는 보안 기술.
  • AWS KMS (Key Management Service): 암호화에 사용되는 키를 생성, 관리, 보호하는 서비스.
  • 작동: EBS, S3, RDS와 같은 서비스들은 KMS와 연동하여 데이터를 쉽게 암호화하고 보호할 수 있다. 키는 KMS에 안전하게 보관되어 유출 위험이 낮다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  •