본문 바로가기

클라우드 컴퓨팅

[AWS Certified Solutions Architect]AWS Compute Services - Virtual Machne EC2

컴퓨팅과 관련한 AWS 서비스는 크게 virtual machines(VMs), container services, serverless 세 가지 유형으로 분류할  수 있다.

 

AWS의 컴퓨팅 서비스 관련 세가지 서비스 유형

Compute as a Service on AWS

 

Compute 자원은 컴퓨팅을 위해 요구, 할당, 이용되는 컴퓨팅 능력을 정량화할 수 있는 것이다. Compute 자원의 예로는 CPU와 메모리가 있다. CPU는 milicore라는 단위를 정량화되며 메모리는 바이트(byte)로 정량화된다. 

 

클라우드에서 컴퓨팅 능력을 얻는 기본 단위는 가상머신(VM: Virtual Machine)이다. 가상머신은 운영체제와 애플리케이션의 실행을 하는 물리적인 컴퓨터와 같은 기능을 사용할 수 있는 소프트웨어이다. 가상머신은 물리적인 컴퓨터의 디지털 버전이다. 가상머신은 물리적인 서버를 에뮬레이션하고 개발의 애플리케이션을 실행할 수 있는 HTTP 서버를 설치할 수 있는 환경을 제공한다. 가상머신을 구동시키기 위해서는 호스트 머신에 하이퍼바이저를 설치해야 한다. 하이퍼바이저는 두 개 이상의 가상머신들이 물리적인 컴퓨터의 자원을 공유하는 것을 가능하게 하는 소프트웨어 또는 펌웨어이다. 하이퍼바이저는 가상머신을 생성하고 실행하기 위해 자원을 제공한다. 

 

AWS에서 Amazon EC2는 클라우드 내에서 안전한 컴퓨팅 용량을 제공하는 웹 서비스이다. EC2 인스턴스라 불리는 가상 서버를 제공할 수 있다. AWS는 호스트 머신과 하이퍼레이저 계층을 운용하고 관리한다. 또한 AWS는 게스트 운영체제라 불리는 가상머신 운영차제를 설치한다. 

 

AWS compute service에서 가상머신은 인스턴스라고 불린다. Amazon EC2는 CPU, 메모리, 스토리지, 네트워킹 자원을 필요한 수와 양으로 구성할 수 있는 다양한 형태의 인스턴스를 제공힌다.  그러므로 사용자는 애플리케이션에 적합한 컴퓨팅 자원을 구성할 수 있다. 

Amazon EC2 

가용성이 높은 애플리케이션을 구축하고자 하면 별개의 두 개의 가용영역에서 최소한 두 개의 EC2 인스턴스의 사용을 고려하여야 한다. 

 

Amazon EC2로 다음 작업을 할 수 있다.

  •  몇 분 안에 하나 이상의 EC2 인스턴스를 프로비저닝하고 시작한다.
  •  워크로드 실행이 끝다면 EC2 인스턴스를 중지하거나 종료한다.
  • 각 인스턴스 유형에 ㄷ대해 초 단위 또는 시간 단위로 과금을 한다. (최소 60초)

EC2 인스턴스를 생성하려면 하드웨어 사양과 논리적 구성을 정의하여야 한다. 

  • 하드웨어 사양: CPU, 메모리, 네트워크, 스토리지 
  • 논리적 구성: 네트워킹 위치, 방화벽 규칙, 인증 및 운영체제 

Amazon Machine Image (AMI)

EC2 인스턴스를 시작할 때 가장 먼저 구성하는 설정은 AMI를 선택하여 어떤 운영체제를 사용하려는지를 결정하는 것이다.

AWS 클라우드에서 운영체제의 설치는 사용자가 하는 것이 아니라 선택한 AMI 에 내장되어 있다. 

 

AMI에는 운영체제, 스토리지 매핑, 아키텍처 유형, 시작 권한 및 사전 설치된 추가적인 소프트웨어 애플리케이션이 포함된다. 

AMI과 EC2 인스턴스 간의 관계  

EC2 인스턴스는 AMI에 정의된 것의 라이브 인스턴스 (또는 버전) 이다. 소프트웨어 개발의 클래스와 객체 간의 관계와 유시한다. AMI는 인스턴스를 모델링하고 정의하는 방법이다. EC2 인스턴스는 웹 서버를 설치하고 사용자에게 콘텐츠를 제공할 수 있는 상호 작용하는 엔티티이다. 새 인스턴스를 사작하면 AWS는 하이퍼바이저에서 실행되는 가상머신을 활당하고 AMI가 볼륨 부팅에 사용되는 이미지가 포함된 루트 디바이스 볼륨에 복사된다. 최종적으로 사용자가 연결할 수 있는 서버를 갖게되고 패키지와 추가적인 소프트웨어를 설치할 수 있다. 

AMI와 EC2 Instance와 root volume과의 관계

 

 

AMI 사용의 장점은 재사용이 가능하다는 것이다.  동일한 구성으로 다른 EC2 인스턴스를 생성하고자 할 경우 첫 번째 인스턴스와 일치하도록 새 EC2 인스턴스를 생성하고 구성할 수 있다. 

실행 중인 인스턴스(아래 그림의 EC2 Instance #1) 에서 AMI(아래 그림의 AMI #2)를 생성하고 AMI #2를 사용하여 새 인스턴스(EC2 Instance #2)를 시작할 수도 있다. 이렇계 하면 AMI에 설정된 구성이 동일하므로 새 인스턴스는 현재 인스턴스와 동일한 구성을 갖게 된다. 

EC2 인스턴스로 부터 새로운 AMI를 생성하고 인스턴스를 생성하는 과정

 

<출처: AWS Technical Essentials: https://explore.skillbuilder.aws/learn/course/1851/play/85986/aws-technical-essentials;lp=1044>