[AWS] EC2

임유진·2025년 7월 29일

클라우드/인프라

목록 보기
16/25
post-thumbnail

EC2란?

  • Amazon Elastic Compute Cloud (EC2):

    안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스

  • 한마디로, 컴퓨팅 파워를 빌려 쓰는 서비스

  • 서버, DB, 머신러닝, 채굴, 연구 등 다양한 환경에 활용 가능

EC2의 사용 목적

  • 서버 호스팅용 : 웹서버, 게임서버, 어플리케이션 서버 등
  • 애플리케이션 배포용 : DB 설치, 머신러닝 실행, 채굴, 연구용 등
  • 그래픽 렌더링/게임 실행용 : 고성능 컴퓨터가 필요할 때 EC2로 대체 가능

EC2의 특성

  • 초단위 과금 (On-Demand 모델) : 사용한 만큼만 비용 청구
  • 빠른 구축 및 확장 가능 : 몇 분 안에 수백 개 인스턴스 생성 가능
  • 다양한 구성 가능 : 머신러닝, 게임, 웹 서버 등 목적에 맞게 조정
  • 다양한 요금제 : On-Demand, Reserved(약정), Spot Instance(입찰 방식)
  • AWS 서비스 연동 : 오토 스케일링, 로드 밸런서, CloudWatch 등과 쉽게 연동

실습

  • EC2 인스턴스를 하나 만들어 웹 서버를 구축함
  • 사용자가 직접 웹 브라우저에서 접속 가능한 서버 생성

실습을 위한 4가지 구성요소

  • EC2 인스턴스 : 클라우드에서 사용하는 가상 서버로, CPU, 메모리, GPU 등 연산을 위한 하드웨어를 담덩
  • EBS(Elastic Block Storage) : 클라우드에서 사용하는 가상의 하드디스크
  • AMI : EC2 인스턴스 실행을 위한 이미지(설정 템플릿)
  • 보안 그룹 : 가상 방화벽 역할, 포트 제어
실습 순서
  1. AWS 콘솔 접속 → EC2 대시보드 → 인스턴스 시작
  2. AMI 선택
    • Amazon Linux 2 선택
  3. 인스턴스 유형 선택
    • 기본 제공 t2.micro 사용
  4. 스토리지(EBS) 설정
    • 기본 8GB 유지
  5. 태그 설정
    • Key: Name, Value: MyWebServer
  6. 보안 그룹 생성
    • 이름은 자유
    • HTTP 포트(80) 오픈 (웹 접속용)
  7. 키 페어 생성 및 다운로드
    • SSH 접속용 .pem 파일
    • 예: mywebserver-key.pem
  8. 인스턴스 시작
  9. 웹 서버 설치 및 확인
    • 브라우저에서 "연결" → EC2 인스턴스 연결
    • sudo -s
      yum install httpd -y
      service httpd start
    • 웹브라우저에서 퍼블릭 IP 입력 → 테스트 페이지 확인
  10. HTML 페이지 생성
    • nano /var/www/html/index.html 생성:
    • 새로고침하면 index.html 페이지로 변경됨
  11. 실습 후 종료 필수!
    • EC2 인스턴스를 끄지 않으면 과금 발생
    • 종료 권장
      • 중지(Stop): EBS 요금은 발생
      • 종료(Terminate): 모든 과금 중단

AWS EC2 4가지 가격 정책

  • EC2는 컴퓨팅 파워를 빌려 쓰는 것
  • 효율적인 비용 관리를 위해 각 가격 정책의 특성과 적용 상황을 정확히 이해해야 함
구분설명사용 사례장점단점
1. 온디맨드 (On-Demand)- 사용한 시간/초 단위로 과금
- 약정 없이 자유롭게 사용
단기 사용, 테스트, 예측 어려운 프로젝트약정 無, 유연성 ↑비용 ↑
2. 예약 인스턴스 (Reserved Instance)- 1~3년 기간 약정 후 할인
- 온디맨드보다 최대 75% 저렴
장기 프로젝트, 사용량 예측 가능한 기업비용 ↓유연성 ↓
3. 스팟 인스턴스 (Spot Instance)- AWS의 남는 인스턴스를 경매로 구매
- 최대 90% 저렴
빅데이터, 머신러닝 등 분산 컴퓨팅매우 저렴언제 종료될지 모름
4. 전용 호스트 (Dedicated Host)- 실제 물리 서버 독점 사용
- 가상화 환경 아님
보안성, 법적 요구, 라이선스 조건 필요 시안정성, 보안 ↑비용 ↑↑

온디맨드 (On-Demand)

  • “쓴 만큼 내는” 기본 요금제
  • 초 단위 과금: 오픈소스 OS (ex. Amazon Linux 등)
  • 시간 단위 과금: 상용 OS (ex. RedHat 등)
  • 약정 없음
  • 주로 단기 테스트, 유연한 사용 목적에 적합
  • 초보자는 온디맨드부터 시작 권장

