Elastic Cloud Compute (EC2) 는 사용자가 용도에 맞게 그 성능과 세팅을 조절할 수 있는 클라우드 컴퓨팅 서비스이다.
OS, CPU, RAM, Storage, Firewall, Network Card, Bootstrap Script (User Data) 까지 선택이 가능하다.
OS 는 Amazon Machine Image (AMI) 형태로 만들어진 Linux, Window, Mac 을 선택할 수 있다.
User data 라는 입력란이 있는데 Root 권한으로 첫 부팅시 실행될 Script 를 작성할 수 있다.
CPU, RAM, Network Throughput 을 6가지 기능에 특화된 세팅으로 제공한다. (링크)
- General Purpose
- Compute Optimized
- Memory Optimized
- Accelerated Computing
- Storage Optimized
- HPC Optimized
각 세팅에는 이름이 있다.
C5.16xlarge 같은 이름을 가지고 있으며
C 는 Class Name, 5 는 generation, 나머지 부분은 class 내에서의 상대적인 sizing 을 보여준다.
대여방식
어떤 세팅을 가지는 EC2 를 구매할 것인가도 중요하지만 어떤 정책으로 구매할 것인지도 중요하다.
EC2 구매 방식은 6 가지가 있다.
- On-demand
- 단순 대여, 필요한 만큼 쓰고 필요없을 때 반납할 수 있다.
- Reserved Instance
- 1년, 3년의 기간 동안 대여하는 방식. 싸다. Market Place 에서 거래가 가능하다.
- Type, Region, Tenancy (하드웨어에서 EC2 의 배치), OS, Payment Option (선결제 여부) 이 고정된다.
- Regional 혹은 Zonal 로 구매가 가능하다.
- Convertible RI
- Type 을 바꿀 수 있는 RI 이다. 조금 더 비싸다.
- Savings Plan
- 대수가 아니라 특정 기간동안 시간당 사용할 금액을 정해두고 할인을 받는 방식이다.
- EC2 를 사용하지 않아도 비용이 발생하며 초과금은 On-demand 방식으로 과금된다.
- Spot Instance
- AWS 의 여분 EC2 자원을 저렴하게 사용하는 방식이다.
- 공개 입찰 방식이라서 내가 제안한 가격보다 높은 가격을 제안하는 사람이 있다면 EC2 가 종료된다.
- Dedicated Host
- AWS 가 소유한 하드웨어 자체를 빌리는 방식이다.
- 매우 비싸다.
- 프로그램들 중 하드웨어에 제약이 있는 라이센스를 사용하는 경우 사용하게 된다.
- 하드웨어에 대한 관리 권한을 가지게 된다.
- Dedicated Instance
- 다른 계정의 Instance 와 물리적으로 격리된다.
- 자신의 계정 내의 다른 EC2 와 같은 하드웨어를 사용할 수도 있다.
- Capacity Reservation
- AWS 가 많은 수의 Instance 를 예비 자원으로 가지고 있겠지만 대중적인 class 가 아닌 경우 가용 Instance 가 없는 경우가 발생한다.
- 이러한 경우에 Instance 를 (재)실행하지 못하는 것을 막기 위해 내가 Instance 를 사용하겠다고 예약하는 것을 말한다.
- Instance 가 실행되지 않아도 예약이 되어있으니 비용은 발생한다.
보안
EC2 의 보안으로는 Security Group 이 있다.
Security Group 은 Traffic 을 제한하는 Rule 이다.
IP + Port 나 다른 SG 를 참조할 수 있으며 여러 Instance 에 적용할 수 있다.
Stateful 해서 Request 가 허용되면 해당 Request 에 대한 Response 도 허용된다.
Regional 하다.
EC2 는 기본적으로 Outbound Traffic 은 제한을 두지 않고 Inbound Traffic 은 다 막아놨다.
뭔가 요청이 Timeout 난다면 SG 문제인 경우가 많고 Refused 된다면 app 문제이다.
접속
EC2 에 접근하는 방법은 크게 4가지가 있다.
- SSH
- Terminal 에서 ssh 로 pem 키 인증을 통해 접근하는 방식
- SG 에서 22 번 포트를 열어야함.
- Putty
- windows 10 미만에서 ssh 를 사용할 수 있는 프로그램
- SG 에서 22 번 포트를 열어야함.
- Instance Connect
- AWS Console 에서 사용할 수 있는 Interface.
- SG 에서 22 번 포트를 열어야함.
- Session Manager
- SSH 를 사용하지 않아도 됨.
- AWS Console 에서 사용할 수 있는 Interface.
'AWS' 카테고리의 다른 글
RDS 와 Elasticache (0) | 2023.01.20 |
---|---|
ELB 와 ASG (작성중) (0) | 2023.01.19 |
EBS 와 EFS (0) | 2023.01.14 |
Cloud 기본과 IAM (0) | 2023.01.11 |