☁️ Amazon EC2

EC2 = Elastic Compute Cloud AWS에서 가장 핵심적이고, 가장 많이 사용되는 서비스 중 하나

  • Infrastructure as a Service (IaaS)

  • EC2를 이해하는 것은

    👉 클라우드가 어떻게 동작하는지 이해하는 핵심

EC2가 제공하는 주요 기능

  • 가상 머신 대여 (EC2 Instance)
  • 가상 디스크에 데이터 저장 (EBS)
  • 트래픽 분산 (ELB)
  • 자동 확장 (Auto Scaling Group, ASG)

⚙️ EC2 Sizing & Configuration Options

EC2 인스턴스를 생성할 때 결정해야 하는 요소들:

  • 운영체제(OS)
    • Linux
    • Windows
    • Mac OS
  • 컴퓨팅 성능
    • CPU 코어 수
  • 메모리
    • RAM 크기
  • 스토리지
    • Network Attached
      • EBS
      • EFS
    • Hardware
      • EC2 Instance Store
  • 네트워크
    • 네트워크 카드 성능
    • Public IP 여부
  • 보안
    • Security Group (방화벽)
  • 부트스트랩
    • EC2 User Data (첫 실행 시 스크립트)

🚀 EC2 User Data

EC2 인스턴스 최초 실행 시 자동으로 실행되는 스크립트

핵심 특징

  • 인스턴스 첫 시작 시 1회만 실행
  • root 권한으로 실행됨
  • 초기 환경 자동 구성 목적

사용 예시

  • OS 업데이트
  • 소프트웨어 설치
  • 인터넷에서 공통 파일 다운로드
  • 초기 설정 자동화

🧪 Hands-On: Linux EC2 인스턴스 실행

실습 목표:

  • AWS Console을 사용해 첫 EC2 인스턴스 생성
  • 주요 설정 항목 살펴보기
  • EC2 User Data로 웹 서버 실행
  • 인스턴스 상태 관리
    • Start
    • Stop
    • Terminate

🧩 EC2 Instance Types – 개요

다양한 워크로드에 맞춰 최적화된 인스턴스 타입 제공

네이밍 규칙

예시: m5.2xlarge

  • m → Instance Class
  • 5 → Generation
  • 2xlarge → Size

⚖️ General Purpose Instances

다양한 워크로드에 균형 잡힌 성능

특징

  • Compute / Memory / Networking 균형
  • 웹 서버
  • 코드 저장소

실습에서 사용

  • t2.micro
    • General Purpose
    • Free Tier 대상

🧮 Compute Optimized Instances

CPU 집약적 작업에 최적화

사용 사례

  • 배치 처리
  • 미디어 트랜스코딩
  • 고성능 웹 서버
  • HPC (High Performance Computing)
  • 과학 모델링
  • 머신러닝
  • 전용 게임 서버

🧠 Memory Optimized Instances

대규모 메모리 처리에 최적화

사용 사례

  • 고성능 관계형 / NoSQL DB
  • 분산 캐시
  • BI 최적화 인메모리 DB
  • 실시간 대용량 데이터 처리

💾 Storage Optimized Instances

로컬 스토리지 고속 I/O에 최적화

사용 사례

  • OLTP 시스템
  • 관계형 / NoSQL DB
  • Redis 캐시
  • 데이터 웨어하우징
  • 분산 파일 시스템

📊 EC2 Instance Types 예시 비교

InstancevCPUMemoryStorageNetworkEBS Bandwidth
t2.micro11 GiBEBS onlyLow~Mod-
t2.xlarge416 GiBEBS onlyModerate-
c5d.4xlarge1632 GiBNVMe SSDUp to 10 Gbps4,750
r5.16xlarge64512 GiBEBS only20 Gbps13,600
m5.8xlarge32128 GiBEBS only10 Gbps6,800
  • t2.micro
    • AWS Free Tier
    • 월 750시간까지 무료

🔐 Security Groups 개요

AWS 네트워크 보안의 핵심

  • EC2 인스턴스의 방화벽 역할
  • 트래픽 제어:
    • Inbound
    • Outbound
  • 규칙만 포함
  • IP 또는 다른 Security Group 참조 가능

🔥 Security Groups – Deep Dive

Security Group이 제어하는 것:

  • 포트 접근
  • 허용된 IP 범위 (IPv4 / IPv6)
  • Inbound 제어 (외부 → 인스턴스)
  • Outbound 제어 (인스턴스 → 외부)

🧱 Security Groups 동작 구조

[Your Computer]
      ↓ (Port22 허용)
[Security Group]
      ↓
