Amazon EC2

GonnabeAlright·2022년 6월 16일
0
post-thumbnail

EC2 Instance Types

범용

먼저 범용의 인스턴스는 웹 서버나 코드 저장소와 같은 다양한 작업에 적합합니다. 컴퓨팅, 메모리, 네트워킹 간의 균형도 잘 맞습니다.

컴퓨팅 최적화

컴퓨팅 최적화 인스턴스는 컴퓨터 집약적인 작업에 최적화된 인스턴스입니다. 일부 데이터의 일괄 처리에 사용하거나 미디어 트랜스 코딩 작업 시 혹은 고성능 웹 서버가 필요하거나 고성능 컴퓨팅이라는 HPC 작업을 할 때 또는 머신 러닝이나 전용 게임 서버가 있을 때 사용합니다. 컴퓨터 최적화의 모든 인스턴스는 C로 시작하는 이름을 가지고 있습니다.

메모리 최적화

메모리 최적화의 인스턴스를 살펴보겠습니다. 이 유형의 인스턴스는 메모리에서 대규모 데이터셋을 처리하는 유형의 작업에 빠른 성능을 제공합니다. 메모리는 RAM을 뜻하고 사용 사례를 살펴보면 대부분 인 메모리 데이터베이스가 되는 고성능의 관계형 또는 비관계형의 데이터베이스에 사용하고 일래스틱 캐시를 예로 들 수 있는 분산 웹스케일 캐시 저장소에도 사용합니다. 또 비즈니스 인텔리전스 즉, BI에 최적화된 인 메모리 데이터베이스와 대규모 비정형 데이터의 실시간 처리를 실행하는 애플리케이션에도 사용합니다. 메모리 최적화 인스턴스의 이름을 살펴보면 RAM을 나타내는 R로 시작합니다. 하지만 X1이나 대용량 메모리 Z1도 있습니다.

스토리지 최적화

스토리지 최적화 인스턴스는 로컬 스토리지에서 대규모의 데이터셋에 액세스할 때 적합한 인스턴스입니다. 스토리지 최적화 인스턴스의 사용 사례로는 고주파 온라인 트랜잭션 처리인 OLTP 시스템에 사용되며 관계형과 비관계형인 NoSQL 데이터베이스에 사용합니다. 예를 들어 레디스(Redis)같은 메모리 데이터베이스의 캐시나 데이터 웨어하우징 애플리케이션과 분산 파일 시스템에 사용됩니다. AWS의 스토리지 최적화 인스턴스는 이름이 I, G 또는 H1으로 시작합니다.

AWS 스팟 인스턴스

스팟 인스턴스를 사용하면 온디맨드와 비교해 최대 90%까지 할인을 받을 수 있습니다. 비용이 크게 절감됩니다. 어떤 스팟 인스턴스에 대해 지불할 의향이 있는 스팟 최고가를 정의한 후에 인스턴스의 비용이 지불 의향 있는 최고가보다 낮은 한 해당 인스턴스를 계속해서 사용하게 되는 겁니다. 시간당 스팟 비용은 오퍼 및 용량에 따라 다양하고 올라갈 수도 있고 내려갈 수도 있습니다. 그리고 만약 현재 스팟 가격이 정의된 최고 가격보다 높아지는 경우에는 두 가지의 옵션이 있습니다. 그리고 이러한 옵션들에는 2분의 유예 시간이 있습니다. 이런 유예 시간을 통해 약간의 시간을 벌 수 있습니다.

AWS 스팟 인스턴스 옵션1

옵션들 중 하나는 인스턴스를 중단하는 것으로 하고 있던 모든 작업을 멈추고 인스턴스를 중단한 뒤 언젠가 스팟 가격이 여러분이 정한 최고가보다 낮아지는 때에 인스턴스를 재시작해 중단했던 부분부터 계속 이어서 작업을 하는 것입니다.

AWS 스팟 인스턴스 옵션2

혹은 그 EC2 인스턴스를 중단 상태로 둘 필요가 없는 경우에는 인스턴스를 완전히 종료해 끝낼 수도 있습니다. 이 말인즉슨 업무를 재시작할 때마다 완전히 새로운 EC2 인스턴스로 시작을 할 수 있게 된다는 의미입니다.

AWS 스팟 블록

AWS 스팟 블록은 AWS에게 스팟 인스턴스를 회수당할 일이 없게 하기 위한 전략입니다. 스팟 블록이란 특정 기간 동안 인스턴스를 차단하는 기능입니다. 기간은 1시간에서 6시간 사이가 될 수 있습니다. 그리고 아무 방해 없이 차단이 가능합니다.
(🔥2021년 7월 1일부터 신규 사용자는 스팟 블록을 사용할 수 없으며 2022년 12월 31일자로 서비스가 종료됩니다. )

