반응형
AWS의 클라우드 서비스 중 EC2(Elastic Compute Cloud), EBS(Elastic Block Store), ELB(Elastic Load Balancer)에 대해 알아보고 그 연관관계를 살펴보기 

EC2 (Elastic Compute Cloud)

AWS에서 제공하는 가상 서버 서비스로, EC2 인스턴스를 통해 애플리케이션을 실행하고 데이터를 처리할 수 있음. 

서버 인스턴스를 시작하거나 종료할 수 있으며, 필요한 리소스 만큼만 비용 지불

따라서 사용자가 얼마만큼의 크기, 용량이 사용되는지 미리 알 수 없을때 (예측할 수 없는 데이터 처리 및 산술적으로 볼 수 없는 크기의 데이터가 몰려올 때) 사용하는 편리한 서비스! 

 

클라우드란? 

더보기

클라우드란 데이터를 저장하고 처리하는 서버나 애플리케이션 등을 인터넷을 통해 제공하는 기술

즉, 직접 서버나 저장소를 소유하지 않아도 인터넷을 통해 필요한 만큼 컴퓨팅 자원이나 저장소를 사용, 관리 할 수 있게 하는 서비스 

 

EC2 지불 방식

1. On-Demand

  • 시간 단위로 가격이 고정되어 사용한 시간만큼 비용 지불하는 방식
  • 개발 시작과 끝을 미리 알 수 `없는` 경우에 유용 
  • 오랜 시간동안 선불을 내지않고 `최소한의 비용`을 지불하여 EC2를 사용하고 싶을때 주로 사용 
  • 초기 개발 단계나 단기 테스트에 유용

2. Reserved

  • 한정된 EC2 용량 사용 가능
  • 크기를 특정한 사이즈에 정했으므로 늘리거나 줄이긴 불가능 
  • 개발 시작과 끝을 미리 알 수 `있는` 경우에 유용 
  • 선불로 가능하며 1~3년 시간별로 할인 혜택 가능
    • 장기 사용시 비용 절감 효과 및 추가적으로 컴퓨팅 시스템 사용 가능 (컴퓨팅 비용 대폭 감소) 
  • 개발 시 요구사항이 자주 반복되지 않고 안정적으로 흘러가며 개발 시간에 대해 예측이 가능하다면 추천 

3. Spot

  • 경매 방식으로 가장 저렴하게 인스턴스를 사용가능
    • 내가 원하는 가격에서 EC2를 사용하고 싶을때 현재 가격이 불가능하면 종료된 상태, 시간이 흘러서 가격이 변동되고 목표로 삼은 가격에 도달했을때 사용 가능,가격이 다시 벗어나면 인스턴스 종료 
  • 인스턴스 시작과 끝 지점에 구애받지 않을 경우에 유용 (예기치 않게 종료될 수 있음)
  • 예측하긴 어렵지만 `아주 저렴한 비용`으로 사용하고 싶을때 
  • On-demand와 달리 비용적인 측면에서 상당한 세이빙 효과

 

EBS(Elastic Block Store)

저장 공간이 생성되어지며 EC2 인스턴스에 부착되는 가상 하드디스크 

디스크 볼륨 위에 File System이 생성 (파일 시스템 생성 등 파일을 로컬 디스크로 옮기는 것이 가능)

특정 Availability Zone에 생성된다. 

 

Availability Zone

하나의 Region 내의 여러 데이터센터(AZ)가 있음

Disater Recovery : 하나의 서버가 장애가 발생할 때 다른 AZ로 트래픽을 자동으로 전환가능 

 

EBS 볼륨 타입

EBS에서 말하는 볼륨 타입은 EC2 인스턴스에 연결되는 저장 장치의 종류를 의미하며 각 볼륨 타입은 성능, 비용, 사용 용도에 따라 다르게 선택할 수 있음. SSD는 속도가 빠르고, HDD는 용량이 크지만 속도가 느린 편이다. 

 

IOPS, boot volume 키워드 정리 및 개념 정리

더보기

IOPS (초당 입출력 작업 수)

  • 저장 장치가 1초 동안 처리할 수 있는 입출력 작업 수
  • IOPS가 높을 수록 더 많은 데이터를 빠르게 읽고 쓸 수 있어 데이터베이스나 대용량 어플리케이션에 중요

Boot Volume (부트 볼륨) = 루트 볼륨

  • 운영체제가 설치된 디스크, EC2 인스턴스가 시작할 때 꼭 필요한 저장장치

입출력은 데이터를 읽고 쓰는 작업, 볼륨은 그 데이터를 저장하는 장치 이므로 입출력이 빈번하면 더 높은 성능의 볼륨 (ex. SSD)가 필요하고, 입출력이 드문 경우 더 낮은 성능의 볼륨(ex. HDD)를 사용한다.

하드디스크는 우리가 아는 물리적 저장 장치인데 EBS는 EC2 인스턴스에 연결할 수 있는 가상 하드디스크

EBS는 네트워크를 통해 데이터를 저장하고, EC2 인스터스는 EBS를 실제 하드디스크처럼 사용해 데이터를 읽고 쓸 수 있음 

 

