AWS 기초 _Part_2

2022. 1. 19. 16:56Cloud

가상화란?

: 클라우드를 구성하는 핵심 기술중 하나

"단일 컴퓨터의 하드웨어 요소를 일적으로 가상 머신(VM)이라고 하는 다수의 가상 컴퓨터로 분할할 수 있도록 해주는 기술"


컴퓨터 관리자의 입장에서 빌드서버, 웹서버, 메일서버 각각의 컴퓨터의 점유율을 확인해보니 사용하지 않는 잉여자원이 남는다는 것.
그래서 이것을 통합하여 하나의 서버에 몰아넣게 되는 것. 비용 절약 및 리소스의 효율적인 운영이 가능해진다.

배경

  • 운영체제 (Operating System, OS) : 시스템 하드웨어 자원과 소프트웨어 자원을 운영 관리하는 프로그램
    • Windows, Linux, MacOS, Android..
  • 특권 명령 (privileged instruction) : 시스템 요소들(메모리, 컴퓨터에 있는 하드웨어)과 소통할 수 있는 명령 - OS만 가능
    • OS는 특권명령 때문에 일반적으로는 하나의 하드웨어 시스템당 하나밖에 돌아갈 수 없음
    • 일반 프로그램은 특권 명령이 필요 없기 때문에 많은 프로그램을 동시에 수행 가능
  • 가상화가 나타나기 전 까지는 하나의 하드웨어 시스템은 하나의 OS만 실행이 가능했음
    • 즉 일반적인 컴퓨터처럼 직접 OS가 하드웨어에 설치된 상태(Bare-Metal: 가상화의 반대) 로만 운영 가능했었음

역사

  • 1세대 : 완전 가상화
    모든 시스템이 에뮬레이터에서 돌아감 ➞ 매우 느림.

  • 2세대
    • 하이퍼바이저 : os-하드웨어 사이의 일종의 가상화 매니저
    • guest os는 하이퍼바이저와 통신 ➞ 속도 향상
    • but, 몇몇 요소 여전히 에뮬러이터 필요로 느림.
  • 3세대 : HVM
    • 하드웨어가 직접 가상화 지원
    • 직접적인 guest-os 와 하드웨어 통신으로 빠른 속도 제공

가상화가 왜 중요할까?

가상화

: AWS 클라우드 환경에서 리소스를 빠르게 구성할 수 있는 원동력

 


EC2

: 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스

언제 사용하나?

  • 서버 구축
    • 게임서버, 웹서버, 어플리케이션 서버
  • 어플리케이션을 사용 or 호스팅
    • 데이터베이스
    • 머신 러닝
    • 비트코인 채굴
    • 연구용 프로그램
  • 기타
    • 그래픽 렌더링
    • 게임 등

특성

  • 초 단위 온디맨드 가격 모델 (수요에 반응)
    • 온디맨드 모델에서는 가격이 초 단위로 결정
    • 서비스 요금을 미리 약정하거나 선입금이 필요 없음
  • 빠른 구축 속도와 확장성
  • 다양한 구성방법 지원
    • 머신러닝, 웹서버, 게임서버, 이미지처리 등 다양한 용도에 최적화된 서버 구성 가능
    • 다양한 과금 모델 사용 가능
  • 여러 AWS 서비스와 연동
    • 오토스케일링, Elastic Load Balancer (ELB), CloudWatch

구성

  • 인스턴스
    : 클라우드에서 사용하는 가상 서버로 CPU, 메모리, 그래픽카드 등 연산을 위한 하드웨어를 담당
  • EBS
    : Elastic Block Storage의 줄임말로 클라우드에서 사용하는 가상 하드디스크
  • AMI
    : EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지
  • 보안 그룹
    : 가상의 방화벽

EC2 가격정책

 

EC2의 유형과 크기


 

EBS