스팟 요청

스팟 요청에는 원하는 인스턴스의 개수, 지불 의사가 있는 인스턴스 최고 가격, AMI등 요구되는 사양 그리고 요청의 유효 기간이 있습니다. 유효 기간은 무기한으로 할 수도 있습니다. 그리고 요청의 유형이 포함됩니다. 요청에는 두 가지 유형이 있습니다. 스팟 인스턴스를 위한 일회성 요청이 있고 사후 인스턴스를 위한 지속적인 요청이 있습니다.

일회성 요청

일회성 요청의 경우에는 스팟 요청이 이행되는 즉시 인스턴스가 시작되게 됩니다. 그리고 이는 일회성 요청이었으니 스팟 요청은 사라지게 됩니다. 즉 스팟 요청이 사라져도 괜찮은 경우에 사용하는 유형이 되겠습니다.

지속적인 요청

지속적인 요청의 경우에는 스팟 요청의 Valid from부터 Valid until까지의 유효 기간 동안 여러분이 요청한 개수의 인스턴스들이 계속 유효하게 되는 겁니다. 즉 어떤 이유로 인스턴스가 중단되거나 스팟 가격 상승을 이유로 방해를 받은 경우에는 스팟 요청이 다시 전달되어 요청이 검증되고 나면 스팟 인스턴스가 재시작됩니다. 따라서 지속적 요청 모드에는 스팟 인스턴스가 중단되어도 스팟 요청이 여전히 활성화되어 있기 때문에 스팟 요청이 자동적으로 인스턴스를 재시작해 주는 겁니다.

스팟 요청 취소

스팟 요청이 취소되기 위해서는 open 상태, active 상태 혹은 disabled 상태여야 합니다. 즉, failedcancelled 혹은 closed가 아니어야 한다는 겁니다. 스팟 요청을 취소하려는 경우 기존에 실행했던 인스턴스는 종료가 되지 않습니다. 즉 기존에 실행했던 인스턴스를 종료하는 것은 AWS의 책무가 아니라 사용자의 책무인 것입니다. 그러므로 스팟 인스턴스를 영구히 종료하고 재실행되는 일이 없도록 하기 위해서는 먼저 스팟 요청부터 취소한 뒤 해당 요청과 연결된 스팟 인스턴스를 종료해야 합니다. 왜냐하면 스팟 인스턴스를 먼저 종료하게 되면 스팟 요청이 다시 작동을 해서 다시 스팟 인스턴스를 생성하게 됩니다. 따라서 스팟 인스턴스를 종료하기 위한 올바른 순서는 제일 먼저 스팟 요청을 취소해 AWS가 더 이상 새로운 인스턴스를 실행하지 않게끔 한 뒤에 연결된 스팟 인스턴스를 종료하는 겁니다.

스팟 인스턴스 영구 종료

스팟 요청 취소 ➡️ 해당 스팟 요청과 연결된 스팟 인스턴스 종료

스팟 플릿

스팟 플릿은 극강의 비용 절감을 위한 방법입니다. 스팟 플릿이란 한 세트의 스팟 인스턴스에다가 선택적으로 온디맨드 인스턴스를 조합해 사용하는 방식입니다. 그래서 집합이라는 뜻의 플릿(Fleet)이라는 이름이 붙은 겁니다. 그리고 스팟 플릿은 정의된 비용 제한 내에서 대상 용량을 맞추려 노력할 것입니다. 또한 사용 가능한 런치풀(Launch Pool)을 통해서 실행이 됩니다. 또한 다양한 인스턴스 유형, 다양한 OS 그리고 다양한 가용 영역을 가질 수 있습니다. 여러 개의 런치 풀과 여러 개의 인스턴스 크기 등 여러 가지의 모든 것들을 정의하게 됩니다. 그러고 나면 플릿이 가장 적합하고 좋은 런치풀을 선택해주는 것입니다. 그리고 스팟 플릿이 정해진 예산 혹은 원하는 용량에 달한 경우에는 인스턴스 실행을 멈출 겁니다. 그리고 스팟 플릿 내에 스팟 인스턴스를 할당해 줄 전략을 정의하게 됩니다.

스팟 플릿 비용 전략

lowestPrice

첫 번째 전략은 lowestPrice입니다. 시험에 가장 자주 출제되는 전략입니다. 이 전략을 사용하면 스팟 플릿이 가장 적은 비용을 가진 풀에서부터 인스턴스를 실행해 줍니다. 이런 식으로 비용 최적화가 가능하며 아주 짧은 워크로드가 있을 때 적합한 옵션입니다.

diversified

