EBS 대 인스턴스 스토어의 이점 (및 그 반대) [폐쇄]


381

Amazon EC2의 인스턴스에 대해 EBS와 인스턴스 스토어의 이점이 무엇인지 확실하지 않습니다. 어쨌든 EBS가 상대적으로 적은 비용 차이로 더 유용합니다 (중지, 시작, 지속 + 더 나은 속도) ...? 또한 아직 비교적 새로운 사람들을 고려할 때 더 많은 사람들이 EBS를 사용할 수 있는지에 대한 기준이 있습니까?



"micro"는 EBS 지원 인스턴스를 사용하는 경우에만 사용할 수 있습니다.
Ali

1
인스턴스 스토어 볼륨은 훨씬 빠르며 네트워크 기반 스토리지는 아닙니다!
Matt

필자는 개인적으로 인스턴스 저장소를 사용하여 MongoDB 컬렉션을 덤프하고 실행하여 S3에 두 가지 이유로 넣습니다. 먼저 분리되어 10 볼륨 EBS RAID의 쓰기 속도를 줄이지 않습니다. 두 번째는 EBS보다 빠르며 인스턴스와 함께 제공되므로 추가 EBS 볼륨을 만들어 덤핑을 수행하고 S3에 넣은 후 폐기 할 필요가 없습니다. 그것이 도움이되고 건설적이지 않기를 바랍니다.
Maziyar

2
AWS User Guide (700 페이지)를 반쯤 마쳤습니다. EBS 및 인스턴스 스토리지에 대해주의 깊게 읽으십시오. 나는 왜 그런 차이가 있는지 이해할 수 없습니다. 그리고 인스턴스 스토어가 S3과 동일하지만 이름이 다른 이유에 대해서는 더욱 당황합니다. 유용한 답변에 더 많은 기여를하려면 질문을 다시 열어야합니다.
중합 효소

답변:


293

결론은 거의 항상 EBS 지원 인스턴스를 사용해야한다는 것입니다.

이유는 다음과 같습니다

  • EBS 지원 인스턴스는 API를 통해 (실수로) 종료 할 수 없도록 설정할 수 있습니다.
  • EBS 기반 인스턴스는 사용하지 않을 때 중지하고 가상 PC 일시 중지와 같이 다시 필요할 때 다시 시작할 수 있습니다. 적어도 사용량 패턴으로 인해 수십 GB의 EBS 스토리지에 소비하는 것보다 훨씬 많은 비용이 절약됩니다.
  • EBS 지원 인스턴스는 충돌시 인스턴스 스토리지를 잃지 않습니다 (모든 사용자의 요구 사항은 아니지만 복구 속도가 훨씬 빠름)
  • EBS 인스턴스 스토리지의 크기를 동적으로 조정할 수 있습니다.
  • EBS 인스턴스 스토리지를 새로운 인스턴스로 이전 할 수 있습니다 (실행중인 Amazon의 하드웨어가 비정상적이거나 때때로 중단되는 경우에 유용함)
  • S3에서 이미지를 가져올 필요가 없으므로 EBS 지원 인스턴스를 시작하는 것이 더 빠릅니다.
  • EBS 지원 인스턴스가 유지 관리를 위해 예약 된 하드웨어 인 경우 인스턴스를 중지하고 시작하면 자동으로 새 하드웨어로 마이그레이션됩니다. 또한 인스턴스를 강제로 중지했다가 다시 시작하여 장애가 발생한 하드웨어에서 EBS 지원 인스턴스를 이동할 수있었습니다 (마일리지는 장애가있는 하드웨어에 따라 다를 수 있음).

저는 Amazon을 많이 사용하고 있으며 기술이 베타 버전에서 나 오자마자 모든 인스턴스를 EBS 지원 스토리지로 전환했습니다. 나는 그 결과에 매우 만족했다.

EBS는 여전히 실패 할 수 있습니다-은 총알이 아닙니다

클라우드 기반 인프라는 언제든지 장애가 발생할 수 있습니다. 이에 따라 인프라를 계획하십시오. EBS 지원 인스턴스는 임시 스토리지 인스턴스와 비교하여 일정 수준의 내구성을 제공하지만 실패 할 수 있습니다. 모든 가용 영역에서 필요에 따라 새 인스턴스를 시작하고 중요한 데이터 (예 : 데이터베이스)를 백업 할 수있는 AMI를 보유하고 예산이 허용하는 경우로드 밸런싱 및 중복성을 위해 여러 인스턴스를 실행하십시오 (이상적으로 여러 가용 영역에서) ).