[EC2 Instance]
  • 허용되지 않은 포트/IP → 인스턴스까지 도달하지 않음

📌 Security Groups – Important Notes

  • 여러 인스턴스에 연결 가능
  • Region + VPC에 종속
  • EC2 외부에서 트래픽 차단
  • SSH 전용 SG 분리 권장
  • Timeout → Security Group 문제
  • Connection Refused → 애플리케이션 문제
  • 기본값
    • Inbound: 모두 차단
    • Outbound: 모두 허용

🔁 Security Group 간 참조

IP 대신 Security Group 자체를 허용 대상으로 지정 가능

  • 동일 SG
  • 다른 SG
  • 다중 SG 조합 가능

🚪 반드시 알아야 할 포트

  • 22: SSH
  • 21: FTP
  • 22: SFTP
  • 80: HTTP
  • 443: HTTPS
  • 3389: RDP (Windows)

🔑 SSH 개요

EC2 원격 제어의 핵심 기능

환경별 접근

  • Mac / Linux
  • Windows < 10
  • Windows ≥ 10
  • EC2 Instance Connect

🛠️ SSH 문제 해결 가이드

  1. 강의 다시 보기
  2. Troubleshooting 문서 확인
  3. EC2 Instance Connect 시도

하나라도 성공하면 OK

SSH 실패해도 수업 진행에는 큰 문제 없음


🌐 EC2 Instance Connect

  • 브라우저에서 바로 접속
  • Key 파일 불필요
  • AWS가 임시 키 업로드
  • Amazon Linux 2 전용
  • Port 22 반드시 열려 있어야 함

💰 EC2 구매 옵션 개요

  • On-Demand
  • Reserved Instances
  • Convertible Reserved Instances
  • Savings Plans
  • Spot Instances
  • Dedicated Hosts
  • Dedicated Instances
  • Capacity Reservations

⏱️ On-Demand Instances

  • 사용한 만큼 지불
  • Linux / Windows: 초 단위
  • 기타 OS: 시간 단위
  • 선결제 없음
  • 단기 / 예측 불가 워크로드에 적합

🧾 Reserved Instances

  • 최대 72% 할인
  • 1년 / 3년
  • 옵션:
    • No Upfront
    • Partial Upfront
    • All Upfront
  • Regional / Zonal Scope
  • Marketplace 거래 가능

Convertible RI

  • 인스턴스 타입 / 패밀리 / OS 변경 가능
  • 최대 66% 할인

📉 Savings Plans

  • 장기 사용량 약정
  • 시간당 금액 약정
  • 초과 사용은 On-Demand
  • Instance Size / OS / Tenancy 유연

⚡ Spot Instances

  • 최대 90% 할인
  • 언제든지 회수 가능
  • 장애 허용 워크로드에 적합
  • 배치 처리, 데이터 분석 등
  • DB / 크리티컬 서비스에는 부적합

🏢 Dedicated Hosts

  • 물리 서버 전체 단독 사용
  • 라이선스 이슈 해결
  • 가장 비싼 옵션
  • 규제 / 컴플라이언스 대응

🧱 Dedicated Instances

  • 하드웨어 전용
  • 같은 계정 인스턴스와 공유 가능
  • 인스턴스 위치 제어 불가

📌 Capacity Reservations

  • 특정 AZ 용량 예약
  • 할인 없음
  • 사용 안 해도 비용 발생
  • 짧고 중단 불가한 워크로드에 적합

🏨 구매 옵션 비유 정리

  • On-Demand → 언제든 체크인
  • Reserved → 장기 예약 할인
  • Savings Plans → 시간당 요금제
  • Spot → 경매
  • Dedicated Host → 건물 통째로 예약
  • Capacity Reservation → 방만 예약

🌍 IPv4 요금 정책 (중요)

  • 2024-02-01 이후
  • Public IPv4: $0.005 / hour
  • 신규 계정:
    • EC2 Public IPv4 750시간/월 (12개월)
  • ELB / RDS:
    • Free Tier 없음

IPv6 참고


⚡ Spot Instance Requests

  • Max Price 설정
  • Spot Price 변동
  • 2분 Grace Period 후 중단/종료
  • Spot Block (1~6시간 보장)

❌ Spot Instance 종료 방법 (중요)

순서 중요

  1. Spot Request 취소
  2. Spot Instance 종료

Request 취소 ≠ 인스턴스 종료


🚀 Spot Fleets

Spot + (옵션) On-Demand 조합

특징

  • Target Capacity 충족 시까지 자동 요청
  • 다중 Launch Pool
  • 전략
    • lowestPrice
    • diversified
    • capacityOptimized
    • priceCapacityOptimized (권장)