그리고 스팟 인스턴스를 실행하기 위해 diversified 옵션을 사용할 수도 있습니다. 이 경우 스팟 인스턴스는 여러분이 기존에 정의한 모든 풀에 걸쳐 분산이 됩니다. 긴 워크로드에 적합하고 가용성이 뛰어난 옵션입니다. 왜냐하면 한 풀이 중단되더라도 다른 풀이 활성화되기 때문입니다.

capacityOptimized

그리고 마지막 옵션은 capacityOptimized입니다. 인스턴스의 개수에 따라서 최적 용량으로 실행이 되고 적절한 풀을 찾아 주는 옵션입니다.

EC2 Dedicated Instance vs Dedicated Host

Dedicated Instance (호텔)

"전용 인스턴스는 단일 고객 전용 하드웨어의 VPC에서 실행되는 Amazon EC2 인스턴스입니다. 전용 인스턴스는 호스트 하드웨어 수준에서 다른 AWS 계정에 속하는 인스턴스로부터 물리적으로 격리됩니다."

  • 물리적으로 인스턴스 단위로 격리된 서버에서 EC2를 실행
  • 한 계정에서 전용 호스트를 잠시 빌려서 사용
  • 호텔처럼 쓰는 동안에만 내 꺼 -> 체크아웃 하면 다른 방에서 묵어야 할 수도 있음
  • 인스턴스 재부팅 시 다른 전용 호스트에서 인스턴스가 동작할 가능성 존재
  • 내 계정의 전용 인스턴스가 아닌 인스턴스도 섞여 들어갈 수 있음
  • 인스턴스 배치 컨트롤 불가능
  • 인스턴스 단위 빌링
  • 전용 요금의 숫자와 관계 없이 단 하나라도 사용시 부과: 시간당 $2
  • 시간당 인스턴스 사용료: 약 10% 더 비싼 요금
  • 내 라이선스를 직접 활용 불가능 (Bring Your Own License 불가능)

Dedicated Host (전세)

"Amazon EC2 전용 호스트를 사용하면 Amazon EC2에서 Microsoft 및 Oracle 같은 공급업체의 적격 소프트웨어 라이선스를 사용할 수 있으므로 고객이 자사의 보유 라이선스를 활용하는 유연성과 비용 효율성을 보장받으면서 AWS의 복원력, 간편성 및 탄력성을 활용할 수 있습니다. Amazon EC2 전용 호스트는 고객에게 전용으로 제공되는 물리적 서버로 회사 규정 준수 요건을 해결하는 데 유용합니다."

  • 물리적으로 호스트 단위로 격리된 서버에서 EC2를 실행
  • 전용 호스트(서버)를 전세 내서 빌려 쓰는 개념
  • 전세집
  • 인스턴스 재부팅 시 확보한 호스트에서 다시 동작
  • 인스턴스 배치 컨트롤 가능
  • 호스트 단위 빌링
  • 패밀리 선택 후, 호스트당으로 요금 지불
  • 하나의 호스트안에 인스턴스 숫자와 관계 없이 요금 지불
  • 내 라이선스를 직접 활용 가능 (Bring Your Own License 가능)
  • AWS License Manager
내용Dedicated InstanceDedicated Host
목적규정 준수/퍼포먼스/보안라이선스 이슈/인스턴스간의 레이턴시
방식매번 호스트를 빌려서 사용지정된 호스트를 따로 확보해 사용
요금리전당 기본 요금 + 인스턴스 개수 당호스트 당
BYOL불가능가능
배치 컨트롤불가능가능
  1. 다음 중 할인 폭이 가장 크나 데이터베이스 혹은 중요 업무에는 적합하지 않은 EC2 구매 옵션은 무엇인가요 ?
  • A. 전환 가능 예약 인스턴스
  • B. 전용 호스트
  • C. 스팟 인스턴스

✅ 스팟 인스턴스는 단기적인 워크로드에 적합하여 가장 저렴한 EC2 구매 옵션입니다. 하지만 EC2 인스턴스를 손실할 우려가 있기 때문에 신뢰도가 떨어집니다.

  1. EC2 인스턴스 내/외의 트래픽을 제어하기 위해서는 무엇을 사용해야 하나요 ?
  • A. 네트워크 액세스 제어 리스트(NACL)
  • B. 보안 그룹
  • C. IAM 정책

✅ 보안 그룹은 EC2 인스턴스 레벨에서 운용되며, 트래픽을 제어할 수 있습니다.

  1. EC2 예약 인스턴스를 예약할 수 있는 기간은 얼마인가요 ?
  • A. 1년 혹은 3년
  • B. 2년 혹은 4년
  • C. 6개월 혹은 1년
  • D. 1년에서 3년 사이의 기간

