AWS EFS กับ EBS กับ S3 (ความแตกต่าง & เมื่อใช้?)


315

ตามชื่อของคำถามนี้อะไรคือความแตกต่างในทางปฏิบัติระหว่าง AWS EFS, EBS และ S3

ความเข้าใจของฉันแต่ละคน:

  • S3 เป็นสถานที่จัดเก็บที่สามารถเข้าถึงได้ทุกที่
  • EBS เป็นอุปกรณ์ที่คุณสามารถเชื่อมต่อกับ EC2
  • EFS เป็นระบบไฟล์ที่คุณสามารถต่อเข้ากับ EC2

เหตุใดฉันจึงต้องใช้ EBS ผ่าน EFS ดูเหมือนว่าพวกเขามีกรณีการใช้งานเหมือนกัน แต่มีความแตกต่างทางความหมายเล็กน้อย แม้ว่า EFS จะถูกจำลองแบบข้าม AZ ที่ EBS เป็นเพียงอุปกรณ์ที่เมาท์ ฉันเดาว่าความเข้าใจของฉันเกี่ยวกับ EBS ไม่เพียงพอดังนั้นฉันจึงไม่สามารถแยกความแตกต่างได้

ทำไมถึงเลือก S3 มากกว่า EFS พวกเขาทั้งสองเก็บไฟล์สเกลและทำซ้ำ ฉันเดาด้วย S3 คุณต้องใช้ SDK โดยที่ EFS เป็นระบบไฟล์คุณสามารถใช้วิธี I / O มาตรฐานจากภาษาการเขียนโปรแกรมที่คุณเลือกเพื่อสร้างไฟล์ แต่นั่นคือความแตกต่างที่แท้จริงเท่านั้น?


2
EFS เหมือน NFS EBS เป็นหลัก SAN S3 นั้นครับเช่น WebDav Glacier น่าจะเป็น blueray DVDs storagemojo.com/2014/04/25/amazons-glacier-secret-bdxl
Neil McGuigan

คำตอบ:


466

คำตอบเดียว: MONEY: D

1 GB สำหรับจัดเก็บใน US-East-1: (อัปเดตเมื่อ 2016.dec.20)

  • กลาเซียร์: $ 0.004 / เดือน (หมายเหตุ: การลดราคาหลักในปี 2559)
  • S3: $ 0.023 / เดือน
  • S3-IA (ประกาศใน 2015.09): $ 0.0125 / เดือน (+ $ 0.01 / gig เรียกเก็บเงิน)
  • EBS: $ 0.045-0.1 / เดือน (ขึ้นอยู่กับความเร็ว - SSD หรือไม่) + ต้นทุน IOPS
  • EFS: $ 0.3 / เดือน

ตัวเลือกการจัดเก็บเพิ่มเติมซึ่งอาจใช้สำหรับการจัดเก็บข้อมูลชั่วคราวในขณะที่ / ก่อนการประมวลผล:

  • SNS
  • SQS
  • กระแส Kinesis
  • DynamoDB, SimpleDB

ค่าใช้จ่ายข้างต้นเป็นเพียงตัวอย่าง อาจมีความแตกต่างตามภูมิภาคและสามารถเปลี่ยนแปลงได้ทุกเมื่อ นอกจากนี้ยังมีค่าใช้จ่ายเพิ่มเติมสำหรับการถ่ายโอนข้อมูล (ออกไปยังอินเทอร์เน็ต) อย่างไรก็ตามพวกเขาแสดงอัตราส่วนระหว่างราคาของการให้บริการที่

มีความแตกต่างระหว่างบริการเหล่านี้:

