AWSomeday_02 컴퓨팅 

 

컴퓨팅

3가지 유형의 컴퓨팅 옵션

  1. 가상머신 (EC2)
  2. 서버리스(Lambda)
  3. 컨테이너서비스 (ECS)

 

 

1. EC2 (가상머신)

EC2는 web서버 , app서버 ,DB서버 등 원하는 대로 사용 가능하다

AMI (Amazon Machin Image) 라는 이미지 기반으로 구성 가능

AMI : Starage Volumn , 시작 권한, 블록 디바이스 매핑 등의 정보가 있다

ex) 워드만 필요할 경우 AWS Marketplace에서 워드프로세스가 설치되어있는 이미지만 구매하면된다

 

400가지가 넘는 Instance 패밀리의 이름 사용사례

범용

  • 트래픽이 적고 소,중규모의 데이터베이스
  • A1, T3 T3a , T2 M6g , M5

컴퓨팅 최적화

  • 고성능 웹서버 . 동영상 인코딩
  • C5, C5n, C4, C7g

메모리 최적화

  • 고성능 데이터베이스
  • 분산형 메모리 캐시
  • R5, R5n, X1e , X1 , z1d

스토리지 최적화

  • DW용
  • 로그 또는 데이터 처리 APP
  • I3, I3en, D2, H1

액셀러레이티드 컴퓨팅

  • 3D 시각화
  • 기계학습
  • P3,P2, inf1, G4 , G3, F1

 

EC2 요금

온디맨드 인스턴스

  • 컴퓨팅 비용을 초/시간 단위로 지불 가능
  • 중단할 수 없는 불규칙한 단기 워크로드APP 에 적합

예약 인스턴스

  •  특정 기간동안 특정가격으로 인스턴스 이용하겠다는 약정

Savings Plans

  • 정해진 기간동안 시간당 일정 금액을 지출하겠다는 약정
  • 최대 유연성 제공 (온디맨드 기준으로 최대 66% 할인 혜택 받을 수 있음 )

스팟 인스턴스

  • 여분의 EC2 호스트 용량을 사용
  • 온디맨드 요금 대비 최대 90%까지 절약 가능
  • 유동적인 워크로드 APP에 적합

 

 

비관리형과 관리형 서비스

비관리형

  • 크기조정 , 내 결함성 및 가용성을 직접 관리

관리형

  • 서비스에 (크기조정 , 내 결함성 및 가용성) 기능이 내장

 

 

 

 

2. 서버리스 컴퓨팅

24시간 연중무휴 실행되는 EC2 인스턴스에 비용적으로 적합

시간당 3건정도 실제 사용량은 적지만 24시간의 비용을 지불해야하는걸 보안

사용량에 따라 조정, 유휴 상태에 대한 지불없음

웹, 백, iot,배치 ,ML ,MapReduce, Alexa 등등 다양한 서비스에서 서버리스 컴퓨팅을 사용할 수 있다

Lambda

: 서버리스 처럼 다양한 서비스에서 사용가능하고 최소한의 운영비용으로 실행할 수 있는 Instance 가 있다

개발자와 클라우드 아키텍트 한테 인기가 많다

Java, JS, GO , C#, python등 다양한 런타임 지원

코드를 Lamda로 보내면 코드는 컨테이너에 배포된다

컨테이너는 AWS 에서 만들고 관리한다(즉 사용자가 컨테이너 배포및 관리에 신경쓸 필요가 없고 컨테이너 관련 인프라 리소스에 엑세스 불가/ 컨테이너는 단순히 코드의 위치라고함 )

ex) user가 사진을 stoarge 에 업로드 S3에 업로드 -> S3: Lambda를 트리거 -> Lambda: 다른 서비스 사용해서 이미지 인식 수행후 텍스트파일로 -> S3버킷에 전달

-> 활성 서버가 실행되지 않는 "event dricen architecture" 라고 불러진다

 

 

구축방법

  1. Lambda 대시보드에서 Lambda함수 만든다
  • 환경 설정 (런타임설정(python), 아키텍처 설정(x86, arm64) , 권한설정(role - s3 READ/WRITE할수 있는))
  1. 생성된 Lambda함수 코드 편집
  • s3 속성에서 이미지 업로드시 lambda함수 호출하는 트리거(코드) 설정
  • .jpg 가 들어오면 , 해당 lambda 함수 실행하는 이벤트 등록

 

사용

  • s3 버킷에 이미지 업로드 -> s3 버킷에 텍스트 파일도 생성됨

 

 

 

3. ECS( Elasric Container Service )

컴퓨팅 옵션중 Container 서비스

다중 container 관리를 위한 서비스

Container : vm 보다 빠르게 기동 중지 가능, 모든 OS에서 사용가능하며 독립성이 있다

 

 

 

 

정리

  1. EC2(vm) :  vm, 총량 과금
  2. 서버리스 : 
    • 코드를 직접 작성하면 AWS 가 기본 컴퓨팅을 관리한다
    • LAMBDA : 온디맨드 방식으로 요청별로 과금되는 코드 실행
  3. ECS : 
    • 컨테이너 배포 오케스트레이션