쉽게 설명하는 AWS 기초 강좌

  • 본 내용은 빠르게 학습 진행 하는 내용이라 전체 내용을 전부 포괄하지 않습니다.
  • 모르는 개념들 위주라 참고용이 아니므로 직접 학습 하시고 요약자료 정도로 생각해주시길 부탁드립니다.

6: 가상화란?

  • 리소스를 효율적으로 사용하도록 만드는 것, 가상화(VM)
  • 직접 OS가 하드웨어 설치된 상태(Bare-Metal)로 과거엔 운영했음

가상화의 역사

  • 1세대 : 완전 가상화 (Fully Emulated)
    • 모든 시스템 요소가 에뮬레이터 안에 들어감
    • 하드웨어 리소스(CPU, 하드디스크, 마더보드 등 모든 요소)를 에뮬레이터로 구현하여 OS와 연동
    • 오버헤드 심함
  • 2세대 : Paravirtualization
    • Guest OS는 하이퍼바이저와 통신
    • 하이퍼 바이저 : OS 와 하드웨어 사이에 존재하는 일종의 가상화 매니저
    • 속도의 향상
    • 몇몇 요소의 경우 여전히 에뮬레이터 필요 = 여전히 일정 부분 오버헤드가 발생함
  • 3세대 : Hardware Virtual Machine(HVM)
    • 하드웨어에서 직접 가상화를 지원
    • 직접 Guest OS 가 하드웨어와 통신 = 빠른 속도(near bare-metal)

가상화와 클라우드

  • AWS 클라우드 환경에서 리소스를 작은 단위로 빠르게 구성할 수 있는 원동력은 가상화
  • AWS에서 사용자마다 컴퓨터를 할당해주는 것이 아닌 구축된 가상화 가능한 서버의 한 부분을 할당해 주는 것

7: EC2(1) - EC2 소개 및 맛보기

EC2 소개

  • 개념 : Amazon Elastic Compute Cloud 는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스이다.
  • 용도 :
    • 서버를 구축할 때
    • 어플리케이션을 사용하거나 호스팅 할 때
    • 기타 다양한 목적

EC2 의 특성

  • 초 단위 온 디맨드 가격 모델
  • 빠른 구축 속도와 확장성
  • 다양한 구성 방법 지원
  • 여러 AWS 서비스와 연동 가능 : 오토 스케일링, Elastic Load Balancer(ELB), Cloud Watch

EC2의 구성

  • 인스턴스 : 클라우드에서 사용하는 가상 서버, 컴퓨터를 구성하는 하드웨어를 담당
  • EBS : Elastic Block Storage, 클라우드에서 사용하는 가상 하드 디스크
  • AMI : EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지
  • 보안 그룹 : 가상의 방화벽

실습 내용

  • 목표 : EC2 한대를 프로비전하여 웹 서버 구성
  • 순서
    1. EC2를 구성하기 위한 AMI 선택
    2. EC2의 유형과 사이즈 선택
    3. EBS 설정
    4. 보안그룹 설정
    5. EC2 생성
    6. EC2 접속 후 웹 서버 설치 및 웹 서버 실행
    7. 웹 브라우저에서 접속 테스트

8: EC2(2)-EC2의 가격 모델

EC2의 가격 정책

  • On-Demand
    • 실행하는 인스턴스에 따라 시간 또는 초당 컴퓨팅 파워로 측정된 가격을 지불
    • 약정 필요 없음
    • 장기적인 수요 예측이 힘들거나 유연하게 EC2를 사용 원할 때
    • 한번 써보고 싶을 때
  • Spot Instance
    • 경매 형식으로 시장에 남는 인스턴스를 저렴하게 구매해서 쓰는 방식
    • 최대 90% 정도 저렴
    • 단 언제 도로 내주어야 할지 모름
    • 시작 종료가 자유롭거나 추가적인 컴퓨팅 파워가 필요한 경우
  • 예약 인스턴스(Reserved Instance-RI)
    • 미리 일정 기간(1년 ~ 3년) 약정해서 쓰는 방식, 스탠다드와 변환 예약 이라는 방식이 존재해서 변환 예약 인스턴스는 더 유연한 할인 혜택, 설정 변경 기능을 제공
    • 최대 75% 정도 저렴
    • 수요 예측이 확실할 때
    • 총 비용을 절감하기 위해 어느정도 기간의 약정이 가능한 사용자
  • 전용 호스트(Dedicated)
    • 실제 물리적인 서버를 임대하는 방식
    • 라이선스 이슈(Windows Server등)
    • 규정에 따라 필요한 경우
    • 퍼포먼스 이슈(CPU Steal 등 )
  • 절약 플랜 (신규)
    • 다양한 AWS 의 서비스를 최대 72% 절감 혜택을 제공하고 일정한 사용량을 약정하는 방식

기타

  • 가격 순서
    • 스팟 인스턴스 < 예약 인스턴스 < 온디맨드 < 전용 호스트
  • EC2 의 가격 모델은 EBS와 별도
    • EBS 는 사용한 만큼 지불
  • 기타 데이터 통신 등의 비용은 별도로 청구
    • 참고로 AWS는 AWS 바깥으로 나가는 트래픽에 대해서만 요금을 부과

9: EC2(3)-EC2의 유형과 크기