EFS คือ:

  • โดยทั่วไปพร้อมใช้งาน (จากภาพตัวอย่าง) แต่อาจยังไม่พร้อมให้บริการในภูมิภาคของคุณ
  • ระบบไฟล์เครือข่าย (ซึ่งหมายความว่ามันอาจมีเวลาแฝงที่มากกว่า แต่สามารถแชร์ได้หลายครั้งแม้ระหว่างภูมิภาค)
  • มันมีราคาแพงเมื่อเทียบกับ EBS (อีกประมาณ ~ 10x) แต่มันมีคุณสมบัติพิเศษ
  • มันเป็นบริการที่มีอยู่สูง
  • มันเป็นบริการที่มีการจัดการ
  • คุณสามารถแนบหน่วยเก็บ EFS กับอินสแตนซ์ EC2
  • สามารถเข้าถึงได้โดยอินสแตนซ์ EC2 หลายรายการพร้อมกัน
  • ตั้งแต่ 2016.dec.20 เป็นไปได้ที่จะแนบหน่วยเก็บ EFS ของคุณโดยตรงกับเซิร์ฟเวอร์ในสถานที่ผ่านการเชื่อมต่อโดยตรง ()

EBS คือ:

  • พื้นที่เก็บข้อมูลแบบบล็อก (ดังนั้นคุณต้องจัดรูปแบบ) ซึ่งหมายความว่าคุณสามารถเลือกประเภทของระบบไฟล์ที่คุณต้องการ
  • เนื่องจากเป็นที่เก็บข้อมูลแบบบล็อกคุณสามารถใช้ Raid 1 (หรือ 0 หรือ 10) กับที่เก็บข้อมูลแบบบล็อกหลายแห่ง
  • มันเร็วจริงๆ
  • มันค่อนข้างถูก
  • ด้วยการประกาศใหม่จาก Amazon คุณสามารถจัดเก็บข้อมูลได้มากถึง 16TB ต่อการจัดเก็บใน SSD-s
  • คุณสามารถจับภาพ EBS (ในขณะที่ยังทำงานอยู่) ด้วยเหตุผลการสำรองข้อมูล
  • แต่มันมีอยู่ในบางภูมิภาคเท่านั้น แม้ว่าคุณสามารถโยกย้ายไปยังภูมิภาคอื่นคุณไม่สามารถเข้าถึงข้ามภูมิภาคได้ (เฉพาะเมื่อคุณแชร์ผ่าน EC2 แต่นั่นหมายความว่าคุณมีไฟล์เซิร์ฟเวอร์)
  • คุณต้องการอินสแตนซ์ EC2 เพื่อแนบ
  • คุณสมบัติใหม่ (2017.Feb.15): ตอนนี้คุณสามารถเพิ่มขนาดเสียงปรับประสิทธิภาพหรือเปลี่ยนประเภทเสียงในขณะที่ใช้งานเสียง คุณสามารถใช้แอปพลิเคชันของคุณต่อไปได้ในขณะที่การเปลี่ยนแปลงมีผล

S3 คือ:

  • ที่เก็บอ็อบเจ็กต์ (ไม่ใช่ระบบไฟล์)
  • คุณสามารถจัดเก็บไฟล์และ "โฟลเดอร์" แต่ไม่สามารถล็อคสิทธิ์อื่น ๆ เช่นเดียวกับที่คุณใช้กับระบบไฟล์แบบดั้งเดิม
  • ซึ่งหมายความว่าโดยค่าเริ่มต้นคุณไม่สามารถเมานต์ S3 และใช้เป็นเว็บเซิร์ฟเวอร์ของคุณได้
  • แต่มันสมบูรณ์แบบสำหรับการจัดเก็บภาพและวิดีโอของคุณสำหรับเว็บไซต์ของคุณ
  • เหมาะสำหรับการเก็บถาวรระยะสั้น (เช่นไม่กี่สัปดาห์) มันก็ดีสำหรับการเก็บถาวรระยะยาวเช่นกัน แต่กลาเซียร์นั้นคุ้มค่ากว่า
  • เหมาะสำหรับเก็บบันทึก
  • คุณสามารถเข้าถึงข้อมูลจากทุกภูมิภาค (อาจมีค่าใช้จ่ายเพิ่มเติม)
  • พร้อมใช้งานสูงซ้ำซ้อน การสูญเสียข้อมูลโดยทั่วไปไม่สามารถทำได้ (ความทนทาน 99.999999999%, SLA ความพร้อมในการทำงาน 99.9)
  • ราคาถูกกว่า EBS มาก
  • คุณสามารถให้บริการเนื้อหาโดยตรงไปยังอินเทอร์เน็ตคุณยังสามารถมีเว็บไซต์ (คงที่) ทำงานได้โดยตรงจาก S3 โดยไม่มีอินสแตนซ์ของ EC2