하지 않을 때

어떤 시점에서는 인스턴스 스토어 인스턴스에서 더 빠른 IO를 달성하는 것이 더 저렴할 수 있습니다. 확실히 사실이었던 시간이있었습니다. 이제 EBS 스토리지에 대한 많은 옵션이 있으며 많은 요구를 충족시킵니다. 옵션과 가격은 기술이 변화함에 따라 끊임없이 진화합니다. 실제로 처분 할 수있는 상당한 양의 인스턴스가있는 경우 (실제로 비즈니스에 큰 영향을 미치지 않음) 비용 대 성능에 대한 계산을 수행하십시오. EBS 지원 인스턴스도 언제든지 죽을 수 있지만 실제로는 EBS의 내구성이 더 뛰어납니다.


4
그렇습니다. 위의 내용은 제 생각이기도합니다. 여기에 비교해 인스턴스 스토어에 대한 선호도에 대한 글이 있습니다.
HelloWorldy

5
인스턴스 스토어 기반 EC2를 실수로 종료하지 않도록 설정할 수도 있습니다.
Jim Soho

44
실제로 대부분의 EBS 지원 EC2 인스턴스를 인스턴스 스토어 사용으로 전환하고 있습니다. 실제로 달성하고자하는 것에 달려 있습니다. 더 나은 IO로 인해 전환 중이며 각 EC2 인스턴스를 항상 일회용으로 보거나 매 순간 고장이 나고 해당 인스턴스에있는 모든 것을 잃게됩니다. 이러한 방식으로 설계하면 실제 HA 시스템을 얻는 데 도움이됩니다. 또한 stu.mp/2011/04/the-cloud-is-not-a-silver-bullet.html
Jim Soho

2
@Jim : 적어도 1 년 전에 답을 썼을 때 인스턴스 스토리지를 사용하는 것보다 많은 EBS 인스턴스를 소프트웨어 RAID 구성으로 스트라이핑하여 훨씬 더 나은 IO를 얻었습니다. 또한 S3 백업보다 EBS 백업에서 교체 인스턴스를 시작하는 것이 훨씬 빠릅니다 (인스턴스 스토리지는 S3에서로드되므로 속도가 느릴 수 있음). 지난 6 개월 정도 AWS에서 많은 일을하지 않았습니다. 상황이 변경되었을 수 있습니다.
Eric J.

2
EBS 지원 인스턴스를 실행하고 재활용 가능성에 중점을 둘 수는 있지만 약간의 편견이있는 것 같습니다. 신규 사용자가이 게시물을보고 이후에 EBS 지원 인스턴스를 만드는 것은 위험하지 않다고 생각합니다. 클라우드 인프라에서 가장 중요한 구성 요소 인 재활용 가능성에 중점을 둡니다. 그리고 이것을보고있는 많은 사람들이이 것들에 새로운 것이 확실합니다
Peter Berg

69

AWS 설정의 99 %가 재활용 가능합니다. 따라서 인스턴스를 종료해도 아무런 문제가 없습니다. 아무것도 손실되지 않습니다. 예를 들어 내 응용 프로그램은 SVN의 인스턴스에 자동으로 배포되며 로그는 중앙 syslog 서버에 기록됩니다.

인스턴스 스토리지의 유일한 이점은 비용 절감입니다. 그렇지 않으면 EBS 지원 인스턴스가 승리합니다. 에릭은 모든 장점을 언급했습니다.


[2012-07-16] 오늘이 답변을 많이 다르게 표현하겠습니다.

지난 1 년 동안 EBS 지원 인스턴스에 대한 경험이 없었습니다. AWS의 마지막 중단 시간도 EBS를 거의 망쳤습니다.

RDS와 같은 서비스는 어떤 종류의 EBS도 사용하며 대부분의 경우 작동하는 것 같습니다. 우리가 스스로 관리하는 경우, 가능한 경우 EBS를 제거했습니다.

데이터베이스 클러스터를 다시 철 (= 실제 하드웨어)로 옮긴 확장을 제거합니다. 인프라에 남아있는 유일한 부분은 여러 EBS 볼륨을 소프트웨어 RAID에 스트라이핑하고 하루에 두 번 백업하는 DB 서버입니다. 백업간에 손실되는 것은 무엇이든 함께 살 수 있습니다.

