본문 바로가기
카테고리 없음

그림으로 이해하는 AWS 구조와 기술을 읽고

by 코헤0121 2025. 11. 18.
728x90
반응형

 

들어가며

드디어 AWS 기초 책을 처음부터 끝까지 다 읽었다. 사실 클라우드 쓰면서도 제대로 개념 정리를 한 적이 없어서... 이번에 아예 처음부터 쭉 정리해봤는데, 몰랐던 게 이렇게 많았나 싶더라.

1장: 아마존 웹 서비스 기초 지식

AWS가 뭐길래?

AWS = 아마존이 제공하는 클라우드 서비스. 서버, 네트워크 등을 인터넷으로 빌려주는 서비스인데, 예전엔 여러 업체한테 각각 빌려야 했던 걸 AWS 하나로 다 해결 가능하다는 게 핵심.

OS, 웹 서버, DB 서버까지 통째로 사용 가능하고, 필요한 만큼만 쓸 수 있다는 게 진짜 매력적. 게다가 네트워크나 서버 전문가 아니어도 브라우저로 뚝딱뚝딱 만들 수 있다. 또한 컴플라이언스(compliance)에 대한 인증 및 검증이 되어 있다.법령, 규정 프라이버시 기준을 준수를 하며 개발자가 개발에만 집중 할 수 있도록 한다.

165개 이상의 서비스들

책에서 소개한 주요 서비스들:

  • Amazon EC2: 서버+OS+소프트웨어 세트
  • Amazon S3: 파일 보관 스토리지
  • Amazon VPC: 가상 네트워크
  • Amazon RDS: 데이터베이스
  • Amazon Route 53: DNS 서버
  • Elastic IP: 고정 IP 주소
  • Amazon Managed Blockchain: 블록체인 네트워크 (이런 것도 있었어?)
  • Amazon SageMaker: 머신러닝 모델 (주피터 노트북을 클라우드로!)
  • AWS Cloud9: 브라우저 IDE (로컬 개발환경 세팅 안녕~)
  • Amazon GameLift: 게임용 실시간 통신 서비스

비용 구조의 진실

"초기 비용은 저렴하지만 운영 비용이 조금 비싸다"라고 책에서 콕 집어서 말하더라. 종량제라서 쓴 만큼만 내는 건 좋은데, 계속 돌리면 비용이... 💸

지금 필요없는 자원을 미리 확보할 필요 없고, 최소한으로 시작해서 필요할 때 늘리는 게 핵심!

 

2장: AWS를 이해하기 위한 클라우드 & 네트워크의 구조

클라우드 vs 온프레미스

  • 클라우드: 언제 어디서든 인터넷으로 접속 가능한 환경
  • 온프레미스: 우리 회사가 직접 서버 구축하는 것
  • 가상화 기술: 하드웨어를 소프트웨어로 대체하는 것

가상화와 분산처리 - 클라우드의 핵심 기술

가상화는 물리 서버 1대 위에 여러 가상 서버를 만드는 것. 소프트웨어처럼 구축하니까 복제도 쉽고 늘리고 줄이기도 간단!

분산처리는 여러 대에 나눠서 처리하는 방법. 트래픽 몰릴 때 로드 밸런서(LB)가 부하를 분산해준다. AWS에서는 ELB(Elastic Load Balancing) 제공.

=> 가상화나 분산처리방식은 이중화에 큰 도움이 된다.

SaaS vs PaaS vs IaaS

이거 항상 헷갈렸는데 이제 확실히 정리됨 서비스를 어느 수준까지 젲공하는가를 분류해 놓은 것

구분  제공 범위 예시  특징
SaaS 인프라나 플랫폼(OS) 뿐만아니라 애플리케이션까지 전부 Gmail, 블로그 바로 사용, 자유도 낮음
PaaS 플랫폼까지만 제공 OS가 설치된 서버에 사용자가 애플리케이션 등을 설치해서 사용한다 (임대서버) 임대 서버 앱만 설치하면 됨
IaaS 인프라만 제공, 네트워크나 서버 머신등을 제공 AWS EC2 OS부터 직접 설치

 

