본문 바로가기
클라우드/AWS

AWS EC2(2)

by dustnn 2024. 11. 7.

 

 

컴퓨팅(computing)이란

 

중요한 자료를 모으고(collect) 분석하고(analyze) 처리하고(process) 분배하는(distribute) 일이다.

 

<컴퓨팅의 구성요소>

 

  • CPU

: 주어진 명령어(addition, multiplication, jump 등)를 실행하고 처리함

 

  • RAM(=main memory)

: 단기 메모리

: 컴퓨터의 working space라고 보면 됨(데이터가 프로세스되는 곳)

: 거의 모든 컴퓨터가 main memory로 DRAM을 가짐

 

  • Hard drive

: 장기 메모리(컴퓨터 꺼도 데이터 존재)

: storage라고 하면 보통 hard drive 말함

: 최근에는 SSD라고도 부름

 

  • Network

: 컴퓨터 간 연결

: bandwidth-단위 시간 동안 보낼 수 있는 데이터의 양(Mbps 단위 사용)

: latency-데이터가 전송되는 속도(ms 나 s 단위 사용)

=> 네트워크 performance는 bandwidth와 latency로 측정 가능(bandwidth가 클수록, latency가 적을수록 performance 좋다고 평가함). 유튜브처럼 데이터 스트리밍이 중요한 앱에서는 bandwidth가, 게임처럼 응답시간이 중요한 앱에서는 latency가 중요하다.

 

<Operating System>

 

컴퓨터의 하드웨어와 소프트웨어를 관리하는 소프트웨어 패키지다.

CPU core에게 프로세스를 할당해주는 역할 등을 한다.

Windows, MacOs, ubuntu 등이 있다.

 

<Computing Methods>

 

AWS의 구성요소들은 각각 고유의 운영 방식이 있다.

 

 
AWS 구성요소들과 운영방식

 

그중 우리는 EC2의 운영방식만을 살펴볼 것이다. EC2는 virtual server인 instance를 연결함으로써 운영된다.

 

EC2를 더 자세히 살펴보자.

 

EC2는 다음과 같은 특징을 갖는다.

 

  • Resizable

: scale-up/down/out/in 가능

 

  • Affordable

: 값이 쌈

 

  • Global

: 전세계에서 사용 가능

 

EC2는 각 instance에서 OS에 대한 통제권을 가진다. instance를 드나드는 traffic을 통제하는 것이다. 이때 가상 방화벽과 ELB를 사용한다. 웹, 게임, 메일, 컴퓨팅 등 모든 종류의 서버들이 EC2에서 실행 가능하다.

 

<Amazon EC2 Benefits>

EC2의 이점을 살펴보자.

 

  • Elastic computing

: scale-up/down/out/in이 용이

 

  • complete control

: 자신만의 virtual server을 가지고 있고 그 위에 아무 OS나 설치 가능하다.

 

  • Flexible hosting services

: 컴퓨터의 CPU 개수/OS 종류에 상관 없이 많은 소프트웨어를 사용할 수 있음

 

  • Integrated

: EC2는 S3, load balancing등 많은 종류의 AWS service들을 통합해준다.

 

  • Reliable

: instance를 launch시키면 서버를 복제해, 하나의 서버가 셧다운되면 다른 서버를 사용할 수 있도록 한다.

 

  • Secure

: 다양한 종류의 security feature을 제공한다.(방화벽 등)

 

  • Inexpensive

: 규모의 경제 때문에 별로 안 비싸다..

 

<Amazon EC2 architecture>

=> 자신이 속할 Region, VPC, subnet, security group을 결정한다.

단계별로 살펴보자.

 

- Region이 구분되어 있고 각 region은 독립적으로 운영되기 때문에 자연재해 등 이유로 셧다운되면 다른 지역의 서버를 사용할 수 있게 된다.

 

- EC2 instance는 자신이 선택한 VPC 위에서 launch되는데, AWS 계정을 만들면 default VPC가 할당된다. 다음과 같이 각 VPC는 특정한 목적을 할당받고 있고, 그 목적만을 수행한다.

 

 