EBS는 본질적으로 네트워크 볼륨 (원격에서 서버에 연결된 볼륨)이기 때문에 다소 결함이있는 기술입니다. 본질적으로 무제한 영구 저장 장치는 API 호출 이기 때문에 놀라운 작업 입니다. 그러나 I / O 성능이 중요한 시나리오에는 적합하지 않습니다.

또한 네트워크 스토리지의 작동 방식 외에도 모든 네트워크가 EC2 인스턴스에서 공유됩니다. 실제 호스트 시스템의 네트워크 인터페이스가 그 위에서 실행되는 여러 VM (= EC2 인스턴스)간에 공유되므로 인스턴스 (예 : t1.micro, m1.small)가 작을수록 더 나빠집니다.

인스턴스가 클수록 더 좋습니다 . 더 나은 여기에 이유 내 에서 의미 합니다.

지속성이 필요할 때 항상 사람들에게 S3와 같은 것을 사용하여 인스턴스를 중앙 집중화하도록 조언합니다. S3는 매우 안정적인 서비스입니다. 그런 다음 새 서버를 부팅 할 수있는 시점으로 인스턴스 설정을 자동화하면 자동으로 준비됩니다. 따라서 인스턴스보다 더 긴 네트워크 스토리지가 필요하지 않습니다.

결국 EBS 지원 인스턴스에는 아무런 이점이 없습니다. 오히려 부트 스트랩에 1 분을 더한 다음 잠재적 SPOF로 실행하십시오.


1
표준에 비해 EBS IOPS 종류의 볼륨으로 IO 성능이 크게 개선 되었습니까? 위의 EBS IOPS 볼륨도 마찬가지라고 가정합니다.
honzajde

4
두 기술 모두 진화합니다. "프로비저닝 된 IOPS"EBS가있을 때 2014 년에이 의견을 말하고 있지만 "인스턴스 스토어"는 이제 SSD로 이전보다 훨씬 빠릅니다. 임시 저장은 항상 속도 측면에서 이길 것입니다. 그래서 나는 둘 다 사용합니다-모든 임시 파일, 로그, "TempDB"데이터베이스, 스왑 파일 및 인스턴스 저장소에 다른 것들이있는 EBS에 "지속적"항목을 유지하십시오. 두 혜택 모두!
Alex

분산적이고 지속적인 방식으로 데이터를 저장해야하는 분산 데이터베이스가 필요한 경우 어떻게해야합니까? 인스턴스 스토리지가 영구적이지 않기 때문에 EBS가 필요하지 않습니까?
CMCDragonkai

@CMCDragonkai 물론입니다. 요즘 AWS는 SSD 기반 스토리지 제공을 시작한 등 많은 옵션이 있습니다. 나는 그것들을 조사하고 분석을 다시 수행 할 것입니다 (단일 대 RAID 등). 또한 네트워크 처리량으로 인해 가능한 가장 큰 인스턴스를 얻는 방법을 살펴볼 것입니다. EBS는 t1.micro와 같은 인스턴스에서 여전히 문제입니다.

네트워크 성능에 대한이 답변의 일부는 상당히 쓸모가 없습니다. 지금까지는 약간의 추가 비용으로 "EBS 최적화"할 수있는 다양한 인스턴스가 있었으며 일부는 기본적으로 추가 요금이없는 경우도있었습니다. ), EBS에 대한 전용 네트워크 인터페이스가 있습니다. cf. docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
Josip Rodin '

41

우리는 인스턴스 스토어를 좋아합니다. 이를 통해 인스턴스를 완전히 재활용 할 수있게되었으며, 주어진 AMI에서 서버를 처음부터 새로 작성하는 프로세스를 쉽게 자동화 할 수 있습니다. 또한 AMI를 쉽게 교체 할 수 있습니다. 또한 EBS에는 여전히 성능 문제가 있습니다.


6
Netflix도 같은 권장 사항을 제시합니다.
Kingz

2
그렇다면 블록 기반 영구 파일을 어디에 저장합니까?
CMCDragonkai

17