✅ EC2 예약 인스턴스는 1년 혹은 3년의 기간으로만 예약이 가능합니다.

  1. EC2 인스턴스에 고성능 컴퓨팅(HPC) 애플리케이션을 배포하려 합니다. 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요 ?
  • A. 스토리지 최적화
  • B. 컴퓨팅 최적화
  • C. 메모리 최적화
  • D. 범용

✅ 메모리 최적화 EC2 인스턴스는 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합하며 컴퓨팅 최적화 EC2 인스턴스는 고성능 프로세서(예: 배치 처리, 미디어 트랜스코딩, 고성능 컴퓨팅, 과학적 모델링 및 머신 러닝, 전용 게이밍 서버 등)가 필요한 집중 컴퓨팅 워크로드에 적합합니다.

  1. 1년 간 지속적으로 서버를 운영할 계획인 애플리케이션의 경우에는 다음 중 어떤 EC2 구매 옵션을 사용해야 할까요 ?
  • A. 예약 인스턴스
  • B. 스팟 인스턴스
  • C. 온디맨드 인스턴스

✅ 예약 인스턴스는 장기적인 워크로드에 적합합니다. EC2 인스턴스는 1년 혹은 3년의 기간으로 예약할 수 있습니다.

  1. 일련의 EC2 인스턴스에 호스팅 될 애플리케이션을 실행하려 합니다. 이 애플리케이션에는 소프트웨어 설치가 필요하며, 최초 실행 중에 일부 OS 패키지를 업데이트해야 합니다. EC2 인스턴스를 실행하려는 경우, 이를 위한 최적의 방식은 무엇일까요 ?
  • A. SSH를 통해 각 EC2 인스턴스에 연결한 후, 필수 소프트웨어를 설치하고 OS 패키지를 수동으로 업데이트하기
  • B. 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, AWS 지원 센터에 연락해 스크립트 제공하고 이 스크립트를 EC2 인스터스 실행시 인스턴스에서 실행
  • C. 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, 이 스크립트를 EC2 인스턴스 실행 시에 EC2 사용자 데이터에서 사용하기
  1. 인메모리 데이터베이스를 사용하는 중요 애플리케이션을 위해서는 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요 ?
  • A. 컴퓨팅 최적화
  • B. 스토리지 최적화
  • C. 메모리 최적화
  • D. 범용

✅ 메모리 최적화 EC2 인스턴스는 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합합니다.

  1. 온프레미스에 호스팅된 OLTP 데이터베이스를 갖춘 전자 상거래 애플리케이션이 있습니다. 이 애플리케이션은 인기가 좋아 데이터베이스가 초당 수천개의 요청을 지니게 됩니다. 여러분은 데이터베이스를 EC2 인스턴스로 이전하려 합니다. 이렇게 높은 빈도를 보이는 OLTP 데이터베이스를 처리하기 위해서는 어떤 EC2 인스턴스 유형을 선택해야 할까요 ?
  • A. 컴퓨팅 최적화
  • B. 스토리지 최적화
  • C. 메모리 최적화
  • D. 범용

✅ 스토리지 최적화 EC2 인스턴스는 로컬 스토리지의 대규모 데이터 세트에 대해 높은 수준의 그리고 순차적인 읽기/쓰기 액세스 권한이 필요한 워크로드에 적합합니다.

  1. 보안 그룹은 오직 하나의 EC2 인스턴스에만 연결될 수 있습니다.
  • A. 아닙니다.
  • B. 맞습니다.

✅ 보안 그룹은 동일한 리전/VPC 내에 있는 다수의 EC2 인스턴스에 연결될 수 있습니다.

  1. 온프레미스 애플리케이션을 AWS로 이전하려 합니다. 여러분의 기업에는 애플리케이션을 전용 서버에서 실행해야 한다는 엄격한 규정이 있습니다. 또한 비용 절감을 위해 전용 서버 바운드 소프트웨어 라이선스를 사용해야 합니다. 이 경우, 다음 중 어떤 EC2 구매 옵션이 적합할까요 ?
  • A. 전환 가능 예약 인스턴스
  • B. 컨버터블 예약 인스턴스
  • C. 전용 호스트
  • D. 스팟 인스턴스

✅ 전용 호스트는 높은 수준의 규정 준수가 필요한 기업 혹은 복잡한 라이선스 모델을 가진 소프트웨어에 적합합니다. 이는 가장 비싼 EC2 구매 옵션입니다.

  1. 데이터베이스 기술을 EC2 인스턴스에 배포하려 합니다. 공급 업체 라이선스는 물리적 코어 및 기반 네트워크 소켓 가시성을 기반으로 비용을 책정합니다. 이 경우, 어떤 EC2 구매 옵션을 사용해야 가시성을 확보할 수 있을까요 ?
  • A. 스팟 인스턴스
  • B. 온디맨드 인스턴스
  • C. 전용 호스트
  • D. 예약 인스턴스

0개의 댓글