컴퓨팅(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의 구성요소들은 각각 고유의 운영 방식이 있다.
그중 우리는 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를 사용한다.
- 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가지 기준에 따라 가격 결정
- 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 |