- Subnet은 VPC 내에서 IP 주소의 범위다. 누구나 엑세스할 수 있는 public subnet과 보안 등 이유로 인터넷에 연결될 수 없는 private subnet이 있다. 하나의 subnet은 하나의 availability zone에만 존재할 수 있다.

 

 

- Security Group은 incoming/outgoing traffic으 통제한다. 예컨대 중국에서 들어오는 traffic을 안 받고 싶다면 막을 수 있다.

 

종합적으로 정리하자면,,

region과 VPC가 할당되면 subnet과 security group이 자동으로 할당된다. 그리고 동일한 availability zone 두 개가 있다면 reliability를 보장하기 위해 복제된 것이므로 하나의 instance가 셧다운되면 다른 복제본의 instance로 자동 할당된다.(ELB의 load balancing) Firework security group을 바꾸려면 전의 글에서 다룬 것처럼 포트번호를 바꾸어 다시 연결하면 된다.

 

 

 

 

<Instance cost 결정 요소>

 

  • AMI(Amazon Machine Image)
  • EC2 instance type
  • Storage type and size

 

  • Instance purchasing options

 

두 가지 기준에 따라 instance purchasing option 중 하나를 고른다.

 

기준 1. The instance use case

기준 2. The purchasing option's costs structure

 

1. On-demand

2. Reserved Instances

3. Savings Plans Instances

4. Spot Instances

일반적으로 On-Demand Instances를 사용한다.

 

  1. On-Demand Instances

 

기준 1. The instance use case

- 단기의, 예상치못한 프로젝트에 주로 사용

- 앱 개발 및 테스팅 등에 사용

 

기준 2. The purchasing option's costs structure

- 초당(Amazon, Linux, Ubuntu) 또는 시간당(그 외 다른 OS) 용량을 측정해 지불

- 선불비용 없음 -> 하드웨어 계획, 구매, 유지관리하는 데 수반되는 비용 없음

- 애플리케이션의 수요에 따라 가격 결정

=> 큰 규모의 고정비용이 훨씬 적은 가변비용으로 전환

 

2. Reserved Instances(RI)

 

기준 1. The instance use case

- 유연성이 필요 없는, 예측가능한 프로젝트

- 1년 이상의 중장기 프로젝트

 

 

기준 2. The purchasing option's costs structure

- 1년 또는 3년 옵션 선택해 선불

- 많이 reserve할수록 더 많이 할인해줌(최대 72%)

 

3. Saving Plans Instances

 

기준 1. The instance use case

- 장기 프로젝트

- 위치/인스턴스 power 등에 있어서 유연성 필요할 때(불확실할 때)

 

기준 2. The purchasing option's costs structure

- Compute Saving Plans: 유연하게 옵션을 주어 사용자가 내는 비용을 절감시켜줌(프로젝트 기간, 사용 지역 등 아무것도 결정되지 않고 불확실하다면 saving plans의 compute saving plan 사용하는 것이 좋음)

 

- EC2 Instance Saving Plans: 특정 지역을 명시하면 할인

 

4. Spot Instances

 

기준 1. The instance use case

- 시작시간/끝시간이 유연할 때

- 값싼 instance 필요할 때

- 대용량이 급하게 필요할 때

 

기준 2. The purchasing option's costs structure

- 수요가 공급보다 많으면 가격이 오르고 반대이면 할인해줌

- 최악의 경우에는 instance를 강제 종료시켜버림

 

  • Tenancy

: EC2 instance가 얼마나 많은 하드웨어 장비들에 분배되는 방식 정의 (가상 기술 덕분에 하나의 물리적 하드웨어를 여러 사용자가 공유할 수 있게 됨)

 

: 3가지 기준에 따라 가격 결정

 

  1. Shared Tenancy

: 하나의 하드웨어를 다수의 instance가 공유

 

2. Dedicated Instance

: A의 인스턴스들만 A를 공유할 수 있음

3. Dedicated Host(=bare-metal)

: A의 instance 하나가 전용으로 사용

 

 

 

'클라우드 > AWS' 카테고리의 다른 글

Networking (1)  (0) 2024.12.22
Security(1)  (1) 2024.11.22
AWS S3(1)  (0) 2024.11.07
AWS EC2(1)  (6) 2024.10.08
클라우드컴퓨팅이란  (3) 2024.10.04