에릭은 거의 그것을 못 박았다. 우리 ( Bitnami )는 널리 사용되는 애플리케이션 및 개발 프레임 워크 (PHP, Joomla, Drupal, 아이디어를 얻음)를위한 인기있는 무료 AMI 공급 업체입니다. EBS 지원 AMI가 S3 지원보다 훨씬 인기가 있다고 말할 수 있습니다. 일반적으로 s3 백업 인스턴스는 분산 된 시간 제한 작업 (예 : 대규모 데이터 처리)에 사용되어 한 시스템에 장애가 발생하면 다른 시스템이 단순히 가동되는 것으로 생각합니다. EBS 지원 AMIS는 로컬로 상태를 유지하고 충돌시 데이터를 사용할 수 있어야하는 웹 또는 데이터베이스 서버와 같은 '전통적인'서버 작업에 사용되는 경향이 있습니다.

내가 언급하지 않은 한 가지 측면은 실행 중에 EBS 지원 인스턴스의 스냅 샷을 생성하여 인프라를 매우 비용 효율적으로 백업 할 수 있다는 사실입니다 (스냅 샷은 블록 기반 및 증분).


S3에는 중복성 이 내장되어 있습니다. EBS는 없습니다 아무도 당신이 그것의 상단에 중복 소프트웨어를 배포해야합니다, 그래서.
Pacerier

2
그 @Pacerier에서 공식 문서 당, 잘못된 docs.aws.amazon.com/AWSEC2/latest/UserGuide/raid-config.html
요시프 로댕

16

나는 나의 마지막 직책에서 Eric과 똑같은 경험을했습니다. 이제는 새 직장에서 마지막 작업에서 수행 한 것과 동일한 프로세스를 수행하고 있습니다 .EBS 백업 인스턴스에 대한 모든 AMI를 다시 빌드하고 32 비트 시스템 (저렴한)이지만 32에서 동일한 AMI를 사용할 수는 없습니다. 64 기계).

EBS 백업 인스턴스는 Amazon AutoScaling API 를 사용할 수있을 정도로 빠르게 시작 되므로 CloudWatch 지표를 사용하여 추가 인스턴스의 시작을 트리거하고이를 ELB (Elastic Load Balancer)에 등록하고 언제 종료 할 수 있습니다 더 이상 필요하지 않습니다.

이러한 종류의 동적 자동 확장은 AWS의 모든 것입니다. IT 인프라의 실제 절감 효과를 누릴 수있는 곳입니다. 이전 s3 "InstanceStore"지원 인스턴스를 사용하여 자동 확장을 수행하는 것은 거의 불가능합니다.


13

EC2를 직접 사용하기 시작했기 때문에 전문가는 아니지만 Amazon 자체 문서 는 다음과 같이 말합니다.

임시 데이터에는 로컬 인스턴스 스토어를 사용하고 내구성이 더 높은 데이터에는 Amazon EBS 볼륨을 사용하거나 Amazon S3에 데이터를 백업하는 것이 좋습니다.

강조합니다.

웹 호스팅보다 더 많은 데이터 분석을 수행 하므로 웹 사이트의 경우만큼 지속성이 중요하지 않습니다. 아마존 자체의 차별화를 감안할 때 EBS가 모든 사람에게 적합하다고 가정하지는 않습니다.

두 가지를 모두 사용한 후에 다시 무게를 측정하려고 노력할 것입니다.


9

EBS는 VM의 가상 디스크와 같습니다.

  • EBS가 지원하는 내구성있는 인스턴스를 자유롭게 시작하고 중지 할 수 있습니다 (비용 절감)
  • 특정 시점에 스냅 샷을 작성하여 특정 시점 백업을 얻을 수 있습니다.
  • EBS 스냅 샷에서 AMI를 생성 할 수 있으므로 EBS 볼륨이 새로운 시스템의 템플릿이됩니다.

인스턴스 스토리지는 다음과 같습니다.

  • 로컬이므로 일반적으로 더 빠름
  • 네트워크에 연결되지 않은 일반적인 경우 EBS I / O는 네트워크 대역폭을 희생합니다 (별도의 EBS 대역폭을 가진 EBS 최적화 인스턴스 제외)
  • 초당 I / O IOPS가 제한되어 있습니다. 프로비저닝 된 I / O조차도 수천 IOPS에서 극대화
  • 깨지기 쉬운. 인스턴스가 중지 되 자마자 인스턴스 스토리지의 모든 내용이 손실됩니다.

