การจำลองแบบข้ามภูมิภาคสามารถป้องกันคนโง่ได้ 100% สำหรับพื้นที่ขาดหาย S3


19

Amazon S3 มีตัวเลือกในการจำลองข้อมูลข้ามภูมิภาคซึ่งน่าจะทนต่อความผิดพลาดจากการขาดพื้นที่ / โซน

นั่นหมายความว่าคนที่คุยโวเกี่ยวกับไฟดับไม่ได้ใช้ประโยชน์จากแง่มุมนี้หรือไม่?

หรือว่าการจำลองแบบข้ามภูมิภาคนั้นไม่ได้โง่อย่างสมบูรณ์และจะไม่ได้ช่วย?


เกี่ยวข้อง: devops.stackexchange.com/questions/83/…
Evgeny

@Evgeny ขอบคุณ ฉันกำลังอ่านโพสต์เดียวกันนั้นก่อนถาม :) :)
Dawny33

คำตอบ:


11

ข้อเสียเปรียบเมื่อมีการจำลองแบบมาจากหมายเหตุด้านล่าง:

Amazon S3 กำหนดเส้นทางคำขอโฮสต์แบบเสมือนใด ๆ ไปยังภูมิภาคตะวันออกของสหรัฐอเมริกา (รัฐเวอร์จิเนีย) ตามค่าเริ่มต้นหากคุณใช้จุดสิ้นสุด US East (N. Virginia) (s3.amazonaws.com) แทนปลายทางเฉพาะภูมิภาค (สำหรับ ตัวอย่าง s3-eu-west-1.amazonaws.com)

เมื่อคุณใช้การจำลองแบบคุณมักจะปล่อยให้ AWS ดูแลการกำหนดเส้นทางนามแฝงไปยังภูมิภาคหนึ่งโดยกำหนดเป้าหมายs3.amazonaws.comในคำขอ REST ของคุณจากเซิร์ฟเวอร์ของคุณและให้การเปลี่ยนเส้นทางทำได้

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

ปัญหาไม่ได้มาจาก DNS (คำขอไปยังที่ฝากข้อมูลจะใช้งานได้) แต่มาจากไคลเอนต์ S3 ซึ่งจะเชื่อมต่อกับ S3 API ปลายทางก่อนที่จะเข้าถึงที่ฝากข้อมูลในกรณีนี้การแก้ปัญหา dns จะเสร็จสิ้นs3.amazonaws.comและนี่คือเรา - จุดสิ้นสุดทิศตะวันออก -1

เมื่อคุณใช้นามแฝงภูมิภาคคุณจะสูญเสียความสมดุลในการโหลดได้ง่ายกว่าภูมิภาคด้วยการตรวจสุขภาพจาก AWS

หากคุณใช้ DNS cname ที่กำหนดเป้าหมายภูมิภาคเพื่อเปลี่ยนอย่างรวดเร็วคุณต้องรับผิดชอบ DNS TTL ของคุณ แต่ไม่มีอะไรรับประกันเซิร์ฟเวอร์แคชของ ISP ของลูกค้าที่จะเคารพคุณค่าของคุณ

และสุดท้ายถ้าคุณพยายามที่จะโหลดสมดุลด้วยตัวเองคุณอาจสร้าง SPOF เดียวกันกับ AWS ที่มีอยู่แล้วด้วยภาระที่เพิ่มขึ้นของการบำรุงรักษา

AWS กำลังทำงานอยู่ แต่นั่นคือข้อมูลทั้งหมดที่ฉันมีในขณะที่เขียน


ตามdocs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.htmlคุณสามารถใช้ 'bucketname.s3-eu-west-1.amazonaws.com' แทน (แทนภูมิภาคที่คุณโปรดปราน) เป็นชื่อแทน DNS IFF ที่ใช้งานได้อาจเป็นวิธีที่จะเปลี่ยนอย่างรวดเร็ว (เร็วที่สุดเท่าที่ TTL ของคุณกำหนดไว้ล่วงหน้า)
Michael Bravo

@MichaelBravo ขยายคำตอบในการแก้ไขความกังวลของคุณ :)
Tensibai