예약 인스턴스 (Reserved Instance)

  • 1년 또는 3년 약정
  • 온디맨드보다 최대 75% 절감
  • 정기적이고 예측 가능한 수요일 때 유리
  • 대기업, 고정 프로젝트에 최적
  • 중소기업이나 스타트업에는 다소 부담일 수 있음

스팟 인스턴스 (Spot Instance)

  • AWS의 남는 자원을 경매 형식으로 제공
  • 최대 90% 할인
  • 가격은 수요에 따라 변동 (시간별 시세 그래프 형태)
  • 사용자는 "지정 가격"을 설정 → 해당 가격 이하일 때 사용 가능
  • 가격이 올라가면 자동 반납
  • 스팟 인스턴스의 특징
    • 예측 불가한 사용 가능 시간
    • 사용/반납 주기가 반복됨
    • 인스턴스가 없어져도 큰 문제 없는 구조에서 사용해야 함 (예: 분산처리)
  • 사용 예시
    • Hadoop, Spark, 분산 머신러닝, 대규모 시뮬레이션
    • 인스턴스를 수십 대 확장할 수 있어 비용 대비 효율 극대화 가능

전용 호스트 (Dedicated Host)

  • 가상화된 환경이 아닌, 물리적 서버를 독점적으로 임대
  • 보안, 법적 규제, 성능 보장 필요 시 사용
  • 사용 이유
    1. 보안: 다른 사용자와 리소스를 공유하지 않음
    2. 성능 안정성: CPU Steal 문제 없음
      • 가상화 환경에서는 공유 자원을 다른 인스턴스가 가져가는 현상 발생
    3. 라이선스 준수: 소프트웨어 라이선스 정책이 물리적 CPU 기준일 경우

가격 순서 (저렴 → 비쌈)

: 스팟 인스턴스 < 예약 인스턴스 < 온디맨드 < 전용 호스트

EC2 외 비용 주의사항

  • EBS (Elastic Block Store)
    • EC2의 하드디스크 역할
    • EC2와 별도 과금
    • 보통 사용한 용량만큼 과금
  • 네트워크 통신 비용
    • AWS 내부 통신: 무료
    • AWS → 외부 인터넷 (다운로드): 과금 발생
    • 외부 → AWS (업로드): 무료

EC2 인스턴스 유형(Type)과 사이즈(Size)

  • RPG 게임에서 캐릭터 생성 시 포인트 분배하듯, EC2 인스턴스도 CPU, 메모리, GPU 등 자원을 조합하여 구성 가능

인스턴스 유형(Type): “직업”과 같은 역할

  • 특정 목적(컴퓨팅, 메모리, 스토리지 등)에 따라 최적화

    출처 : https://www.youtube.com/watch?v=JM25Hls75b8&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&index=10
  • 유형별로 세대(Generation)와 함께 이름 부여됨
    예: m5 → M 타입 5세대

  • 아키텍처별 세부 유형 존재
    예: t4g (Graviton2 기반), t4 (GPU 포함)


인스턴스 크기(Size): “레벨”과 같은 역할

  • CPU 수, 메모리 용량, 대역폭, EBS 처리량 등을 결정
  • 크기 예시:
    microsmallmediumlargexlarge2xlarge
  • 크기가 클수록: CPU 수 ↑, 메모리 ↑, 네트워크 대역폭 ↑, EBS 처리량 ↑

    EBS는?

    • EC2 인스턴스에 붙는 가상의 하드디스크
    • 인스턴스와 물리적으로 연결되지 않고, 네트워크를 통해 연결됨
    • 인스턴스 크기에 따라 EBS 통신 성능도 달라짐

조합 구조 예: m5a.xlarge

  • m: 타입 (범용)
  • 5: 5세대
  • a: AMD CPU 사용
  • xlarge: 크기

EC2 인스턴스 사용 전략

시나리오추천 타입
잘 모르겠을 때T 타입 (범용, 프리티어 포함)
CPU 위주 작업C 타입
메모리 위주 작업R, X 타입
그래픽 처리G, P 타입
대용량 데이터 저장D, H, I 타입
범용 목적M, T 타입 (가장 일반적)
  • TIP: 모든 타입과 사이즈를 외울 필요는 없음. 상황에 맞게 선택하면 됨.

EBS(Elastic Block Store)

  • Elastic Block Store: 블록 단위로 데이터를 저장하는 가상의 하드디스크
  • 영구 저장 가능, 인스턴스 종료 후에도 데이터 유지됨
  • EC2와 네트워크로 연결되어 있어 독립적으로 관리 가능
    구성 요소설명
    EC2 인스턴스컴퓨팅(CPU, RAM 등)을 담당
    EBS (Elastic Block Store)하드디스크 역할, 데이터를 저장
    네트워크 인터페이스랜카드 역할
  • 특징

    • 인스턴스와 분리 가능, 인스턴스가 종료되어도 EBS는 유지됨
    • 하나의 인스턴스에 여러 EBS를 연결 가능
    • EBS는 같은 가용 영역(AZ)에 존재해야 연결 가능
  • EBS 연결의 장점

    • 인스턴스를 변경해도 EBS 그대로 사용 가능
    • 업그레이드 및 장애 대처 용이
    • 다양한 볼륨 부착 가능 (확장성 ↑)
  • EBS의 동작 특성