각각을 사용하는 위치는 다음과 같습니다.

  • 백업 OS 파티션 및 영구 스토리지 (DB 데이터, 중요 로그, 애플리케이션 구성)에 EBS 사용
  • In-process 데이터, 중요하지 않은 로그 및 임시 애플리케이션 상태에 인스턴스 스토리지를 사용하십시오. 예 : 외부 정렬 저장소, 임시 파일 등
  • 인스턴스 스토리지는 인스턴스 간 복제 (NoSQL DB, 분산 큐 / 메시지 시스템 및 복제가 포함 된 DB)가있을 때 성능에 중요한 데이터에도 사용될 수 있습니다.
  • 시스템간에 공유 된 데이터 : 입력 데이터 세트 및 처리 된 결과 또는 각 시스템에서 라우트 될 때 사용되는 정적 데이터에 S3을 사용하십시오.
  • 사전 베이킹 된 시작 가능한 서버에 AMI 사용

4

대부분의 사람들은 상태 저장 상태이므로 EBS 지원 인스턴스를 사용하도록 선택합니다. 내부에서 실행 및 설치 한 모든 항목이 중지 / 중지 또는 인스턴스 실패 후에도 유지되므로 더 안전합니다.

인스턴스 스토어는 상태 비 저장 상태이므로 인스턴스 장애 상황 발생시 모든 데이터가 포함 된 데이터를 잃어 버립니다. 그러나 인스턴스 볼륨이 VM이 실행중인 물리적 서버에 연결되어 있기 때문에 무료이며 빠릅니다.


2

이 모든 것을 처음 접하고 실수로 여기에 착륙 한 경우

현재 빠른 시작 섹션의 모든 AMI는 EBS로 백업됩니다.

여기에 이미지 설명을 입력하십시오

또한 공식 문서 에는 EBS인스턴스 스토어의 차이점에 대한 좋은 설명이 있습니다.

이 이미지는 거의 요약합니다 여기에 이미지 설명을 입력하십시오


0

여러 인스턴스를 실행하고 예기치 않은 요금 방지를 우선으로 AWS 인스턴스의 예약 된 서비스를 할당하는 경우 인스턴스 스토어를 사용하지 않는 것이 좋습니다 .

EBS 볼륨의 문서 와 j2d3Siddharth Sharma 의 답변 에 설명 된대로 인스턴스 스토어는 원하는 기간 동안 실행될 수 있지만 중지 할 수는 없습니다 . 자동 시작 / 중지 또는 인스턴스 복구로 서비스를 스케줄 할 수 없음을 의미합니다 .

또한 이러한 종류의 체계의 경우 필요한 모든 리소스가 계속 실행 되도록 설계된 EBS Backed on Elastic Beanstalk 를 사용하면 이점이 없습니다 . 항상 중지 한 모든 서비스를 자동으로 다시 시작합니다. 검토 나머지는 모두 사용에 대한 총 비용에서, VPC , EBSELB를 추가하는 것이 EC2 고전EC2-VPCELB는 에 달리 최선의 선택 대부분이다 EC2 - 클래식 , 중지 된 인스턴스가 유지 관련여기에 이미지 설명을 입력하십시오 탄성은 IP 주소EBS 볼륨이 자동으로 저장 됩니다.

결론적으로 , 질문의 주요 부분을 취하는 것은 :

EBS는 상대적으로 적은 비용 차이로 더 유용합니다 (중지, 시작, 지속 + 더 빠른 속도).

대답은 이지만 인스턴스가 EBS 기반 인 경우 중지 할 수 있습니다. 귀하의 계정에 남아 있으며 청구되지 않습니다 . 볼륨 만 청구 되지만 EBS는 매시간 청구됩니다 . 사용 가능한 모든 유형 중에서 EBS 볼륨 크기조정할 수있는 유연성이 있다고 생각할 수도 있습니다 .

Eric 이 이미 제시 한 이점 외에, 비용 측면에서 S3는 EBS보다 저렴할 수도 있고 그렇지 않을 수도 있음을 알고 있어야합니다 . 동일한 유형의 플랫폼과 애플리케이션 아키텍처 내에서 두 가지 유형의 인스턴스를 항상 계속 실행하면 비용의 차이가 적다는 데 동의합니다 .

시나리오는 저렴한 비용으로 서비스의 응용 프로그램이 실행 그러나 경우, 처리되지 않은 모든 작업을 끌어역할 그들이 받는 VPC / EBS 비아 파이프 라인 또는 람다 짧은 시간 기준 말에서 <하루 1 시간, 할 수없는 때를 instance-store를 사용하면 다른 이야기가 될 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.