서버 vs 인스턴스

  • 서버: 서비스를 제공하는 기능 (소프트웨어가 제공)
  • 인스턴스: 실제로 가동되고 있는 가상 서버의 실체

"웹서버의 인스턴스를 생성한다" ✅
"웹 인스턴스를 생성한다" ❌

LAN 구성 기술들

  • 라우터: 네트워크 연결
  • 허브: 기기 연결
  • 방화벽(FW): 보안
  • DMZ: 외부와 내부 네트워크 중간 지대, 어느 쪽에서든 접속이 가능한 서버 설치
  • DHCP: 접속되어 있는 단말기에 IP 주소 자동 분배 (동대문역사문화공원 아님 ㅋㅋ)
  • 서브넷: 큰 네트워크를 작게 분할

IP 주소와 DNS

  • IP 주소 = 네트워크부 + 호스트부
  • FQDN = 호스트명 + 도메인명 (예: www.gilbut.co.kr)
  • https://는 프로토콜(통신 규약)을 의미

3장: AWS를 사용하기 위한 도구

관리 콘솔과 대시보드

AWS 관리의 핵심! 서비스별로 고유 대시보드가 있고, 리전 선택도 여기서.

중요: 리전(지역)에 따라 제공하는 서비스가 다르다!

모바일 앱도 있어서 외출 중에도 리소스 상태 확인 가능하다는 것도 처음 알았네.

IAM - 접근 권한의 모든 것

Identity and Access Management 

  • IAM 사용자: 사람에게 부여
  • IAM 역할: 서비스/프로그램에 부여
  • IAM 정책: 누가 뭘 할 수 있는지 규칙 설정
    • 자격 기반 정책: "이 사람이 뭘 할 수 있나?"
    • 리소스 기반 정책: "이 리소스를 누가 쓸 수 있나?"

기본 원칙: 최소한의 권한만 부여하고 필요한 사람에게만! MFA(다중 인증) 꼭 쓰라고 강조하더라.

CloudWatch - 감시자

리소스 모니터링과 관리 담당. 로그 수집하고, 임계값 넘으면 알림 주고, 자동으로 대응 행동도 설정 가능!

Billing and Cost Management

요금 관리 서비스. 사용료 모니터링, 비용 현황 보고 등등... 이거 없으면 요금 폭탄 맞기 딱 좋겠더라.

리전과 가용영역(AZ)

  • 리전: 데이터센터가 있는 지역
  • 가용영역(AZ): 각 리전 내의 독립된 데이터센터들

데이터 센터의 설비가 여러 장소에 분산되어 있는 식, 가용영역은 각각 클라우드의 독립된 파티션이며 병용함으로써 서비스의 중단을 방지한다.
AZ에 의한 구성은 이중화로 되어 있다.

4장: 서버 서비스 Amazon EC2

가상 서버의 정석이라고 소개된다.

EC2란?

컴퓨팅 용량을 제공하는 서비스. 서버에 필요한 세트를 통째로 빌릴 수 있다. 다양한 서버 시스템의 조합(인스턴스 유형)과 OS 및 소프트웨어의 조합이 준비되어 있기 때문에 이를 선택하기만 하면 된다.

주의: 매니지드 서비스가 아니라서 OS 포함 소프트웨어는 직접 관리해야 함!

EC2 사용 절차

  1. AWS 로그인 → 리전 선택
  2. EC2 인스턴스 생성
    • AMI 선택
    • 인스턴스 유형 선택
    • 네트워크/IP 할당
    • 스토리지 추가
    • 보안 그룹 설정
    • 키페어 선택
  3. SSH로 접속
  4. 소프트웨어 설치/설정

요금 구조 (이거 중요!)

총 요금 = 인스턴스 사용량 + EBS 요금 + 통신 요금 + 옵션