ธารน้ำแข็งคือ:

  • ที่เก็บข้อมูลถาวรระยะยาว
  • ราคาถูกมากในการจัดเก็บ
  • อาจมีราคาแพงมากในการดึง
  • ใช้เวลานานถึง 4 ชั่วโมงในการ "อ่านกลับ" ข้อมูลของคุณ (ดังนั้นเก็บเฉพาะรายการที่คุณรู้ว่าคุณไม่จำเป็นต้องเรียกคืนมาเป็นเวลานาน)

ตามที่ได้กล่าวถึงในความคิดเห็นของ JDL มีแง่มุมที่น่าสนใจหลายประการในแง่ของการกำหนดราคา ตัวอย่างเช่น Glacier, S3, EFS จะจัดสรรพื้นที่เก็บข้อมูลให้คุณตามการใช้งานของคุณในขณะที่อยู่ที่ EBS คุณจะต้องกำหนดพื้นที่เก็บข้อมูลที่จัดสรรไว้ล่วงหน้า ซึ่งหมายความว่าคุณจำเป็นต้องประเมินมากกว่า (อย่างไรก็ตามมันง่ายในการเพิ่มที่เก็บข้อมูลลงใน EBS ของคุณปริมาณต้องใช้วิศวกรรมบางอย่างซึ่งหมายความว่าคุณ "overpay" เก็บ EBS ของคุณซึ่งทำให้ราคาแพงยิ่งขึ้น)

ที่มา: การอัปเดตที่เก็บ AWS - ตัวเลือกการจัดเก็บ S3 ราคาประหยัดใหม่ & การลดราคาของธารน้ำแข็ง


8
ธารน้ำแข็งมีราคาแพงมากหากจำเป็นต้องกู้คืนข้อมูลอย่างรวดเร็วliangzan.net/aws-glacier-calculator
Anatoly

6
ไม่เห็นด้วยที่มีราคาถูกกว่าS3 EBSด้วยS3คุณสามารถมี 2,000 PUT และ 20 000 GET ฟรีเท่านั้น เมื่อEBSคุณมีการดำเนินงาน 2 000 000 I / O ฟรี นี่คือ QA stackoverflow.com/questions/34048866/
Green

2
2 000 000 S3 อ่านค่าใช้จ่าย ~ 0.4 $, 2 000 000 เขียนค่าใช้จ่าย ~ $ 5 ... แต่ประเด็นหลักคือคุณต้องเลือกพื้นที่เก็บข้อมูลที่เหมาะสมสำหรับงาน S3 คือ (ส่วนใหญ่) สำหรับไฟล์ที่มีขนาดใหญ่ไม่เปลี่ยนแปลงบ่อยเกินไป แต่สามารถเข้าถึงไฟล์ได้ดีที่สุด (มีข้อยกเว้นมากมาย: D)
Adam Ocsvari

2
การเปรียบเทียบที่ดี แต่อีกหนึ่งความแตกต่างที่สำคัญระหว่าง EBS และ EFS คือ EBS เป็นจำนวนที่เก็บข้อมูลคงที่ ใช่การเปรียบเทียบ 1 GB นั้นแตกต่างกัน แต่ทำไมคุณต้องสร้างพาร์ติชัน 1GB EBS ขั้นต่ำหากคุณกำลังจะสร้างพาร์ติชัน 10 GB คุณจะได้รับข้อมูล $ .5-1.0 สำหรับ 1GB ของข้อมูลเดียวกันที่จัดเก็บใน 10GB ของข้อมูล EFS อาจเป็นตัวเลือกที่ดีกว่าทั้งนี้ขึ้นอยู่กับความต้องการในการจัดเก็บข้อมูลของคุณที่จะเติบโตและจำนวนพื้นที่ที่ไม่ได้ใช้ที่คุณต้องการจ่ายอย่างรวดเร็ว EFS อาจเป็นตัวเลือกที่ดีกว่า
JDL