: ec2 인스턴스에 사용할 영구 블로 스토리지 볼룸 제공 (가상 하드디스크)

 

  • 인스턴스 (연산) - EBS (저장)가 서로 분리 + 네트워크로 연결
  • 다수의 EBS 연결 가능
  • 네트워크로 연결되어 효율적으로 운영 가능

특징

  • 인스턴스 종료와 무관하게 유지 가능
  • 인스턴스 정지 후 재가동 가능
  • EBS multi attach 가능
  • EC2종료시, 같이 삭제 (루트 보륨으로 사용시)
  • EC2와 같응 가용영역에 존재

 

종류

 

Snapshot : EBS를 저장하는 방법

  • 특정 시간의 EBS 상태 저장본
  • 해당 snapshot으로 복구 가능
  • S3에 보관 [증분식 저장]

 

증분식 저장

: 변화한 부분만 저장하게 되어 효율적으로 용량 관리

 

AMI

어떠한 알고리즘을 EC2를 통해 만든 후 공유를 원할 때, 작업한 서버에 AMI를 만들어 나누어준다. 다른 사용자들은 이 AMI만 복구시키면 내가 완성한 EC2 상태 그대로를 사용할 수 있게 되는 것.

 

AMI 분류

EBS 기반

단점 : 네트워크로 연결되어 있으면 속도가 느리다

 

인스턴스 저장 기반
장점 : 인스턴스 스토리지가 EC2안에 있으면 속도가 굉장히 빠르다.
단점 : 인스턴스가 삭제되면 스토리지도 같이 삭제

일반적으로 EBS가 만들어지면, 스냅샷을 찍은 후 AMI를 만들고 여러가지 활동을 한다.


EC2의 생명주기란?

: AMI로부터 실행이 되고 종료될 때까지 EC2가 거치는 과정

pending

- 준비과정 (가상머신, AMI, EBS)


running

- 실제 EC2를 사용할 수 있는 상태

 

stop 

- 인스턴스 요금 미청구

- but, EBS 및 다른 구성요소는 청구

- 재시작 시, public ip 변경

- ebs를 사용하는 인스턴스만 중지 가능.

 

rebooting

- public ip 변경없음.


+ 최대 절전모드란?

 

메모리에 있는 내용을 하드디스크에 저장 ➞ 종료되어도 하드디스크에 있는 내용을 메모리에 다시 불러와 유지해줌.

 


Autoscaling

: 수평적 스케일링을 위해 나온

어플리케이션을 모니터링하고 용량을 자동조정하여 최대한 저렴한 비용으로 안정적이고 성능 유지해주는 서비스

 

수직적 스케일링 (Vertical Scale)

: Scale Up 향상. (인스턴스의 성능을 올리는 것)


단점

- 성능과 비용이 비례하지 않는다.

- 효율이 떨어짐.


ex. 성능은 16배, 비용이 30배 늘었다. 비용이 훨씬 더 비싸지게 됨

 

수평적 스케일링 (Horizontal Scale)

: Scale Out 규모를 늘리는 것. 확장 (인스턴스 각각의 규모를 늘린다.)


성능 16배, 비용도 16배 늘었다
수직적 스케일링보다 좀 더 저렴.


* 클라우드 환경에서는 유연한 것을 더 중점으로 두기에 Scale Out를 항상 염두해 두는게 바람직함.

 

목표

  • 정확한 수의 인스터스를 보유하도록 보장
    • 그룹의 최소 및 최대 인스턴스
    • 다양한 스케일링 정책 적용 가능
  • 가용영역에 인스턴스가 골고루 분산될 수 있도록 분배

구성

동작

예를 들어 EC2 하나가 하드웨어가 터지거나, 소프트웨어적인 오류로 날아갔다.

오토스케일링이 이를 감지한다.

시작 구성에 맞는 인스턴스를 생성하여 오토스케일링에 넣어준다.

반응형

'Cloud' 카테고리의 다른 글

AWS 기초 _Part_3  (0) 2022.01.21
AWS 기초 _Part_1  (0) 2022.01.19