Jay's Cookbook
Menu
  • Tags
  • Categories
  • Projects
Computer Science
OS
Network
Data Structure
Algorithm
Language
Code Architecture
Python
Javascript
Typescript
Java
Backend
Backend Theory
TypeORM
Node.js
NestJS
FastAPI
Frontend
HTML/CSS
React
Next.js
Data Engineering
DE Theory
MySQL
MongoDB
Elastic
Redis
Kafka
Spark
Airflow
AI
Basic
Pytorch
NLP
Computer Vision
Data Analytics
Statistics
Pandas
Matplotlib
DevOps
Git
Docker
Kubernetes
AWS
[AWS] 컴퓨팅(1) EC2
devops
AWS

[AWS] 컴퓨팅(1) EC2

Jay Kim
Jay Kim 11 Jan 2024
[AWS] Intro [AWS] 컴퓨팅(2) Lambda (준비중)

Table of Contents

  • EC2
    • EC2의 특성
    • EC2의 구성
    • EC2 종류
    • EC2 생명주기
    • EC2 인스턴스의 스토리지 옵션
  • EC2 구성요소
    • EBS
    • 보안그룹
    • Auto Scaling
      • 오토 스케일링 실습
    • Load Balancer
      • 로드 밸런서 실습

EC2

  • Elastic Compute Cloud
  • 컴퓨팅 파워를 제공하는 서비스

EC2의 특성

  • Virtual Machine 서비스
  • 다양한 OS 지원
  • Auto Scaling을 통한 탄력적 확장/축소
  • 다양한 인스턴스 타입 제공
  • 사용한만큼만 지불하는 초단위 온디맨드 가격 모델

EC2의 구성

  • 인스턴스: 클라우드에서 사용하는 가상 서버로 CPU, GPU, 메모리 등 연산을 위한 하드웨어를 담당
  • EBS: Elastic Block Storage의 줄임말로 클라우드에서 사용하는 가상 하드디스크
  • AMI: EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지
  • 보안 그룹: 가상 방화벽

EC2 종류

  • AMI
    • OS, 파일 시스템과 같은 것들을 담고 있는 이미지
    • AWS에서 기본적으로 다음과 같은 이미지를 제공하며, 직접 만들어 관리할 수도 있다

  • 인스턴스 타입
    • 아키텍처, CPU, GPU, 메모리, 용량에 따라 구분

  • 범용(T, M): 균형 있는 컴퓨팅, 메모리 및 네트워킹 리소스를 제공하며, 다양한 여러 워크로드에 사용 가능
  • 컴퓨팅 최적화(C): 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합
  • 메모리 최적화(R, X): 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공
  • 스토리지 최적화(H, I, D): 로컬 스토리지에서 매우 큰 데이터 세트에 대해 많은 순차적 읽기 및 쓰기 액세스를 요구하는 워크로드를 위해 설계
  • 가속 컴퓨팅(G, F, P): 하드웨어 액셀러레이터를 사용하여 부동 소수점 계산이나 그래픽 처리 등의 기능을 훨씬 효율적으로 수행

EC2 생명주기

  • 중지
    • 중지 중에는 인스턴스 요금 미청구
    • (단, EBS, Elastic IP 등 다른 구성요소는 청구됨)
    • 중지 후 재시작시 퍼블릭 IP 주소 변경됨
  • 종료
    • 인스턴스 영구적으로 삭제

EC2 인스턴스의 스토리지 옵션

  • https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/Storage.html

  • EBS
    • EBS(Elastic Block Store)는 인스턴스와 연결하고 분리할 수 있는 내구성이 뛰어난 블록 수준 스토리지 볼륨을 제공합니다. 여러 EBS 볼륨을 하나의 인스턴스에 연결할 수 있습니다. EBS 볼륨은 연결된 인스턴스의 수명과 독립적으로 유지됩니다. EBS 볼륨을 암호화할 수 있습니다. 데이터의 백업 사본을 유지하기 위해 EBS 볼륨에서 스냅샷을 생성할 수 있습니다. 스냅샷은 Amazon S3에 저장됩니다. 스냅샷에서 EBS 볼륨을 생성할 수 있습니다.
  • 인스턴스 스토어
    • 인스턴스 스토어는 인스턴스에 블록 수준의 임시 스토리지를 제공합니다. 인스턴스 스토어 볼륨의 수, 크기 및 유형은 인스턴스 유형과 인스턴스 크기에 따라 결정됩니다. 인스턴스 스토어에 저장된 데이터는 연관 인스턴스의 수명 기간 동안에0000 유지되고, 해당 인스턴스를 중단하거나 최대 절전 모드로 전환하거나 종료하면 인스턴스 스토어 볼륨의 데이터가 손실됩니다.
  • EFS
    • EFS는 Amazon EC2에서 사용할 수 있는 확장 가능한 파일 스토리지를 제공합니다. EFS 파일 시스템을 만든 후 파일 시스템을 마운트하도록 인스턴스를 구성할 수 있습니다. 하나의 EFS 파일 시스템을 여러 인스턴스에서 실행하는 워크로드 및 애플리케이션에 대한 공통 데이터 소스로 사용할 수 있습니다.
  • S3
    • Amazon S3를 활용하면 저렴하지만 신뢰성이 있는 데이터 스토리지 인프라에 액세스할 수 있습니다. S3은 언제든지 Amazon EC2 내 또는 웹의 어디서나 원하는 데이터의 양을 저장하고 가져올 수 있게 해주어 웹 규모의 컴퓨팅 작업을 쉽게수행할 수 있도록 설계되었습니다. 예를 들어 Amazon S3를 사용하여 데이터 및 애플리케이션의 백업 복사본을 저장할 수 있습니다. Amazon EC2는 Amazon S3를 사용하여 EBS 스냅샷과 인스턴스 스토어 지원 AMI를 저장합니다.