3
ควรค่าแก่การสังเกตด้วย: ปัจจุบัน EFS ใช้งานได้กับ Linux เท่านั้นไม่ใช่ Windows
Andrew Clark

110

ฉันสงสัยว่าทำไมผู้คนถึงไม่เน้นเหตุผลที่น่าสนใจที่สุดเพื่อ EFS EFS สามารถเมานต์ได้มากกว่าหนึ่งอินสแตนซ์ EC2 ในเวลาเดียวกันทำให้สามารถเข้าถึงไฟล์ใน EFS ได้ในเวลาเดียวกัน

(แก้ไข 2020 พฤษภาคม EBS รองรับการติดตั้งหลาย EC2 ในเวลาเดียวกันในขณะนี้เช่นกันดู: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html )


ฉันด้วย. คนที่ถามคำถามหรือโหวตคำถาม (ไม่ใช่คำตอบ) แค่ไม่รู้ว่าอะไรคือความแตกต่างระหว่างระบบ UFS และ NFS
BMW

5
ในทำนองเดียวกันความแตกต่างระหว่างการใช้ S3 และ EBS - S3 และ EFS นั้นทำงานได้ดีสำหรับข้อมูลที่แชร์ข้ามเซิร์ฟเวอร์หลายเครื่องในขณะที่ EBS ไม่ทำงาน
Geoffrey Wiseman

EFS ไม่สามารถใช้เป็นจุดเริ่มต้นสำหรับ CDN ได้ S3 จะดีกว่าสำหรับบทบาทนี้ หากคุณมีสินทรัพย์จำนวนมากที่ต้องมีขึ้นสำหรับ CDN ควรใช้ S3
Moses Liao GZ

71

แก้ไขการเปรียบเทียบ:

  • S3 เป็นสถานที่จัดเก็บที่สามารถเข้าถึงได้ทุกที่
  • EBS เป็นอุปกรณ์ที่คุณสามารถเชื่อมต่อกับ EC2
  • EFS เป็นระบบไฟล์ที่คุณสามารถเชื่อมต่อไปยังอินสแตนซ์ EC2 หลายรายการในเวลาเดียวกัน

ณ จุดนี้มันเป็นเวลาก่อนกำหนดเล็กน้อยในการเปรียบเทียบ EFS และ EBS - ประสิทธิภาพของ EFS ไม่เป็นที่รู้จักและไม่รู้จักความน่าเชื่อถือ

ทำไมคุณถึงใช้ S3

  • คุณไม่จำเป็นต้องให้ไฟล์เป็น 'ภายใน' สำหรับอินสแตนซ์ EC2 หนึ่งรายการขึ้นไป
  • (มีประสิทธิภาพ) ความจุที่ไม่มีที่สิ้นสุด
  • การให้บริการเว็บในตัวการตรวจสอบความถูกต้อง

2
ฉันเพิ่งตั้งค่าโวลุ่ม EFS เนื่องจากขณะนี้มีให้บริการใน West-2 ฉันดูเหมือนจะมีปัญหาในการเขียนไฟล์ขนาดใหญ่ ตัวอย่างเช่นการสร้างตัวเทียบท่าคอนเทนเนอร์ล้มเหลวด้วย "ไฟล์ใหญ่เกินไป" และการสร้าง sqlite db ก็ล้มเหลวเช่นกัน ไม่มีปัญหาเกี่ยวกับปริมาณ EBS ที่ฉันใช้ ดังนั้นใช่ EFS อาจมีปัญหาการใช้งาน / ความน่าเชื่อถือที่ต้อง "แก้ไข" ในเวลานี้
DKebler

