https://www.youtube.com/watch?v=hb_4Tf6bAtY&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&index=7
가상화 Virtualization
단일 컴퓨터의 하드웨어 요소를 일반적으로 가상머신(VM)이라고 하는
다수의 가상 컴퓨터로 분할할 수 있도록 해주는 기술
리소스를 효율적으로 관리하면 그만큼 비용을 감소시킬 수 있다.
특권 명령(privileged instruction)
시스템 요소들과 소통할 수 있는 명령으로 OS 만 가능하다.
이러한 특권 명령 때문에 하나의 하드웨어의 시스템당 운영체제가 하나밖에 돌아갈 수 없는 것
반대로 일반 프로그램은 특권 명령이 필요없으므로 많은 프로그램을 동시에 수행이 가능한 것임.
즉 가상화가 나타나기 전까진 하나의 하드웨어 시스템은 하나의 OS만 실행이 가능했고,
일반적인 컴퓨터처럼 직접 OS가 하드웨어에 설치된 상태(=Bare Metal)로만 운영 가능했었다.
가상화의 역사
1세대 : 완전 가상화 Fully Emulated
- 모든 시스템 요소가 에뮬레이터 안에서 돌아감
- CPU 하드디스크 마더보드... 등 모든 요소를 에뮬레이터로 구현하여 OS와 연동
- 매우 느리다.
2세대 : Paravirtualization
- Guest OS 는 Hypervisor와 통신 (하이퍼바이저란, OS와 하드웨어 사이에 존재하는 가상화 매니저)
- 속도가 향상 됐으나 몇몇 요소의 경우 여전히 에뮬레이터가 필요하므로 느리다.
3세대 : Hardware Virtual Machine(HVM)
- 하드웨어에서 직접 가상화를 지원
- 직접 GuestOS 가 하드웨어와 통신하므로 빠른 속도 = near bare metal
가상화와 클라우드
AWS 클라우드 환경에서 리소스를 적은 단위로 빠르게 구성할 수 있는 원동력이 가상화이다.
AWS 에서 사용자마다 컴퓨터를 할당해주는 것이 아닌, 이미 구축된 가상화 가능한 서버의 한 부분을 할당해주는 것
EC2 (Amazon Elastic Compute Cloud)
컴퓨팅을 빌려 쓰는 서비스
안전하고 크기 조정이 가능한 클라우드, 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계된 웹 서비스
간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있다.
컴퓨팅 리소스에 대한 포괄적인 제어권을 제공하며 아마존의 검증된 컴퓨팅 인프라에서 실행 가능하다.
- 서버를 구축할 때 사용 - 게임서버/웹서버/어플리케이션서버
- 어플리케이션을 사용하거나 호스팅할 때 - 데이터베이스/머신러닝/비트코인 채굴/연구용 프로그램
- 그래픽 렌더링 등
EC2의 특성
- 초 단위 온디맨드 가격 모델 - 서비스 요금을 미리 약정하거나 선입금이 필요 없음
- 빠른 구축 속도와 확장성
- 다양한 구성방법 지원 - 머신러닝, 웹서버, 게임서버, 이미지 처리 등 다양한 용도에 최적화된 서버 구성 가능
- 여러 AWS 서비스와 연동 - 오토스케일링(EC2에 숫자를 자동으로 조정), Elastic Load Balancer(ELB, 트래픽을 분산해주는 로드밸런서), CloudWatch(EC2 디스크 사용량, CPU 모니터링)
EC2 의 구성
인스턴스
클라우드에서 사용하는 가상 서버
CPU, 메모리, 그래픽카드 등 연산을 위한 하드웨어를 담당
EBS(Elastic Block Storage)
클라우드에서 사용하는 가상 하드디스크
AMI (Amazon Machine Image)
EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지 - OS 등 선택
보안 그룹
가상의 방화벽
EC2 한대를 프로비전하여 웹 서버 구성하기
- AMI 선택
- EC2의 유형과 사이즈 선택
- EBS, 보안 그룹 설정
- EC2 생성
- EC2 접속 후 웹 서버 설치 및 실행
- 웹 브라우저에서 접속 테스트
인스턴스 > 인스턴스 시작
위처럼 거의 기본값으로만 설정을 마친 뒤 인스턴스 생성을 해주면,
인스턴스를 만들기 위한 키 페어 생성
키페어를 생성하면 자동으로 다운로드 된다.
인스턴스가 생성된 다음엔, 연결하기
아래처럼 브라우저 상에서 인스턴스를 조작할 수 있게 된다.
sudo -s 로 sudo권한을 가져오기
웹 서버를 설치하기 위한 명령어 : yum install httpd -y
웹 서버를 실행시키기 위한 명령어 : service httpd start
위까지 실행해주면
publicIPs 의 ip주소로 웹페이지를 접근할 수 있게 된다. (테스트 페이지)
지금까지의 과정이 EC2 상에서 웹 페이지를 만들고 어느 컴퓨터로든 접근할 수 있는 웹 페이지를 만든 것이다.
간단하게 index.html 파일 만들고 웹페이지 변경해주기
nano /var/www/html/index.html
위처럼 입력해주면 index.html 파일로 들어가게 되고 아무거나 일단 작성한 다음, ctrl+X로 저장해줄 수 있다.
그러면 입력해준 내용대로 홈페이지가 바뀌었음을 알 수 있다.
일단 인스턴스를 종료하자
인스턴스를 종료시키지 않으면 계속 요금이 나오게 된다.
종료는 인스턴스 삭제와 같은 의미이며, 삭제가 아닌 인스턴스 중지를 하는 경우 EBS(하드디스크) 요금은 계속 나갈 수 있기 때문에 안전하게 인스턴스 종료를 해야 요금 폭탄이 안 나올 수 있다고 한다.
EC의 가격정책
- 스팟 인스턴스 < 예약 인스턴스 < 온디맨드 < 전용 호스트
- EC2의 가격 모델은 EBS와는 별도 (EBS 또한 저장소를 사용한 만큼 지불)
- 기타 데이터 통신 등의 비용은 별도 청구 -> AWS 바깥으로 나가는 트래픽에 대해서만 요금을 부과한다.
On-Demand | Spot Instance | 예약 인스턴스 (Reserved Instance, RI) | 전용 호스트 (Dedicated) |
시간당 측정된 가격을 지불 (쓴만큼 지불) | 경매 형식으로 시장에 남는 인스턴스를 저렴하게 구매하는 방식 | 미리 일정기간 약정해서 쓰는 방식 | 가상화된 서버에서 EC2를 빌리는 것이 아닌! 실제 물리적인 서버를 임대하는 방식 |
약정 없음 | 최대 90%정도 저렴하나 언제 도로 서버를 반납해야할지 모름 | 최대 75% 정도 저렴 1년, 3년 약정 |
|
장기적인 수요 예측이 힘들거나 유연하게 EC2를 사용하고자 할 때 사용 | 시작 종료가 자유롭거나 추가적인 컴퓨팅 파워가 필요할 때, 개발용으로 사용 분산 아키텍쳐 필요, 빅데이터나 ML 등 많은 인스턴스가 필요할 때 사용 |
수요 예측이 확실하고 총 비용을 절감하기 위해 약정이 가능할 때 사용 | 라이선스 이슈, 규정에 따라 필요한 경우, 퍼포먼스 이슈(CPU Steal - 가상화 서버에 간섭이 생기면 안될 때) |
각 인스턴스별로 사용 목적에 따라 최적화가 필요
메모리 위주, CPU 위주, 그래픽카드 위주 ...
EC2 의 인스턴스 유형 = 직업
타입별로 이름 부여
세대는 숫자 부여 (높을수록 최근 세대)
EC2의 인스턴스 사이즈 = 레벨
인스턴스 cpu 개수, 메모리 크기, 성능 등으로 사이즈 결정
크기가 클수록 -> 메모리 ⬆️, CPU ⬆️, 네트워크 대역폭 ⬆️, EBS와의 통신 가능한 대역폭 ⬆️
m5a.xlarge
m : 인스턴스 타입
5 : 세대
a : 접두사
xlarge : 사이즈
'Ect. > AWS' 카테고리의 다른 글
AWS 기초 강좌 2 (0) | 2023.07.01 |
---|---|
AWS 기초 강좌 1 (0) | 2023.06.30 |