스냅샷(Snapshot)

  • 특정 시점의 EBS 상태를 저장
  • 일종의 EBS의 사진 = 백업 개념
  • 저장 방식 : 증분 백업 방식
    → 최초에는 전체 저장, 이후에는 변경된 블록만 저장
    → 스토리지 효율성 매우 높음

  • 저장 위치 : Amazon S3에 저장
    → EBS보다 저렴한 저장소

  • 활용

    • 특정 시점 복구
    • 빈번한 백업 추천 (비용 부담 적음)
    • 자동 스냅샷 기능도 존재

AMI(Amazon Machine Image)

  • EC2 인스턴스를 만들기 위한 템플릿
  • OS, 소프트웨어, 설정 등을 포함
  • 활용

    • 기존 인스턴스를 AMI로 저장 → 다른 인스턴스에 복제 가능
    • 팀원들과 환경 공유
    • 동일 설정의 인스턴스를 빠르게 대량 배포 가능
  • AMI 생성 구성요소

    • 1개 이상의 EBS 스냅샷
    • 인스턴스 저장 인스턴스의 경우 루트 볼륨에 대한 템플릿(예 : 운영체제, 애플리케이션 서버, 애플리케이션)
    • 사용 권한 (어떤 AWS 어카운트가 사용할 수 있는지)
    • 블록 디바이스 맵핑(EC2 인스턴스를 위한 볼륨 정보=EBS가 무슨 용량으로 몇 개 붙는지)
  • 종류

    • EBS 기반 : 스냅샷을 기반으로 루트 디바이스 생성
    • 인스턴스 스토리지 기반 : S3에 저장된 템플릿을 기반으로 생성

      인스턴스 스토리지(Instance Storage)

      • 위치 : 인스턴스 내부에 탑재
      • 속도 : EBS보다 빠름
      • 단점 : 인스턴스 종료 시 데이터 자동 삭제
      • 용도 : 로그, 캐시, 임시 파일 등 비영구적 데이터 저장용

EC2 생명 주기 (Lifecycle)

EC2 생명 주기 단계

① Pending (대기 상태)

  • 인스턴스 준비 중 (가상 머신 생성, EBS 연결 등 초기화 작업)
  • 아직 사용 불가
  • EC2 요금 청구됨

② Running (실행 상태)

  • 인스턴스가 정상 작동 중이며 사용 가능

  • Running 상태에서 선택 가능한 동작 3가지:

    동작설명
    1. 중지 (Stop)- 인스턴스만 종료, EBS는 유지
    - 인스턴스 요금은 청구 X, EBS 등은 요금 발생
    - 퍼블릭 IP가 변경됨
    - 프라이빗 IP는 그대로 유지됨
    - EBS 기반 인스턴스만 중지 가능
    2. 재부팅 (Reboot)- 인스턴스를 다시 시작
    - 퍼블릭 IP 변경 없음
    - 운영체제만 재시작되는 느낌 (전원 버튼 누르기 느낌)
    3. 최대 절전 모드 (Hibernate)- 메모리 내용을 디스크에 저장 후 종료
    - 재시작 시 메모리 복원하여 이전 상태에서 이어서 사용 가능
    - 중단 지점부터 다시 실행
    - 하드디스크에 메모리를 저장해야 하므로 일부 리소스 요금 발생

③ Stopping / Stopped (중지 중 / 중지 완료)

상태설명인스턴스 요금EBS 등 요금
Stopping중지 과정
Stopped중지 완료
  • 최대 절전 모드일 경우 → 인스턴스 요금 청구됨

④ Shutting-down / Terminated (종료 중 / 종료됨)

상태설명
Shutting-down종료 중미 청구
Terminated완전히 종료됨미 청구
  • EBS는 설정에 따라 함께 삭제되거나 유지됨
  • Elastic IP 등은 여전히 요금이 부과될 수 있음

중지 가능 여부: 저장소에 따라 다름

인스턴스 유형설명중지 가능 여부
EBS 기반- 네트워크로 연결된 외부 스토리지
- 인스턴스 중지 시 EBS는 그대로 유지
✅ 가능
인스턴스 저장소 기반- 인스턴스 내부에 저장
- 인스턴스 종료 시 데이터 소실
❌ 불가능

상태별 요금 정책 요약

상태인스턴스 요금EBS 요금퍼블릭 IP 유지 여부설명
Pending✅ 청구됨✅ (붙어있는 한 계속됨)N/A초기 생성 준비 중
Running✅ 청구됨✅ 유지됨 (변하지 않음)인스턴스 실행 중
Stopping
※ 최대절전 시 ✅ 청구됨
❌ 변경됨중지 중. Hibernate면 일부 자원 유지
Stopped❌ 변경됨완전 정지 상태. 퍼블릭 IP 반환됨
Shutting-down❌ (EBS도 삭제 시)N/A인스턴스 종료 중
Terminated❌ (EBS도 삭제 시)N/A인스턴스 및 스토리지 모두 삭제됨

참고

profile
말하는 고구마

0개의 댓글