EC2 구성요소

EBS

  • EC2 인스턴스에서 사용할 영구 블록 스토리지 볼륨
  • EC2 인스턴스와 네트워크로 연결되어 있어 생명주기를 같이 할 수도 있고, 따로 분리할 수도 있음
  • EC2 인스턴스 하나에 여러개의 EBS를 추가로 구성할 수 있음
  • EC2 인스턴스와 같은 가용영역에 존재해야함
  • SSD, HDD 등 다양한 타입 제공
  • 증분 형태로 스냅샷을 찍어서 S3에 저장할 수 있음

보안그룹

Auto Scaling

  • EC2 인스턴스의 숫자를 상황에 따라 탄력적으로 변경 가능하도록 도와준다
  • CPU 부하, 실행중인 인스턴스의 개수와 같이 특정 조건에 따라 여러 가용 영역에 걸쳐 인스턴스 숫자를 조절한다
  • 실행되어야 하는 인스턴스의 최소, 최대 개수를 설정할 수 있다
  • 애플리케이션이 항상 현재 트래픽 수요를 처리할 수 있는 적절한 용량을 보유하도록 보장한다

오토 스케일링 실습

  • AMI, EC2 타입, 보안그룹 등이 정의된 시작 템플릿을 만든다

  • 1개 이상의 가용 영역과 인스턴스의 최소, 최대 개수를 설정한다

Load Balancer

  • 트래픽을 지정한 인스턴스 그룹내에서 적절히 분산한다
  • 오토 스케일링과 같은 방식으로 여러 개의 EC2 인스턴스를 실행중인 경우를 생각해보자

  • 로드 밸런서가 없다면
    • 모든 EC2 인스턴스의 IP 주소를 알고 있어야 한다
    • 새로운 인스턴스가 추가, 삭제 될 때마다 해당 인스턴스의 IP 주소를 관리해줘야 한다
  • 로드 밸런서를 생성하면
    • 모든 인스턴스의 IP 주소를 알 필요없이, 로드 밸런서의 도메인 네임에 트래픽을 전송하면 된다
    • (로드밸런서의 IP 주소는 고정되지 않음)
    • 로드 밸런서가 EC2 인스턴스의 IP 주소를 알아서 관리한다
    • 특정 인스턴스에만 트래픽이 과부하되지 않고, 여러 인스턴스에 골고루 트래픽이 전달되도록 해준다
  • EC2의 추가/삭제를 자동으로 감지해 트래픽을 실행중인 인스턴스에만 전달한다

로드 밸런서 실습

  • 먼저 대상그룹을 통해 로드 밸런싱할 EC2 인스턴스 그룹을 만든다

  • 로드 밸런서 유형을 선택한다

  • 대상그룹을 지정해 로드 밸런서를 만든다

[AWS] Intro [AWS] 컴퓨팅(2) Lambda (준비중)

You may also like

See all AWS
06 Feb 2024 [AWS] 컨테이너(1) ECS
devops
AWS

[AWS] 컨테이너(1) ECS

22 Jan 2024 [AWS] 보안(1) IAM
devops
AWS

[AWS] 보안(1) IAM

19 Jan 2024 [AWS] 데이터베이스(1) RDS (준비중)
devops
AWS

[AWS] 데이터베이스(1) RDS (준비중)

Jay Kim

Jay Kim

Web development, data engineering for human for the Earth. I share posts, free resources and inspiration.

Rest
Lifestyle
Hobby
Hobby
Hobby
Hobby
2025 © Jay's Cookbook. Crafted & Designed by Artem Sheludko.