AWS 기초 _Part_2
2022. 1. 19. 16:56ㆍCloud
가상화란?
: 클라우드를 구성하는 핵심 기술중 하나
"단일 컴퓨터의 하드웨어 요소를 일적으로 가상 머신(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 |