본문 바로가기
Ect./AWS

AWS 기초 강좌 3 - EC2 기초 1~3

by 쿠리의일상 2023. 7. 11.

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와 연동
  • 매우 느리다.

APP1, APP2, ... 에뮬레이터화

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 한대를 프로비전하여 웹 서버 구성하기

  1. AMI 선택
  2. EC2의 유형과 사이즈 선택
  3. EBS, 보안 그룹 설정
  4. EC2 생성
  5. EC2 접속 후 웹 서버 설치 및 실행
  6. 웹 브라우저에서 접속 테스트

 

 

인스턴스 > 인스턴스 시작

태그명 지정 Name - MyWebServer
Amazon Linux
t2.micro
ssh규칙은 그대로 두고, 아래와같이 편집
http 로 테스팅할 것이므로 보안 규칙을 추가해준다

위처럼 거의 기본값으로만 설정을 마친 뒤 인스턴스 생성을 해주면,

인스턴스를 만들기 위한 키 페어 생성

키페어를 생성하면 자동으로 다운로드 된다.

 

인스턴스가 생성된 다음엔, 연결하기

 

 

아래처럼 브라우저 상에서 인스턴스를 조작할 수 있게 된다.

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