7

หากต้องการเพิ่มในการเปรียบเทียบ: (แตก) อ่าน / เขียนประสิทธิภาพของ EFS ขึ้นอยู่กับเครดิตที่รวบรวม การรวบรวมเครดิตขึ้นอยู่กับปริมาณข้อมูลที่คุณเก็บไว้ More date -> เครดิตเพิ่ม ซึ่งหมายความว่าเมื่อคุณต้องการพื้นที่เก็บข้อมูลเพียงไม่กี่ GB ซึ่งอ่านหรือเขียนบ่อยครั้งคุณจะหมดเครดิตในไม่ช้าและความเร็วจะลดลงเหลือประมาณ 50kb / s วิธีเดียวที่จะแก้ไขปัญหานี้ (ในกรณีของฉัน) คือการเพิ่มไฟล์จำลองขนาดใหญ่เพื่อเพิ่มคะแนนเครดิตที่ได้รับ อย่างไรก็ตามพื้นที่เก็บข้อมูลมากขึ้น -> ค่าใช้จ่ายเพิ่มเติม


2
มันช้ามาก ตอนแรกฉันคิดว่านี่เป็นความผิดพลาดโดย OP แต่หลังจากตรวจสอบเอกสารมันถูกต้อง (ณ 2017)
Jakobovski

7

นอกเหนือจากราคาและคุณสมบัติการรับส่งข้อมูลยังแตกต่างกันมาก (ดังที่ผู้ใช้ระบุ 1677120):

EBS

นำมาจากเอกสาร EBS :

| EBS volume | Throughput |           Throughput          |
|    type    |   MiB/s    |         dependent on..        |
|------------|------------|-------------------------------|
| gp2 (SSD)  | 128-160    | volume size                   |
| io1 (SSD)  | 0.25-500   | IOPS (256Kib/s per IOPS)      |
| st1 (HDD)  | 20-500     | volume size (40Mib/s per TiB) |
| sc1 (HDD)  | 6-250      | volume size (12Mib/s per TiB) |

โปรดทราบว่าสำหรับ io1, st1 และ sc1 คุณสามารถส่งทราฟฟิกทราฟฟิกได้อย่างน้อย 125Mib / s แต่เป็น 500Mib / s ขึ้นอยู่กับขนาดของไดรฟ์

คุณสามารถเพิ่มปริมาณงานได้อีกเช่นโดยการปรับใช้โวลุ่ม EBS เป็น RAID0

EFS

นำมาจากEFS docs

| Filesystem |    Base    |   Burst    |
|    Size    | Throughput | Throughput |
|    GiB     |   MiB/s    |   MiB/s    |
|------------|------------|------------|
|         10 |        0.5 |        100 |
|        256 |       12.5 |        100 |
|        512 |       25.0 |        100 |
|       1024 |       50.0 |        100 |
|       1536 |       75.0 |        150 |
|       2048 |      100.0 |        200 |
|       3072 |      150.0 |        300 |
|       4096 |      200.0 |        400 |