"แม้ว่าในทางทฤษฎีคุณสามารถใช้ CNAME เพื่อจุดสิ้นสุดของภูมิภาคคำตอบที่เชื่อถือได้นั้นขึ้นอยู่กับบริการใน N.Virginia เท่าที่ฉันรู้และฉันได้อ่านเกี่ยวกับเรื่องนี้" คุณกำลังอ้างถึงเส้นทางไปยังภูมิภาคตะวันออกของสหรัฐอเมริกา โดยค่าเริ่มต้นนอกบริบท ก่อนที่ที่example-bucketฝากข้อมูลจะมีexample-bucket.s3.amazonaws.comชี้ไปที่ US East ใน DNS ภายในไม่กี่นาทีของการสร้างที่เก็บข้อมูลเริ่มต้นการเปลี่ยนแปลงนี้จะชี้ไปยังจุดสิ้นสุดของภูมิภาคที่ถูกต้องอย่างถาวร คำเตือนที่นี่คือชื่อโฮสต์นี้อาจผิดไปชั่วครู่ทันทีหลังจากสร้างที่เก็บข้อมูล - ไม่ใช่ในภายหลัง
Michael - sqlbot

... ดังนั้น"เมื่อใดก็ตามที่ N.Virginia หยุดทำงานเวทมนต์ก็หยุดทำงานและคุณโชคไม่ดีที่จะเข้าถึงข้อมูลของคุณในภูมิภาคใด ๆ ด้วยวิธีการตั้งชื่อ DNS"จึงไม่ถูกต้อง ที่ฝากข้อมูลในภูมิภาคอื่น ๆ ไม่ได้รับผลกระทบจากไฟดับ us-east-1 รวมถึงที่อ้างอิงโดยใช้ชื่อโฮสต์สไตล์นี้
Michael - sqlbot

1
ไม่คุณทำไม่ได้ พวกเขาเปลี่ยนรายการ DNS สำหรับที่เก็บข้อมูลของคุณในs3.amazonaws.comโซนภายในไม่กี่นาทีของการสร้างที่เก็บข้อมูลและการเปลี่ยนแปลงนี้จะยังคงเป็นอิสระจาก us-east-1 สร้างที่เก็บข้อมูลในภูมิภาคอื่นและดูว่าyour-bucket-name.s3.amazonaws.comจะแก้ไขก่อนระหว่างและไม่กี่นาทีหลังจากสร้างที่เก็บข้อมูล ข้อมูลจะถูกส่งไปยังs3-1.amazonaws.comโซนในเส้นทาง 53 หลังจากสร้างที่เก็บข้อมูลและยังคงอยู่ที่นั่นโดยไม่ต้องพึ่งพาเราไปทางตะวันออก -1
Michael - sqlbot

10

บริษัท ใหญ่ ๆ หลายแห่งอาจผิดปกติที่ไม่ได้ใช้คุณสมบัตินี้ มันจะเพิ่มค่าใช้จ่ายเพิ่มเติมและในอดีตชนิดใด ๆ ของจริงภัยพิบัติโซลูชั่นการกู้คืนแม้จะยังไม่ทดลองหากดำเนินการ

นอกเหนือจากปัญหาด้านต้นทุนแล้ว บริษัท ที่ใช้การจำลองแบบข้ามภูมิภาคสามารถเสนอข้อกังวลที่ถูกต้องเกี่ยวกับเวลาแฝงที่ใช้สำหรับวัตถุที่จะทำซ้ำ S3 ไม่อนุญาต (เท่าที่ฉันรู้) ความสอดคล้องกันของการอ่านหลังจากเขียนบนวัตถุที่จำลองแบบแล้วในขณะที่มันอนุญาตให้ใช้ที่ฝากข้อมูลในภูมิภาคเดียว

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


8
ฉันจะให้ความสำคัญกับความจริงที่ว่าการจำลองแบบข้ามภูมิภาค S3 มีความสอดคล้องในที่สุดสำหรับการดำเนินการบางอย่าง นั่นไม่สำคัญที่จะต้องคำนึงถึง ขึ้นอยู่กับแอปพลิเคชันอาจยอมรับไม่ได้เลย ไม่ว่าในกรณีใดมันไม่ใช่เรื่องโง่เขลา (สามารถนำไปสู่ปัญหาที่ใหญ่กว่าได้ถ้ามีคนสมมติว่ามันวิเศษ)
Alexandre
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.