인스턴스의 유형

  • 각 인스턴스 별로 사용 목적에 따라 최적화가 가능하다
    • 예 ) 메모리 위주, CPU 위주, 그래픽 카드 위주 등등
  • 타입 별로 이름이 부여되어 있다
    • 예 ) t타입, m타입, inf타입 등
  • 타입 별 세대 별로 숫자가 부여된다
    • 예 ) m5 = m인스턴스의 5번째 세대
  • 아키텍쳐 및 사용 기술에 따라 접두사
    • 예 ) t4g = t4인스턴스 중 AWS Graviton 프로세서를 사용(g)
유형 설명 예시
범용
t 저렴한 범용 웹서버, DB
m 범용 어플리케이션 서버
A1 ARM 기반 ARM 기반 에코시스템 워크로드/웹서버 등
Mac 맥 기반 맥 기반
컴퓨팅 최적화
c 컴퓨팅 최적화 CPU 성능이 중요한 어플리케이션/DB
f 하드웨어 가속 유전 연구, 금융 분석, 빅데이터 분석
Inf 머신 러닝용 머신러닝
g 그래픽 최적화 3D 모델링/인코딩
메모리 최적화
r 메모리 최적화 메모리 성능이 중요한 어플리케이션/DB
x 메모리 최적화 머신러닝, 비트코인
p 그래픽 최적화 EDA 애플리케이션
z 고주파 수 컴퓨팅 워크로드 고주파 수 컴퓨팅 워크로드
저장 최적화
u-6tb1 대용량 메모리 인스턴스 가상화 오버헤드를 줄여주는 베어메탈
h 디스크 쓰루풋 최적화 하둡/맵리듀스
i 디스크 속도 최적화 NoSQL/데이터웨어하우스
d 디스크 최적화 파일서버/데이터웨어하우스/하둡
### 인스턴스 크기
  • 인스턴스의 CPU 갯수, 메모리 크기, 성능 등으로 사이즈 결정
  • 크기가 클 수록
    • 더 많은 메모리
    • 더 많은 CPU 코어
    • 더 많은 네트워크 대역폭
    • EBS와의 통신 가능한 대역폭

인스턴스의 타입 읽는 법

  • m5a.xlarge
    • m : 인스턴스 타입
    • 5 : 세대
    • a : 접두사 amd 타입
    • xlarge : 사이즈

10: EC2(4)-EBS, Snapshot, AMI

EBS

  • Ammazon Elastic Block Store는 EC2 인스턴스에 사용할 영구 블록 스토리지 볼륨을 제공한다.
  • 가상의 하드 디스크 역할
  • EC2 인스턴스 종료되어도 계속 유지 된다.
  • 하나의 EBS를 여러 EC2 장착 가능
  • 루트 볼륨으로 사용 시 EC2가 종료 되면 같이 삭제 됨
  • EC2와 같은 가용 영역에 존재한다.
  • 총 5가지 타입을 제공
    • 범용 : SSD
    • 프로비저닝 된 IOPS : SSD
    • 쓰루 풋 최적화
    • 콜드 HDD
    • 마그네틱

EC2의 구조

  • 기본적으로 연산 역할을 하는 인스턴스와 스토리지는 네트워크로 묶여서 있다. 따라서 EBS에 인스턴스 교체를 통해 동일 서비스에서 스케일 업이 용이함.
  • 반대로 EBS 를 다중으로 연결시키는 것도 용이함

EBS의 종류

타입 범용타입 프로비저닝된 IOPS 쓰루풋 최적화 HDD Cold HDD 마그네틱
이름 GP3 IO2 ST1 SC1 Standard
용량 1GB~16TB 4GB~16TB 500GB~16TB 500GB~16TB 1GB~1TB
사용 일반 범용 IOPS가 중요한 어플리케이션/데이터베이스 쓰루풋이 중요한 어플리케이션/하둡/OLAP 데이터베이스 등 파일 저장소 백업/비 주기적인 데이터 액세스
MAX IOPS 16,000 64,000 500 250 40~200
### Snapshot
  • 특정 시간에 EBS의 상태의 저장본
  • 필요 시 스냅샷을 통해 특정 시간의 EBS를 복구 가능
  • S3에 보관
    • 증분식 저장 : 변화한 부분의 행위에 대해서만 저장하는 방식으로 통으로 찍는 구조가 아님.

AMI

  • EC2 인스턴스를 실행하기 위한 필요한 정보를 모은 단위
  • EC2를 복제하거나 다른 리전으로 전달이 가능하다
  • 스냅샷을 기반으로 AMI 구성 가능
  • 구성
    • 1개 이상 EBS 스냅샷
    • 인스턴스 저장 인스턴스의 경우 루트 볼륨에 대한 탬플릿
    • 사용권한
    • 블록 디바이스 맵핑(EC2 인스턴스를 위한 볼륨 정보 = EBS 무슨 용량으로 몇개 붙는지)
  • 타입
    • EBS 기반
    • 인스턴스 저장 기반 : 인스턴스 소실 시 함께 소실
  • 타입에 따른 AMI 의 생성 방법
    • EBS: 스냅샷을 기반으로 루트디바이스 생성
    • 인스턴스 저장 : S3 기반의 템플릿을 기반으로 생성

이미지 생성

  • 생성한 인스턴스를 이미지로 만들수 있다.
  • EBS 는 기본적으로 최초 설정한 값을 그대로 따라간다.