ฐานผ่านมีการประกันออกมาผ่านการใช้ขึ้นเครดิตคุณรวมตัวกันในขณะที่อยู่ด้านล่างผ่านฐาน (ดังนั้นคุณจะมีเพียงแค่นี้สำหรับระยะเวลาที่ จำกัด ให้ดูที่นี่สำหรับรายละเอียดเพิ่มเติม

S3

S3 เป็นสิ่งที่แตกต่างกันโดยสิ้นเชิงดังนั้นจึงไม่สามารถเปรียบเทียบได้กับ EBS และ EFS จริงๆ บวก: ไม่มีการวัดทรูพุตที่เผยแพร่สำหรับ S3 คุณสามารถปรับปรุงทรูพุตได้โดยการดาวน์โหลดแบบขนาน (ฉันจะอ่าน AWS ว่าคุณจะมีทรูพุตที่ไม่ จำกัด ด้วยวิธีนี้) หรือเพิ่ม CloudFront ให้กับส่วนประสม


2

ในคำง่าย ๆ

Amazon EBS จัดเก็บข้อมูลระดับบล็อก

Amazon EFS จัดเก็บไฟล์ที่แชร์บนเครือข่าย

Amazon S3 ให้การจัดเก็บวัตถุ


1

EBS เป็นหน่วยเก็บข้อมูลระดับบล็อกที่สามารถแนบกับอินสแตนซ์จาก AZ เดียวกันและสามารถอยู่รอดได้โดยไม่คำนึงถึงชีวิตของอินสแตนซ์

อย่างไรก็ตามความแตกต่างที่น่าสนใจคือระหว่าง EFS และ S3 และเพื่อระบุกรณีการใช้งานที่เหมาะสมสำหรับมัน

ราคา: EFS นั้นมีราคาสูงกว่า S3 ถึง 10 เท่า

usecases:

  • เมื่อใดก็ตามที่เรามีอินสแตนซ์นับพันที่ต้องการประมวลผลไฟล์พร้อมกัน EFS ขอแนะนำผ่าน S3
  • นอกจากนี้โปรดทราบว่า S3 เป็นที่เก็บข้อมูลแบบออบเจ็กต์ในขณะที่ EFS เป็นไฟล์อ้างอิงหมายความว่าเมื่อใดก็ตามที่เรามีความต้องการที่จะอัปเดตไฟล์อย่างต่อเนื่อง (รีเฟรช) เราควรใช้ EFS
  • ในที่สุด S3 ก็มีความสอดคล้องกันในขณะที่ EFS นั้นมีความสอดคล้องกัน ในกรณีที่คุณไม่สามารถจ่ายได้สม่ำเสมอคุณควรใช้ EFS

0

Amazon EBS จัดเก็บข้อมูลระดับบล็อก - มันถูกใช้เพื่อสร้างระบบไฟล์ในนั้นและจัดเก็บไฟล์ Amazon EFS - ระบบจัดเก็บข้อมูลที่ใช้ร่วมกันคล้ายกับ NAS / SAN คุณต้องเชื่อมต่อกับเซิร์ฟเวอร์ยูนิกซ์และใช้งาน Amazon S3 - เป็นที่เก็บข้อมูลแบบออบเจกต์ซึ่งแต่ละรายการจะถูกจัดเก็บด้วย http URL

หนึ่งในความแตกต่างคือ - EBS สามารถเชื่อมต่อกับ 1 อินสแตนซ์ในแต่ละครั้งและ EFS สามารถเชื่อมต่อกับหลายอินสแตนซ์ที่ว่าทำไมที่เก็บข้อมูลที่ใช้ร่วมกัน ที่เก็บข้อมูลวัตถุธรรมดา S2 ไม่สามารถติดตั้งได้


0

EFS & S3 มีจุดประสงค์เดียวกันคุณสามารถจัดเก็บวัตถุหรือไฟล์ประเภทใดก็ได้

แต่สำหรับฉันความแตกต่างเพียงอย่างเดียวคือ EFS ช่วยให้คุณมีระบบไฟล์แบบดั้งเดิมในคลาวด์ VM (EC2) ที่มีความยืดหยุ่นมากกว่าเช่นคุณสามารถแนบกับอินสแตนซ์หลายตัวได้

ในทางตรงกันข้าม S3 เป็นเซิร์ฟเวอร์ที่มีความยืดหยุ่นและยืดหยุ่นแยกต่างหากสำหรับวัตถุของคุณ สามารถใช้สำหรับไฟล์ภาพนิ่งรูปภาพวิดีโอหรือแม้แต่การโฮสต์แอพแบบคงที่ (js)

เห็นได้ชัดว่า EBS สำหรับที่เก็บข้อมูลแบบบล็อคซึ่งคุณสามารถติดตั้งระบบปฏิบัติการหรืออะไรก็ได้ที่เกี่ยวข้องกับระบบปฏิบัติการของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.