<SSD군>

  • General Purpose SSD(GP2) : 최대 10K IOPS를 지원하며 1GB당 3IOPS 속도
    • 속도가 매우 빠른 편이며 SSD 중 가장 보편적으로 사용된다
  • Provisioned IOPS SSD (IO1): 극도의 I/O률을 요구하는 환경에서 자주 사용. 10K이상 IOPS 지원
    • 아주 방대한 양의 데이터 처리 (매우 큰 DB관리) 같은 환경에서 사용
    • 매우 큰 빅데이터 분석시에도 사용
    • IOPS가 무료 10K 이상 나올 수 있기 때문에 `입출력 비중이 매우 빈번하고 양이 방대할 경우` 뛰어난 효능
    • 그만큼 가격이 비싼 편

 

<Magentic/HDD군>

  • Throughput Optimized HDD (ST1): 빅데이터 Datawarehouse, Log 프로세싱시 주로 사용 
    • boot volume으로 사용 불가능
    • 빅데이터 보관, 컴퓨터 로그 파일 보관하고 읽을 때 추천
    • 윈도우처럼 운영체제를 가지고 있을 수 없음
  • CDD HDD (SC1): 파일 서버와 같이 드문 volume 접근 시 주로 사용, boot volume으로 사용 불가능
    • 입출력의 비율이 빈번치 않은 경우 사용
    • 초당 어마어마한 양의 로그 파일이 생성되는 ST1과 달리 SC1은 빈번한 입출력이 필요 없고 오랫동안 보관해도 괜찮은 데이터들 처리할 때 쓰임
  • Magentic (Sandard): 디스크 1GB당 가장 싼 비용을 자랑. boot volume으로 유일하게 사용 가능

 

ELB (Elastic Load Balancers)

  • 수많은 서버의 흐름을 균형있게 흘러보내는데 중추적인 역할
  • 하나의 서버로 traffic이 몰리는 병목현상(bottleneck) 방지
  • Traffic의 흐름을 Unhealthy instance -> healthy instance로
    • 셧다운이 생기거나 시간초과 등의 이유로 건강하지 않은 인스턴스로 보내지는 트래픽을 건강한 인스턴스로 보냄 

 

ELB 종류

  • Application Load Balance : OSI Layer 7에서 작동 (응용계층)
    • HTTP, HTTPS와 같은 traffic의 load balancing에 가장 적합
    • 고급 request 라우팅 설정을 통하여 `특정 서버`로 request를 보낼 수 있음
    • 즉, 루트를 변경 시키는 것이 가능해 ELB임의가 아닌 커스터마이징으로 라우팅이 가능 
  • Network Load Balancer: OSI Layer 4에서 작동 (transport 계층)
    • 매우 빠른 속도를 자랑하며 Production 환경에서 종종 쓰임
    • 고도의 performance가 요구되는 TCP traffic에서 적합
    • 초당 수백만개의 request를 아주 미세한 delay로 처리 가능
    • 즉, 구글 네이버처럼 큰 서버에 적합 
  • Classic Load Balancer: 현재 `Legacy`로 간주, 거의 쓰이지 않음
    • Layer7 HTTP/HTTPS 라우팅 기능 지원
    • Layer4TCP traffic 라우팅 기능 지원
    • 시험에 제일 잘 나오는 편 

 

ELB 에러

Load Balancer Error : 504 ERROR

ELB가 제공하는 에러 메시지로, 어플리케이션이나 서버가 응답을 받지 못할때 나타나는 에러

주로 웹서버 레이어 혹은 데이터베이스 레이어에서 해결 가능

 

X-Forwarded-For 헤더

1. public IP address가 DNS request를 통해 ELB에 도달

2. ELB는 이걸 Private IP address로 인식해 EC2에 전송

EC2Private IP address밖에 볼 수 없음. 출처가 어디인지 어느 곳에서 흘러온 요청인지 알지 못함. 

EC2X-Forwarded-For 헤더를 통해 기존의 public IP address를 찾을 수 있다 

 

정리

EC2: AWS에서 제공하는 가상 서버, 실제 하드웨어가 아닌 가상화된 컴퓨팅 환경을 제공해 필요한 만큼 인스턴스 생성 및 관리가 가능

EBS: EC2 인스턴스에 연결되는 저장소, EC2 인스턴스는 EBS 볼륨을 사용해 데이터를 저장하고 처리, EBS는 하나의 인스턴스에 부착될 수 있으며, 인스턴스가 필요로 하는 용량과 성능에 맞춰 다양한 EBS 타입 선택 가능

ELB: 로드 밸런싱 기능, 여러 EC2 인스턴스에 분산된 트래픽 관리, 트래픽을 분산시켜 부하를 균등하게 나누고, 특정 인스턴스에 집중되지 않도록 함. 가용성안정성을 높이는 역할 

 

정리의 정리

EC2가상 서버(컴퓨팅 리소스), EBSEC2의 저장소(디스크), ELB는 여러 EC2 인스턴스 사이에 트래픽을 분산시키는 역할

EC2와 EBS: EC2 인스턴스는 데이터를 EBS에 저장하고 사용

EC2와 ELB: 여러 EC2 인스턴스에 분산된 트래픽을 ELB가 관리하여 서버 부하를 줄이고, EC2 인스턴스의 가용성 높임 

 

참고강의

https://www.inflearn.com/course/aws-%EC%9E%85%EB%AC%B8

 

AWS(Amazon Web Service) 입문자를 위한 강의 강의 | Sungmin Kim - 인프런

Sungmin Kim | 요즈음 회사 및 다양한 프로젝트에서 종종 사용되는 AWS 서비스들의 핵심 이론을 배우며 뿐만 아니라 함께 따라하는 실습을 통하여 AWS를 온전히 내것으로 만들자!, [사진] AWS 핵심 기술

www.inflearn.com

 

반응형