특히 EBS 요금이 함정인데:

  • "저장 용량"이 아니라 "보유 용량" 기준
  • 100GB 만들고 10GB만 써도 100GB 요금
  • 인스턴스 정지해도 EBS 요금은 계속 나감 😱

AMI - OS와 소프트웨어가 포함된 템플릿

AMI는 인스턴스 생성용 금형 같은 것. 한 번 만들어두면 같은 설정의 서버를 얼마든지 찍어낼 수 있다!

개인이 만들어서 마켓플레이스에서 배포도 가능하다는 게 신기했음.

인스턴스 유형 - 용도별 머신

5가지 용도로 구분:

  1. 범용
  2. 컴퓨팅 최적화
  3. 메모리 최적화
  4. 스토리지 최적화
  5. 고속 컴퓨팅

EBS - 스토리지 볼륨

HDD나 SSD 선택 가능한 영구적인 블록 스토리지.

SSH 접속과 키페어

키페어 = 공개키 + 비밀키로 로그인 인증에 사용. 비밀키 잃어버리면 접속 못하니까 잘 보관해야...

Elastic IP - 고정 IP

AWS가 제공하는 정적 공인 IPv4 주소.

주의: 사용 안 하는 IP에도 시간당 요금 부과! (1개는 무료)

ELB - 로드 밸런서

트래픽 분산 장치. 종류가 3개:

  • ALB: HTTP/HTTPS용, URL 단위로 분배 가능
  • NLB: TCP/TLS용, 정적 IP 설정 가능
  • CLB: 구형, 프로토콜 많이 지원

스냅샷

백업 기능. 첫 번째는 전체 백업, 두 번째부터는 차분만 저장해서 효율적!

오토 스케일링

액세스 상태에 따라 서버 대수 자동 조절. 오토 스케일링 자체는 무료라는 게 매력적!

📦 5장: 스토리지 서비스 Amazon S3

S3란?

객체 스토리지 서비스. 데이터를 객체 단위로 관리한다.

요금 = 저장 용량 + 전송량 (요청, 업로드, 다운로드 고려)

스토리지 클래스 종류

객체 단위로 선택 가능한 스토리지 종류들

클래스  특징  사용 케이스
Standard 3개 이상 AZ, 99.99% 가용성 자주 쓰는 데이터
Intelligent-Tiering 액세스 패턴에 따라 자동 이동 패턴이 불규칙한 데이터
Infrequent Access 저장 요금↓ 액세스 요금↑ 가끔 쓰는 큰 데이터
Glacier 아카이브용, 검색 시간 필요
볼트라고 하는 컨테이너에 저장됨
장기 백업, 장시간 백업
Glacier Deep Archive 최저가, 검색 12시간 규정 준수 아카이브

Glacier는 검색할 때 다른 S3 버킷으로 옮겨야 하고, 양쪽 다 요금 나간다는 거 주의!

객체와 버킷

  • 버킷: 드라이브 같은 것 (버킷 안에 버킷 못 만듦)
  • 객체: 파일 같은 것

중요: 버킷명은 전체 S3에서 유일해야 함!

버킷 명명 규칙:

  • 3~63자
  • 소문자, 숫자, 하이픈만
  • 첫글자와 마지막은 알파벳/숫자
  • IP 주소 형식 안 됨
  • 언더스코어(_) 안 됨

액세스 관리

  • 버킷 정책: 버킷 단위 제한
  • 사용자 정책: IAM 사용자 단위 제한
  • ACL: 액세스 제어 목록

웹사이트 호스팅

정적 웹사이트 호스팅 가능! 설정 필요사항:

  1. 정적 웹 호스팅 활성화
  2. 공용 액세스 차단 해제
  3. 버킷 정책을 모든 사용자로
  4. 버킷명을 도메인명으로
  5. Route 53으로 DNS 설정

버전 관리와 수명주기

  • 버전 관리: 객체를 여러 버전으로 저장
  • 수명주기: 객체가 정기적으로 수행할 작업 설정
  • 교차 리전 복제: 다른 리전 버킷에 비동기 복사

