CS/네트워크

EC2란?

고래강이 2024. 3. 10. 13:47
1. EC2란 무엇인가?
3. 마무리

 

✅ EC2란 무엇인가?


Amazon Elastic Computed Cloud의 준말로 AWS 클라우드에서 온디맨드 확장 가능 컴퓨팅 용량을 제공하여 하드웨어 비용 절감 및 빠른 애플리케이션 배포를 목적으로 사용하는 클라우딩 컴퓨팅 서비스
  • 사용한만큼 비용을 지불하기에 Elastic(탄력적)이라는 용어가 붙었으며, 비용뿐만아니라 성능, 용량 또한 자유롭게 조절할 수 있다.
  • 우리는 물리적으로 서버를 구축하여 사용하는 것보다 더욱 빠르고 간편하고 적은 비용을 들이고 효율적으로 서버를 구축하기 위해 클라우딩 컴퓨팅 서비스를 이용할 수 있다. 

📌 온디맨드 확장 가능하다?

더보기

사용자가 필요할 때마다 실시간으로 컴퓨팅 리소스를 추가하거나 줄일 수 있다는 의미로 이러한 유연성을 통해 트래픽이 증가하는 기간에는 더 많은 리소스를 쉽게 할당받아 서비스 중단 없이 요구사항을 충족시키고, 트래픽이 감소하면 리소스를 줄여 비용을 절감할 수 있다

 

📦 AMI (애플리케이션 및 OS 이미지) 

인스턴스를 시작하는 데 필요한 소프트웨어 구성(운영체제, 애플리케이션 서버 및 애플리케이션)이 포함된 템플릿으로 AMI를 선택하는 것은 운영체제를 선택한다고 보면 된다.
  • 단일 AMI에서 여러 인스턴스를 시작할 수 있다.
  • AWS에는 많은 양의 AMI 세팅이 준비되어있기 쉽게 운영체제를 구성할 수 있으며 필요에 따라 직접 구성할 수도 있다.

AWS AMI

 

📦 EC2 인스턴스

용도와 목적에 따라서 최적화된 다양한 인스턴스를 제공하는 EC2 서비스는 사용 목적에 따라서 타입별로 인스턴스의 이름을 구분하며, 범용타입인 t타입과, m타입은 프리티어에서 가장 흔히 쓰이는 타입이다. (인스턴스: 가상 서버 또는 가상 컴퓨터를 의미)

  • 범용: vCPU, 메모리, 네트워크, 저장공간 등이 평균적인 사양으로 제공된다.
  • 컴퓨팅 최적화: 다른 인스턴스 패밀리에 비해 메모리 대비 vCPU 비율이 높다.
  • 메모리 최적화: 메모리 용량이 매우 크다.
  • 스토리지 최적화: 스토리지 용량이 매우 크거나 초고속 I/O가 제공된다.
  • GPU 인스턴스: 고성는 NVIDIA GPU가 장착되어 CPUDA, OpenCL등을 실행할 때 사용된다.
  • 마이크로 인스턴스: 가격이 가장 싼 인스턴스, 낮은 vCPU 성능과 적은 메모리가 제공된다. (프리티어에서 무료로 사용 가능)

📌 vCPU

더보기

EC2는 가상 서버이므로 EC2 서버는 가상화 소프트웨어를 통해 실행된다. 이런 가상화 소프트웨어를 통해 제공되는 CPU를 vCPU라고 한다.

인스턴스 선택

인스턴스를 선택하다보면 t.2.micro와 같이 타입이 설정되어 있는 것을 알 수 있다. 이것이 의미하는 바는 아래와 같다

인스턴스 타입 읽기

이러한 인스턴스에 대해서 조언 받기를 사용하여 자신이 배포할 프로젝트의 특성이 어떤 것인지에 따라 AWS에서 인스턴스를 추천해주니 이것도 참고를 해서 사용하자.

 

 

📦 EBS (Elastic Block Store)

EC2 인스턴스에 장착하여 사용할 수 있는 가상 저장장치로 인스턴스가 연산에 관한 처리(CPU, 메모리 등)를 한다고 하면, 데이터를 저장하는 역할을 하는 것이 EBS이다. 
  • 볼륨: EBS의 가장 기본적인 형태로 OS에서 바로 사용이 가능한 형태이다.
  • 이미지: AMI를 줄여 부르는 말로 OS가 설치된 형태이며 AMI를 통해 EC2 인스턴스를 생성한다.
  • 스냅샷: EBS 볼륨의 백업 파일 성격을 가진 파일로 EBS 볼륨의 전체 내용 중 특정 시점을 그대로 복사해 저장하고 있다.
  • IOPS: 저장 장치의 성능 측정 단위
  • 크기와 성능을 원하는 수치로 설정할 수 있어 유연하게 사용이 가능하며 사용자가 삭제하기 전까지 안전하게 데이터가 유지된다.
  • EC2 인스턴스를 생성할 때 기본적으로 OS가 설치된 EBS 볼륨을 함께 생성한다.

 

사용하는 경우

  • EC2 인스턴스에서 제공하는 기본 용량보다 더 사용해야하는 경우
  • 운영체제를 중단시키지 않고 용량을 자유롭게 늘리고 싶은 경우
  • 영구적인 데이터 보관이 필요한 경우
  • RAID 등의 고급 기능이 필요한 경우

 

📌 블록 스토리지 (Block Store)

더보기

데이터 저장소의 한 형태로, 고정 크기의 블록 단위로 데이터를 나누어 저장하는 방식이다. 블록은 각각 고유의 주소를 가지고 있어 데이터를 저장하거나 검색할 때 시토리지 시스템이 이 주소를 사용하여 접근한다.

 

 

 

 

✅ 마무리


📦 아키텍처를 통해 보는 EC2

AWS EC2 아키텍처

 

EC2를 생성하고 동작하는 데 있어서 먼저 설정해야할 요소는 AMI이다. AMI를 운영체제를 골라 이를 통해 목적과 용도에 맞는 인스턴스를 생성하게 되고 기본적인 EBS를 통해 저장공간을 확보하여 연산 및 처리(CPU)를 하는 역할은 인스턴스, 데이터를 저장하는 역할(보조기억장치)은 EBS가 맡아서 사용자가 정의한 가상네트워크(VPC)가 구성되게 된다. 이러한 VPC는 AWS 클라우드 내에 격리된 부분으로 사용자가 AWS 리소스를 할당하게 할 수 있으며 인터넷 게이트웨이를 통해서 외부 인터넷과 연결된다. 또한 지리적 위치에 따라서 Region이 설정되며 여러개의 가용 영역 중 하나의 Availzblility Zone에 VPC가 존재하게 된다. 이러한 사용자 네트워크는 키 페어 방식을 통해서 접근을 할 수 있는데 EC2 생성 시 인스턴스에 저장되는 Public key와 인스턴스 생성할 때만 다운로드 할 수 있고 사용자의 로컬 컴퓨터(AWS에서 별도로 저장하지 않음)에 보관해야 하는 Private key 두 key의 비교 인증 과정을 통해 사용자(EC2 사용자)는 인스턴스와 안전하게 통신할 수 있다. 

 

 

 

 

 

🗂️ reference

'CS > 네트워크' 카테고리의 다른 글

JWT - 어떻게 사용해야하는가?  (1) 2024.03.06
Socket  (0) 2024.02.04
JWT  (0) 2024.02.04
HTTP2/HTTP3/웹소켓  (2) 2023.11.25
웹의 동작 원리  (0) 2023.11.12