데이터 분석 기능

  • S3 Select: SQL로 CSV/JSON 조회
  • Amazon Athena: 서버리스 쿼리
  • Redshift Spectrum: 대용량 데이터 처리

Amazon CloudFront: 콘텐츠 배포 서비스가 있다.

🔗 6장: 가상 네트워크 서비스 Amazon VPC

VPC란?

Virtual Private Cloud, 전용 가상 네트워크. VPC 없으면 EC2도 못 만든다는 사실!

소프트웨어가 라우터 역할을 하고, 라우팅 테이블에 따라 동작한다.

기본 VPC

AWS가 제공하는 기본 VPC에는 서브넷과 인터넷 게이트웨이가 이미 구성되어 있음.

서브넷과 DHCP

  • 서브넷: 큰 네트워크를 작게 나눈 것
  • CIDR 표기법: 네트워크 범위 표현 (예: 10.0.0.0/16)
  • DHCP: 각 호스트에 IP 자동 할당

NAT와 라우팅

  • NAT: 공인 IP ↔ 사설 IP 변환
  • IP 마스커레이드(NAPT): 포트 번호까지 변환

게이트웨이

  • 인터넷 게이트웨이: VPC → 인터넷
  • NAT 게이트웨이: 프라이빗 서브넷 → 인터넷

보안 설정

두 가지 가상 방화벽:

구분 보안 그룹 네트워크 ACL

적용 단위 인스턴스 서브넷
상태 Stateful Stateless
규칙 허용만 허용/거부
평가 순서 모든 규칙 번호 순서

VPC 엔드포인트

VPC 외부 서비스와 직접 연결:

  • 인터페이스 엔드포인트: ENI로 구축
  • 게이트웨이 엔드포인트: 라우팅 테이블 설정

VPC 연결

  • VPC 피어링: VPC끼리 연결
  • VPN: 온프레미스와 연결

💾 7장: 데이터베이스 서비스 Amazon RDS

RDS란?

주요 RDBMS를 제공하는 매니지드 서비스.

사용 가능한 DB 엔진:

  • MySQL
  • PostgreSQL
  • MariaDB
  • Oracle
  • SQL Server
  • Amazon Aurora

KVS (Key-Value Store)

키-값 쌍으로 데이터 관리하는 NoSQL:

  • DynamoDB
  • ElastiCache

기타 DB 서비스

  • DocumentDB (MongoDB 호환)
  • Neptune (그래프 DB)
  • Timestream (시계열 DB)
  • QLDB (원장 DB)

🎯 8장: 알아 두면 좋은 AWS 서비스

Route 53

AWS의 DNS 서비스. 도메인 등록, DNS 라우팅, 헬스체크까지!

Lambda

서버리스 서비스! 이벤트 발생하면 자동으로 코드 실행. 서버 관리 필요 없음!

컨테이너 서비스

  • ECS: Elastic Container Service
  • EKS: Elastic Kubernetes Service
  • Fargate: 서버리스 컨테이너

애플리케이션 단위로 실행할 수 있는 가상 환경이라는 게 핵심.

🎬 마무리

이 책 한 권 다 읽고 나니까 AWS가 그냥 "서버 빌려주는 곳"이 아니라 진짜 거대한 생태계구나 싶더라.

특히 충격적이었던 건:

  • EBS 요금이 사용량이 아니라 보유량 기준
  • 버킷명이 전 세계에서 유일해야 함
  • VPC 없으면 EC2도 못 만듦
  • Elastic IP 안 쓰면서 갖고만 있어도 돈 나감

165개 서비스... 하나씩 정복해나가야지. 일단은 기초 다지고, 실무에서 필요한 것부터 차근차근! 💪

그리고 이제 "온프레미스가 뭐예요?" 물어보는 사람한테 자신있게 설명할 수 있을 것 같다 ㅋㅋㅋ

온프레미스는...노가다에요 (아님)

728x90
반응형