- Amazon Kinesis›
- Data Streams›
- คำถามที่พบบ่อย
คำถามที่พบบ่อยเกี่ยวกับ Amazon Kinesis Data Streams
หัวข้อของหน้า
ข้อมูลทั่วไปข้อมูลทั่วไป
Amazon Kinesis Data Stream คืออะไร
Kinesis Data Streams ช่วยให้คุณสร้างแอปพลิเคชันแบบกำหนดเองที่ประมวลผลหรือวิเคราะห์ข้อมูลการสตรีมได้เมื่อต้องการใช้งานเฉพาะทาง คุณสามารถเพิ่มข้อมูลหลากหลายประเภท เช่น คลิกสตรีม บันทึกของแอปพลิเคชัน และโซเชียลมีเดียลงใน Kinesis Data Stream จากแหล่งข้อมูลนับแสน ข้อมูลจะพร้อมให้แอปพลิเคชันอ่านและประมวลผลจากสตรีมได้ภายในไม่กี่วินาที
Kinesis Data Streams จัดการอะไรในนามของฉันบ้าง
Kinesis Data Streams จะจัดการโครงสร้างพื้นฐาน พื้นที่จัดเก็บ เครือข่าย และการกำหนดค่าที่จำเป็นสำหรับการ Data Stream ที่ระดับอัตราการโอนถ่ายข้อมูลของคุณ คุณจึงไม่ต้องกังวลเรื่องการเตรียมใช้งาน การปรับใช้งาน หรือการซ่อมบำรุงฮาร์ดแวร์ ซอฟต์แวร์อย่างต่อเนื่อง หรือบริการอื่นๆ สำหรับ Data Stream นอกจากนี้ Kinesis Data Streams จะทำซ้ำข้อมูลจาก Availability Zone สามแห่ง เพื่อมอบความพร้อมใช้งานสูงและความทนทานของข้อมูลในเวลาเดียวกัน ตามค่าเริ่มต้น Kinesis Data Streams จะปรับขนาดความจุโดยอัตโนมัติ ทำให้คุณไม่ต้องจัดเตรียมและจัดการความจุเอง คุณสามารถเลือกโหมดที่เตรียมใช้งานได้หากต้องการจัดเตรียมและจัดการอัตราการโอนถ่ายข้อมูลด้วยตัวเอง
ฉันสามารถดำเนินการใดกับ Kinesis Data Streams ได้บ้าง
Kinesis Data Streams มีประโยชน์สำหรับการย้ายข้อมูลออกจากตัวผลิตข้อมูลอย่างรวดเร็วแล้วจึงประมวลผลข้อมูลอย่างต่อเนื่อง ไม่ว่าจะหมายถึงการแปลงข้อมูลก่อนปล่อยข้อมูลไปยังที่จัดเก็บข้อมูล เรียกใช้ตัววัดและการวิเคราะห์แบบเรียลไทม์ หรือส่งมอบ Data Stream ที่ซับซ้อนมากขึ้นเพื่อประมวลผลเพิ่มเติมก็ตาม
รายการต่อไปนี้เป็นสถานการณ์ทั่วไปสำหรับการใช้ Kinesis Data Streams:
- บันทึกและการนำเข้าฟีดข้อมูลแบบเร่งด่วน: คุณสามารถทำให้ตัวผลิตข้อมูลถ่ายโอนข้อมูลไปยัง Kinesis Data Stream ได้ทันทีที่สร้างข้อมูลนั้นเพื่อป้องกันข้อมูลสูญหายในกรณีที่ตัวผลิตล้มเหลว แทนที่จะรอการจัดการข้อมูลเป็นชุด ตัวอย่างเช่น เพิ่มบันทึกระบบและแอปพลิเคชันไปยังสตรีมข้อมูลอย่างต่อเนื่องและบันทึกระบบและแอปพลิเคชันจะพร้อมใช้งานสำหรับการประมวลผลในไม่กี่วินาที
- ตัววัดและการรายงานแบบเรียลไทม์: คุณสามารถแยกตัววัดและสร้างรายงานจาก Kinesis Data Stream ได้แบบเรียลไทม์ ตัวอย่างเช่น แอปพลิเคชัน Amazon Kinesis สามารถจัดทำตัววัดและการรายงานสำหรับบันทึกระบบและแอปพลิเคชันได้ในขณะที่ข้อมูลกำลังสตรีมเข้ามา แทนที่จะรอเพื่อรับชุดข้อมูล
- การวิเคราะห์ข้อมูลแบบเรียลไทม์: ด้วย Kinesis Data Streams คุณสามารถเรียกใช้การวิเคราะห์ข้อมูลการสตรีมแบบเรียลไทม์ได้ ตัวอย่างเช่น คุณสามารถเพิ่มคลิกสตรีมลงในสตรีมข้อมูล Kinesis และให้แอปพลิเคชัน Kinesis เรียกใช้การวิเคราะห์แบบเรียลไทม์ ซึ่งช่วยให้คุณได้รับข้อมูลเชิงลึกจากข้อมูลของคุณในเวลาไม่กี่นาทีแทนที่จะเป็นหลายชั่วโมงหรือหลายวัน
- การเก็บรวบรวมข้อมูลบันทึกและเหตุการณ์: รวบรวมบันทึกและข้อมูลเกี่ยวกับเหตุการณ์จากแหล่งข้อมูลต่างๆ ได้ เช่น เซิร์ฟเวอร์ เดสก์ท็อป และอุปกรณ์มือถือ จากนั้นคุณจึงสามารถสร้างแอปพลิเคชันโดยใช้ Amazon Lambda หรือบริการที่มีการจัดการของ Amazon สำหรับ Apache Flink เพื่อประมวลผลข้อมูลอย่างต่อเนื่อง สร้างตัววัด สร้างแดชบอร์ดแบบเรียลไทม์ และส่งข้อมูลที่รวบรวมไปยังพื้นที่จัดเก็บ เช่น Amazon Simple Storage Service (Amazon S3)
- เพิ่มประสิทธิภาพแอปพลิเคชันที่ขับเคลื่อนด้วยเหตุการณ์: จับคู่กับ AWS Lambda อย่างรวดเร็วเพื่อตอบสนองหรือปรับเหตุการณ์ที่เกิดขึ้นทันทีภายในแอปพลิเคชันที่ขับเคลื่อนด้วยเหตุการณ์ในสภาพแวดล้อมของคุณในทุกระดับ
ฉันจะใช้ Kinesis Data Streams ได้อย่างไร
หลังจากที่คุณลงชื่อสมัครใช้ AWS คุณสามารถเริ่มใช้ Kinesis Data Streams ได้โดยการสร้าง Kinesis Data Stream ผ่านคอนโซลการจัดการของ AWS หรือการดำเนินการ CreateStream จากนั้นจึงกำหนดค่าตัวผลิตข้อมูลเพื่อเพิ่มข้อมูลลงในสตรีมข้อมูลของคุณอย่างต่อเนื่อง คุณสามารถเลือกส่งข้อมูลจากทรัพยากรที่มีอยู่ในบริการของ AWS เช่น Amazon DynamoDB, Amazon Aurora, Amazon CloudWatch และ AWS IoT Core ได้ จากนั้นคุณสามารถใช้ AWS Lambda, บริการวิเคราะห์ข้อมูลของบริการที่มีการจัดการของ Amazon สำหรับ Apache Flink หรือ AWS Glue Streaming เพื่อประมวลผลข้อมูลที่จัดเก็บไว้ใน Kinesis Data Streams ได้อย่างรวดเร็ว คุณยังสามารถสร้างแอปพลิเคชันแบบกำหนดเองที่ทำงานบน Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS) และ Amazon Elastic Kubernetes Service (Amazon EKS) ได้โดยใช้ Amazon Kinesis API หรือ Amazon Kinesis Client Library (KCL)
แนวคิดสำคัญ
ส่วนข้อมูล ตัวผลิต และผู้ใช้ใน Kinesis Data Streams คืออะไร
ส่วนแบ่งข้อมูลมีลำดับของบันทึกข้อมูลในสตรีม ซึ่งทำหน้าที่เป็นหน่วยปริมาณการประมวลผลพื้นฐานของสตรีมข้อมูล Kinesis ส่วนแบ่งข้อมูลรองรับ 1 MB/วินาที และ 1,000 บันทึกต่อวินาทีสำหรับการเขียนและ 2 MB/วินาทีสำหรับการอ่าน ขีดจำกัดของส่วนแบ่งข้อมูลช่วยรับรองประสิทธิภาพที่คาดการณ์ได้ ทำให้การออกแบบและดำเนินการตามเวิร์กโฟลว์การสตรีมข้อมูลที่มีความน่าเชื่อถือสูงเป็นเรื่องง่าย ตัวผลิตใส่บันทึกข้อมูลลงในส่วนแบ่งข้อมูล และผู้ใช้จะได้รับบันทึกข้อมูลจากส่วนแบ่งข้อมูล ผู้ใช้ใช้ส่วนแบ่งข้อมูลสำหรับการประมวลผลข้อมูลแบบขนานและสำหรับการใช้ข้อมูลตามลำดับที่จัดเก็บ หากการเขียนและอ่านเกินขีดจำกัดของส่วนแบ่งข้อมูล แอปพลิเคชันของตัวผลิตและผู้ใช้จะได้รับการควบคุม ซึ่งสามารถจัดการได้ผ่านการลองอีกครั้ง
บันทึกคืออะไร
บันทึกเป็นหน่วยข้อมูลที่เก็บไว้ใน Amazon Kinesis Data Stream บันทึกประกอบด้วยหมายเลขลำดับ คีย์พาร์ติชัน และข้อมูลบล็อบ ข้อมูลบล็อบเป็นข้อมูลที่น่าสนใจซึ่งตัวผลิตข้อมูลเพิ่มไปยังสตรีมข้อมูล ขนาดสูงสุดของข้อมูลบล็อบ (เพย์โหลดข้อมูลก่อนการเข้ารหัส Base64) คือ 1 เมกะไบต์ (MB)
คีย์พาร์ติชันคืออะไร
มีการใช้คีย์พาร์ติชันเพื่อแยกและกำหนดเส้นทางบันทึกไปยังส่วนข้อมูลต่างๆ ของ Data Stream คีย์พาร์ติชันได้รับการระบุโดยตัวผลิตข้อมูลขณะที่เพิ่มข้อมูลไปยัง Kinesis Data Stream ตัวอย่างเช่น สมมติว่าคุณมีสตรีมข้อมูลพร้อมส่วนแบ่งข้อมูลสองส่วน (ส่วนแบ่งข้อมูลที่ 1 และส่วนแบ่งข้อมูลที่ 2) คุณสามารถกำหนดค่าตัวผลิตข้อมูลให้ใช้คีย์พาร์ติชันสองคีย์ได้ (คีย์ A และคีย์ B) เพื่อให้เพิ่มบันทึกทั้งหมดที่มีคีย์ A ลงในส่วนแบ่งข้อมูลที่ 1 และเพิ่มบันทึกทั้งหมดที่มีคีย์ B ลงในส่วนแบ่งข้อมูลที่ 2
หมายเลขลำดับคืออะไร
หมายเลขลำดับคือตัวระบุที่ไม่ซ้ำกันสำหรับแต่ละบันทึก Amazon Kinesis จะมอบหมายหมายเลขลำดับเมื่อตัวผลิตข้อมูลเรียกใช้การดำเนินการ PutRecord หรือ PutRecords เพื่อเพิ่มข้อมูลไปยังสตรีมข้อมูล Amazon Kinesis หมายเลขลำดับสำหรับคีย์พาร์ติชันเดียวกันจะเพิ่มขึ้นตามช่วงเวลา ยิ่งช่วงเวลาระหว่างคำขอ PutRecord หรือ PutRecords ยาวนานขึ้นเท่าไร หมายเลขลำดับก็จะยิ่งมากขึ้นเท่านั้น
โหมดความจุคืออะไร
โหมดความจุของ Kinesis Data Streams จะกำหนดวิธีการจัดการความจุและค่าบริการสำหรับสตรีมข้อมูล คุณสามารถเลือกระหว่างโหมดที่เตรียมใช้งานและตามความต้องการได้ ในโหมดที่เตรียมใช้งาน คุณจะระบุจำนวนส่วนแบ่งข้อมูลสำหรับสตรีมข้อมูล ความจุรวมของสตรีมข้อมูลคือผลรวมของความจุของส่วนแบ่งข้อมูล คุณสามารถเพิ่มหรือลดจำนวนส่วนแบ่งข้อมูลในสตรีมข้อมูลได้ตามต้องการ และคุณชำระค่าบริการตามจำนวนส่วนแบ่งข้อมูลในอัตรารายชั่วโมง ในโหมดตามความต้องการ AWS จะจัดการส่วนแบ่งข้อมูลเพื่อให้ปริมาณการประมวลผลที่จำเป็น คุณชำระค่าบริการสำหรับปริมาณการประมวลผลจริงที่ใช้เท่านั้น และ Kinesis Data Streams จะปรับความต้องการปริมาณการประมวลผลปริมาณงานของคุณโดยอัตโนมัติเมื่อเพิ่มขึ้นหรือลดลง API การอ่านและการเขียนทั้งหมดของ Kinesis Data Streams พร้อมด้วยคุณสมบัติเสริม เช่นการขยายเวลาเก็บรักษาและการกระจายที่ปรับปรุงแล้วได้รับการสนับสนุนในทั้งสองโหมดความจุ
ฉันสามารถเลือกระหว่างโหมดตามความต้องการและโหมดที่เตรียมใช้งานได้อย่างไร
โหมดตามความต้องการเหมาะที่สุดสำหรับปริมาณงานที่มีรูปแบบการรับส่งข้อมูลที่คาดการณ์ไม่ได้และมีความแปรผันสูง คุณควรใช้โหมดนี้หากคุณต้องการให้ AWS จัดการความจุในนามของคุณหรือต้องการราคาแบบจ่ายตามปริมาณการประมวลผล โหมดที่เตรียมใช้งานเหมาะที่สุดสำหรับการรับส่งข้อมูลที่คาดการณ์ได้ ซึ่งความต้องการด้านความจุนั้นคาดการณ์ได้ง่าย คุณควรพิจารณาใช้โหมดที่เตรียมใช้งานหากต้องการควบคุมวิธีกระจายข้อมูลในส่วนแบ่งข้อมูลแบบละเอียด โหมดที่เตรียมใช้งานยังเหมาะสมอีกด้วยหากคุณต้องการจัดเตรียมส่วนแบ่งข้อมูลเพิ่มเติม เพื่อให้แอปพลิเคชันที่ใช้งานหนักสามารถมีปริมาณการประมวลผลการอ่านที่มากขึ้นเพื่อเพิ่มความเร็วในการประมวลผลโดยรวม
ฉันสามารถสลับระหว่างโหมดความจุตามความต้องการและโหมดที่เตรียมใช้งานได้หรือไม่
ใช่ คุณสามารถสลับระหว่างโหมดความจุตามความต้องการและโหมดที่เตรียมใช้งานได้วันละสองครั้ง จำนวนส่วนแบ่งข้อมูลของสตรีมข้อมูลยังคงเท่าเดิมเมื่อคุณเปลี่ยนจากโหมดที่เตรียมใช้งานเป็นโหมดตามความต้องการหรือในทางกลับกัน การเปลี่ยนจากโหมดความจุที่เตรียมใช้งานเป็นโหมดความจุตามความต้องการทำให้สตรีมข้อมูลของคุณคงจำนวนส่วนแบ่งข้อมูลที่มีอยู่ก่อนการเปลี่ยนแปลงไว้ได้ แต่จากจุดดังกล่าว Kinesis Data Streams จะตรวจสอบการรับส่งข้อมูลของคุณและปรับขนาดจำนวนส่วนแบ่งข้อมูลของสตรีมข้อมูลแบบตามความต้องการเพิ่มขึ้นหรือลดลง โดยขึ้นอยู่กับการเพิ่มขึ้นหรือลดลงของการรับส่งข้อมูล
การเพิ่มข้อมูลไปยัง Kinesis Data Streams
ฉันจะเพิ่มข้อมูลไปยัง Amazon Kinesis Data Stream ได้อย่างไร
คุณสามารถเพิ่มข้อมูลไปยัง Kinesis Data Stream ได้ผ่าน PutRecord และ PutRecords Operation, KPL หรือเจ้าหน้าที่ Amazon Kinesis
ความแตกต่างระหว่าง PutRecord และ PutRecords คืออะไร
การดำเนินการ PutRecord ช่วยให้สามารถบันทึกข้อมูลเดี่ยวภายในการเรียกใช้ API ได้และการดำเนินการ PutRecords ช่วยให้สามารถบันทึกข้อมูลหลายรายการภายในการเรียกใช้ API ได้ สำหรับข้อมูลเพิ่มเติม โปรดดู PutRecord และ PutRecords
Amazon Kinesis Producer Library (KPL) คืออะไร
KPL เป็นไลบรารีที่กำหนดค่าได้มากและใช้งานง่ายซึ่งช่วยให้คุณใส่ข้อมูลไปยัง Data Stream Amazon Kinesis KPL แสดงอินเทอร์เฟซแบบอะซิงโครนัสที่เรียบง่ายและเชื่อถือได้ ที่ช่วยให้คุณสามารถบรรลุอัตราการโอนถ่ายข้อมูลของตัวผลิตได้อย่างรวดเร็วโดยใช้ทรัพยากรของไคลเอ็นต์ที่น้อยที่สุด
Amazon Kinesis Agent คืออะไร
Amazon Kinesis Agent คือแอปพลิเคชัน Java ที่สร้างไว้ล่วงหน้าซึ่งนำเสนอวิธีรวบรวมและส่งข้อมูลไปยังสตรีมข้อมูล Kinesis ของคุณ คุณสามารถติดตั้งเอเจนต์ในสภาพแวดล้อมเซิร์ฟเวอร์ที่ใช้ Linux เช่น เว็บเซิร์ฟเวอร์ เซิร์ฟเวอร์บันทึก และเซิร์ฟเวอร์ฐานข้อมูล เอเจนต์จะตรวจสอบบางไฟล์และส่งข้อมูลไปยังสตรีมข้อมูลของคุณอย่างต่อเนื่อง สำหรับข้อมูลเพิ่มเติม โปรดดูการเขียนด้วย Agent
ระบบจะนับข้อมูลใดบ้างเพื่อเทียบกับอัตราการโอนถ่ายข้อมูลของ Amazon Kinesis Data Stream ระหว่างการเรียกใช้ PutRecord หรือ PutRecords
จำเป็นต้องมีข้อมูลบล็อบ คีย์พาร์ติชัน และชื่อ Data Stream ของ PutRecord หรือ PutRecords โดยจะนับขนาดของข้อมูลบล็อบ (ก่อนการเข้ารหัส Base64) และคีย์พาร์ติชันเทียบกับปริมาณการประมวลผลข้อมูลของสตรีมข้อมูล Amazon Kinesis ซึ่งกำหนดโดยจำนวนส่วนแบ่งข้อมูลภายในสตรีมข้อมูล
การอ่านและการประมวลผลข้อมูลจาก Kinesis Data Streams
ผู้ใช้คืออะไร และผู้ใช้ประเภทต่างๆ ที่ Kinesis Data Streams นำเสนอมีอะไรบ้าง
ผู้ใช้คือแอปพลิเคชันที่ประมวลผลข้อมูลทั้งหมดจาก Kinesis Data Stream คุณสามารถเลือกระหว่างประเภทผู้ใช้การกระจายที่ใช้ร่วมกันและการกระจายที่ปรับปรุงแล้วเพื่ออ่านข้อมูลจากสตรีมข้อมูล Kinesis ผู้ใช้การกระจายที่ใช้ร่วมกันทั้งหมดจะแบ่งปันปริมาณการประมวลผลการอ่านของส่วนแบ่งข้อมูลที่ 2 MB/วินาที และขีดจำกัด 5 ธุรกรรมต่อวินาที และต้องใช้ GetRecords API ผู้ใช้การกระจายที่ปรับปรุงแล้วจะได้รับการจัดสรรปริมาณการประมวลผลการอ่านของตัวเองที่ 2 MB/วินาที ทำให้ผู้ใช้หลายรายการสามารถอ่านข้อมูลจากสตรีมเดียวกันแบบขนานกัน โดยไม่ต้องแย่งชิงปริมาณการประมวลผลการอ่านกับผู้ใช้รายอื่นๆ คุณต้องใช้ SubscribeToShard API ร่วมกับผู้ใช้การกระจายที่ปรับปรุงแล้ว เราขอแนะนำให้ใช้ผู้ใช้การกระจายที่ปรับปรุงแล้ว หากคุณต้องการเพิ่มผู้ใช้มากกว่าหนึ่งรายการใน Data Stream ของคุณ
ฉันจะประมวลผลข้อมูลที่บันทึกและจัดเก็บไว้ใน Kinesis Data Streams ได้อย่างไร
คุณสามารถใช้บริการที่มีการจัดการ เช่น AWS Lambda, บริการที่มีการจัดการของ Amazon สำหรับ Apache Flink และ AWS Glue เพื่อประมวลผลข้อมูลที่จัดเก็บไว้ใน Kinesis Data Streams ได้ บริการที่มีการจัดการเหล่านี้จะดูแลการจัดเตรียมและจัดการโครงสร้างพื้นฐานต่างๆ เพื่อให้คุณสามารถมุ่งเน้นไปที่การเขียนตรรกะทางธุรกิจของคุณได้ คุณยังสามารถส่งข้อมูลที่จัดเก็บไว้ใน Kinesis Data Streams ไปยัง Amazon S3, Amazon OpenSearch Service, Amazon Redshift และตำแหน่งข้อมูล HTTP แบบกำหนดเองได้โดยใช้การผสานรวมที่สร้างไว้ล่วงหน้ากับ Kinesis Data Firehose คุณยังสามารถสร้างแอปพลิเคชันที่กำหนดเองได้โดยใช้ Amazon Kinesis Client Library ซึ่งเป็นไลบรารีที่สร้างไว้ล่วงหน้า หรือ Amazon Kinesis Data Streams API ได้อีกด้วย
Amazon Kinesis Client Library (KCL) คืออะไร
KCL สำหรับ Java, Python, Ruby, Node.js และ .NET คือไลบรารีที่สร้างไว้ล่วงหน้าซึ่งช่วยให้คุณสร้าง Amazon Kinesis Application ได้อย่างง่ายดายเพื่ออ่านและประมวลผลข้อมูลจาก Amazon Kinesis Data Stream
KCL จัดการกับปัญหาที่ซับซ้อน เช่น การปรับตัวให้เข้ากับการเปลี่ยนแปลงปริมาณของ Data Stream การบาลานซ์โหลด Data Stream การประสานงานบริการที่มีการกระจาย และการประมวลผลข้อมูลที่ทนทานต่อความเสียหาย KCL ทำให้คุณสามารถมุ่งเน้นเหตุผลทางธุรกิจขณะที่สร้างแอปพลิเคชัน โปรดดูเอกสารประกอบ Kinesis Data Streams ได้ที่นี่สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ KCL
SubscribeToShard API คืออะไร
SubscribeToShard API เป็น API การสตรีมที่มีประสิทธิภาพสูงซึ่งจะดึงข้อมูลจากส่วนแบ่งข้อมูลไปยังผู้ใช้ผ่านการเชื่อมต่อแบบต่อเนื่องโดยไม่มีวงจรการร้องขอจากลูกค้า SubscribeToShard API ใช้โปรโตคอล HTTP/2 เพื่อส่งมอบข้อมูลให้แก่ผู้ใช้ที่ลงทะเบียนตลอดเวลาที่มีข้อความใหม่เข้ามาที่ส่วนแบ่งข้อมูล โดยปกติจะได้รับใน 70 มิลลิวินาที ซึ่งส่งมอบเร็วกว่า GetRecords API ประมาณ 65% ตัวรับจะได้รับการจัดส่งที่รวดเร็ว แม้ขณะมีตัวรับที่ลงทะเบียนหลายตัวกำลังอ่านจากส่วนข้อมูลเดียวกัน
การกระจายที่ปรับปรุงแล้วคืออะไร
การกระจายออกที่ปรับปรุงแล้วเป็นคุณสมบัติที่เป็นตัวเลือกสำหรับตัวรับ Kinesis Data Streams โดยจะเพิ่มเส้นทางเชิงลอจิกขนาด 2 MB/วินาที เข้าไประหว่างตัวรับกับส่วนแบ่งข้อมูล คุณสมบัตินี้ช่วยให้คุณสามารถปรับจำนวนตัวรับที่อ่านจากสตรีมข้อมูลพร้อมกัน ขณะเดียวกันก็รักษาประสิทธิภาพระดับสูงไว้ได้
ฉันควรใช้การกระจายที่ปรับปรุงแล้วเมื่อใด
คุณควรใช้การกระจายที่ปรับปรุงแล้วหากคุณมีหรือคาดว่าจะมีผู้ใช้หลายรายที่ดึงข้อมูลจากสตรีมแบบคู่ขนาน หรือหากคุณมีผู้ใช้อย่างน้อยหนึ่งรายขึ้นไปที่ต้องใช้ SubscribeToShard API เพื่อให้ความเร็วในการจัดส่งข้อมูลย่อย 200 มิลลิวินาทีระหว่างตัวผลิตและผู้ใช้
ผู้ใช้จะใช้ประโยชน์จากการกระจายที่ปรับปรุงแล้วได้อย่างไร
ผู้ใช้จะใช้ประโยชน์จากการกระจายที่ปรับปรุงแล้วโดยการดึงข้อมูลด้วย SubscribeToShard API มีการใช้ชื่อของผู้ใช้ที่ลงทะเบียนภายใน SubscribeToShard API ซึ่งจะนำไปสู่การใช้ประโยชน์จากสิทธิประโยชน์การกระจายที่ปรับปรุงแล้วให้แก่ผู้ใช้ที่ลงทะเบียน
ฉันสามารถให้ผู้ใช้บางรายได้ใช้การกระจายที่ปรับปรุงแล้วในขณะที่ไม่ให้บางคนใช้ได้หรือไม่
ใช่ คุณสามารถให้ผู้ใช้หลายรายใช้การกระจายที่ปรับปรุงแล้วและไม่ให้บางคนใช้ในเวลาเดียวกันได้ การใช้การกระจายออกที่ปรับปรุงแล้วจะไม่ส่งผลต่อขีดจำกัดส่วนแบ่งข้อมูลสำหรับการใช้ GetRecords แบบเดิม
ฉันจำเป็นต้องใช้การกระจายที่ปรับปรุงแล้ว หากต้องการใช้ SubscribeToShard หรือไม่
ใช่ คุณจำเป็นต้องลงทะเบียนผู้ใช้ของคุณซึ่งจะเปิดใช้งานการกระจายที่ปรับปรุงแล้วเพื่อใช้ SubscribeToShard ผู้ใช้ของคุณจะใช้ประโยชน์การกระจายที่ปรับปรุงแล้วโดยอัตโนมัติตามค่าเริ่มต้นเมื่อดึงข้อมูลผ่าน SubscribeToShard
โหมดตามต้องการ
โควตาอัตราการโอนถ่ายข้อมูลเริ่มต้นในการเขียนข้อมูลลงใน Data Stream โดยใช้โหมดตามความต้องการมีอะไรบ้าง
สตรีมข้อมูลใหม่ที่สร้างขึ้นในโหมดตามความต้องการมีโควตา 4 MB/วินาที และ 4,000 บันทึกต่อวินาทีสำหรับการเขียน ตามค่าเริ่มต้น สตรีมเหล่านี้จะปรับขนาดโดยอัตโนมัติสูงสุด 200 MB/วินาที และ 200,000 บันทึกต่อวินาทีสำหรับการเขียน
Data Stream ปรับขนาดในโหมดตามความต้องการเพื่อรองรับอัตราการโอนถ่ายข้อมูลการเขียนที่เพิ่มขึ้นได้อย่างไร
สตรีมข้อมูลในโหมดตามความต้องการรองรับปริมาณการประมวลผลการเขียนสูงสุดก่อนหน้านี้สองเท่าซึ่งสังเกตได้ในช่วง 30 วันที่ผ่านมา ในขณะที่ปริมาณการประมวลผลการเขียนของสตรีมข้อมูลถึงระดับสูงสุดใหม่ Kinesis Data Streams จะปรับขนาดความจุของสตรีมโดยอัตโนมัติ ตัวอย่างเช่น หากสตรีมข้อมูลของคุณมีปริมาณการประมวลผลการเขียนที่แตกต่างกันระหว่าง 10 MB/วินาที และ 40 MB/วินาที Kinesis Data Streams จะรับรองว่าคุณสามารถเพิ่มปริมาณการประมวลผลสูงสุดเป็นสองเท่าได้อย่างรวดเร็วที่ 80 MB/วินาทีได้อย่างง่ายดาย ต่อจากนั้น หากสตรีมข้อมูลเดียวกันคงปริมาณการประมวลผลสูงสุดใหม่ไว้ที่ 50 MB/วินาที Data Streams จะรับรองว่ามีความจุเพียงพอที่จะนำเข้าปริมาณการประมวลผลการเขียนที่ 100 MB/วินาที อย่างไรก็ตาม คุณจะเห็นข้อยกเว้น "ProvisionedThroughputExceeded" หากการรับส่งข้อมูลของคุณเพิ่มขึ้นมากกว่าสองเท่าของระดับสูงสุดก่อนหน้าภายในระยะเวลา 15 นาที คุณต้องลองส่งคำขอที่มีการควบคุมปริมาณเหล่านี้อีกครั้ง
ขีดจำกัดอัตราการโอนถ่ายข้อมูลสำหรับการอ่านข้อมูลจากสตรีมในโหมดตามความต้องการมีอะไรบ้าง
ความจุในการอ่านรวมของโหมดตามความต้องการจะเพิ่มตามสัดส่วนของปริมาณการประมวลผลการเขียน เพื่อรับรองว่าแอปพลิเคชันที่ใช้งานหนักมีปริมาณการประมวลผลการอ่านที่เพียงพอเสมอเพื่อประมวลผลข้อมูลขาเข้าแบบเรียลไทม์ คุณได้รับปริมาณการประมวลผลการเขียนอย่างน้อยสองเท่าเพื่ออ่านข้อมูลโดยใช้ GetRecords API เราขอแนะนำให้ใช้ผู้ใช้รายการเดียวที่มี GetRecord API เพื่อให้มีพื้นที่เพียงพอในการติดตามเมื่อแอปพลิเคชันจำเป็นต้องกู้คืนจากการหยุดทำงาน หากต้องการเพิ่มแอปพลิเคชันที่ใช้งานหนักมากกว่าหนึ่งรายการ คุณต้องใช้การกระจายที่ปรับปรุงแล้ว ซึ่งรองรับการเพิ่มผู้ใช้ได้สูงสุดถึง 20 รายการในสตรีมข้อมูลโดยใช้ SubscribeToShard API โดยแต่ละรายการมีปริมาณการประมวลผลเฉพาะ
โหมดที่เตรียมใช้งาน
ขีดจำกัดของ Kinesis Data Streams ในโหมดที่เตรียมใช้งานมีอะไรบ้าง
ปริมาณการประมวลผลของสตรีมข้อมูล Kinesis ในโหมดที่เตรียมใช้งานออกแบบมาให้ปรับขนาดได้ไม่จำกัดด้วยการเพิ่มจำนวนส่วนแบ่งข้อมูลในสตรีมข้อมูล
ฉันจะปรับขนาดความจุของ Kinesis Data Streams ในโหมดที่เตรียมใช้งานได้อย่างไร
คุณสามารถเพิ่มขนาดความจุ Kinesis Data Stream ได้ในโหมดที่เตรียมใช้งานโดยแยกส่วนข้อมูลที่มีอยู่โดยใช้ SplitShard API คุณสามารถลดขนาดความจุได้โดยการรวมส่วนข้อมูล 2 ส่วนเข้าด้วยกันโดยใช้ MergeShard API หรือคุณสามารถใช้ UpdateShardCount API เพื่อเพิ่มขนาด (หรือลดขนาด) ความจุของสตรีมเป็นจำนวนส่วนแบ่งข้อมูลเฉพาะได้
ฉันจะตัดสินใจเรื่องอัตราการโอนถ่ายข้อมูลของ Amazon Kinesis Data Stream ในโหมดที่เตรียมใช้งานได้อย่างไร
ปริมาณการประมวลผลของสตรีมข้อมูล Kinesis จะพิจารณาจากจำนวนส่วนแบ่งข้อมูลภายในสตรีมข้อมูลนั้น ทำตามขั้นตอนต่อไปนี้เพื่อประมาณจำนวนส่วนแบ่งข้อมูลเริ่มต้นที่สตรีมข้อมูลต้องการโหมดที่เตรียมใช้งาน โปรดทราบว่าคุณสามารถปรับจำนวนส่วนแบ่งข้อมูลภายในสตรีมข้อมูลได้แบบไดนามิกด้วยการแบ่งอีกครั้ง
ประมาณขนาดโดยเฉลี่ยของบันทึกที่เขียนไปยังสตรีมข้อมูลเป็นกิโลไบต์ (KB) ปัดเศษเป็น 1 KB ให้ใกล้เคียงที่สุด (average_data_size_in_KB)
ประมาณจำนวนบันทึกที่เขียนไปยังสตรีมข้อมูลต่อวินาที (number_of_records_per_second)
ระบุจำนวน Amazon Kinesis Application ที่ใช้ข้อมูลจากสตรีมข้อมูลพร้อมกันและที่ใช้แยกจากกัน (number_of_consumers)
คำนวณแบนด์วิดท์การเขียนขาเข้าเป็น KB (incoming_write_bandwidth_in_KB) ซึ่งเท่ากับ average_data_size_in_KB คูณด้วย number_of_records_per_second
คำนวณแบนด์วิดท์การอ่านขาออกเป็น KB (outgoing_read_bandwidth_in_KB) ซึ่งเท่ากับ incoming_write_bandwidth_in_KB คูณด้วย number_of_consumers
จากนั้นคุณสามารถคำนวณจำนวนส่วนแบ่งข้อมูลเริ่มต้น (number_of_shards) ที่สตรีมข้อมูลต้องการได้โดยใช้สูตรต่อไปนี้: number_of_shards = max (incoming_write_bandwidth_in_KB/1000, outgoing_read_bandwidth_in_KB/2000)
อัตราการโอนถ่ายข้อมูลสูงสุดที่ฉันสามารถร้องขอได้สำหรับ Amazon Kinesis Data Stream ในโหมดที่เตรียมใช้งานคือเท่าใด
ปริมาณการประมวลผลของสตรีมข้อมูล Kinesis ได้รับการออกแบบมาเพื่อปรับขนาดโดยไม่มีขีดจำกัด โควตา Shard เริ่มต้นคือ 500 Shard ต่อสตรีมสำหรับรีเจี้ยน AWS ต่อไปนี้: สหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ), สหรัฐอเมริกาฝั่งตะวันตก (ออริกอน) และสหภาพยุโรป (ไอร์แลนด์) สำหรับรีเจี้ยน AWS อื่นๆ ทั้งหมด โควตาส่วนแบ่งข้อมูลเริ่มต้นคือ 200 ส่วนต่อสตรีม คุณสามารถขอโควตาส่วนแบ่งข้อมูลเพิ่มโดยใช้ Service Quotas Console ของ AWS
จะเกิดอะไรขึ้นหากใช้บริการเกินข้อจำกัดด้านความจุของ Amazon Kinesis Data Stream ขณะที่ตัวผลิตข้อมูลเพิ่มข้อมูลไปยัง Data Stream ในโหมดที่เตรียมใช้งาน
ในโหมดที่เตรียมใช้งาน ขีดจำกัดความจุของสตรีมข้อมูล Kinesis ได้รับการกำหนดด้วยจำนวนของส่วนแบ่งข้อมูลในสตรีมข้อมูลนั้นๆ ขีดจำกัดความจุอาจเกินเพราะมีปริมาณการประมวลผลข้อมูลหรือจำนวนบันทึก PUT เกิน ขณะที่เกินขีดจำกัดความจุ การเรียกข้อมูล Put จะถูกปฏิเสธโดยมีข้อยกเว้น ProvisionedThroughputExceeded หากเป็นเพราะอัตราการอินพุตข้อมูลของสตรีมข้อมูลที่เพิ่มขึ้นชั่วคราว ให้ลองอีกครั้งโดยตัวผลิตข้อมูลจะทำให้การส่งคำขอเสร็จสมบูรณ์ในท้ายที่สุด หากเป็นเพราะอัตราการอินพุตข้อมูลของสตรีมข้อมูลที่เพิ่มขึ้นอย่างต่อเนื่อง คุณควรเพิ่มจำนวนส่วนแบ่งข้อมูลในสตรีมข้อมูลของคุณเพื่อให้มีความจุเพียงพอสำหรับการเรียกใช้การส่งข้อมูลให้สำเร็จอย่างสม่ำเสมอ สำหรับทั้งสองกรณีดังกล่าว ตัววัด Amazon CloudWatch จะช่วยให้คุณสามารถเรียนรู้เกี่ยวกับการเปลี่ยนแปลงของอัตราการอินพุตข้อมูลของสตรีมข้อมูลและการเกิดข้อยกเว้น ProvisionedThroughputExceeded
จะเกิดอะไรขึ้นหากใช้บริการเกินข้อจำกัดด้านความจุของ Amazon Kinesis Data Stream ขณะที่แอปพลิเคชัน Amazon Kinesis อ่านข้อมูลจาก Data Stream ในโหมดที่เตรียมใช้งาน
ในโหมดที่เตรียมใช้งาน ขีดจำกัดความจุของสตรีมข้อมูล Kinesis ได้รับการกำหนดด้วยจำนวนของส่วนแบ่งข้อมูลในสตรีมข้อมูลนั้นๆ ขีดจำกัดความจุอาจเกินเพราะมีปริมาณการประมวลผลข้อมูลหรือการเรียกใช้การอ่านข้อมูลเกิน ในขณะที่ใช้บริการเกินข้อจำกัดด้านความจุ จะมีการปฏิเสธการเรียกใช้การอ่านข้อมูลด้วยข้อยกเว้น ProvisionedThroughputExceeded หากเป็นเพราะอัตราการเอาท์พุตข้อมูลของสตรีมข้อมูลที่เพิ่มขึ้นชั่วคราว ให้ลองอีกครั้งโดยแอปพลิเคชัน Amazon Kinesis จะทำให้การส่งคำขอเสร็จสมบูรณ์ในท้ายที่สุด หากเป็นเพราะอัตราการเอาท์พุตข้อมูลของสตรีมข้อมูลที่เพิ่มขึ้นอย่างต่อเนื่อง คุณควรเพิ่มจำนวนส่วนแบ่งข้อมูลในสตรีมข้อมูลของคุณเพื่อให้มีความจุเพียงพอสำหรับการเรียกใช้การอ่านข้อมูลให้สำเร็จอย่างสม่ำเสมอ สำหรับทั้งสองกรณีดังกล่าว ตัววัด Amazon CloudWatch จะช่วยให้คุณสามารถเรียนรู้เกี่ยวกับการเปลี่ยนแปลงของอัตราการเอาท์พุตข้อมูลของ Data Stream และการเกิดข้อยกเว้น ProvisionedThroughputExceeded
การขยายเวลาเก็บรักษาข้อมูลและการเก็บรักษาข้อมูลระยะยาว
Kinesis Data Streams รองรับระยะเวลาเก็บรักษาเท่าใด
ระยะเวลาการเก็บรักษา 24 ชั่วโมงจะครอบคลุมถึงสถานการณ์ความล่าช้าไม่ต่อเนื่องในการประมวลผลที่ต้องมีการติดตามข้อมูลแบบเรียลไทม์ การเก็บรักษา 7 จะช่วยให้คุณสามารถประมวลผลข้อมูลซ้ำได้สูงสุด 7 วันเพื่อแก้ไขปัญหาการสูญเสียข้อมูลดาวน์สตรีมที่อาจเกิดขึ้น การเก็บรักษาข้อมูลระยะยาวเกิน 7 วันและสูงสุด 365 วันจะช่วยให้คุณสามารถประมวลผลข้อมูลเก่าซ้ำสำหรับกรณีการใช้งานต่างๆ เช่น การทดสอบอัลกอริทึมย้อนหลัง การเติมพื้นที่จัดเก็บข้อมูล และการตรวจสอบ
ฉันสามารถใช้ Kinesis Data Streams API ที่มีอยู่เพื่ออ่านข้อมูลที่เก่ากว่า 7 วันได้หรือไม่
ใช่ คุณสามารถใช้ getShardIterator, GetRecords และ SubscribeToShard API เดียวกันเพื่ออ่านข้อมูลที่เก็บไว้นานเกิน 7 วันได้ ผู้บริโภคสามารถย้ายอิเทอเรเตอร์ไปยังตำแหน่งที่ต้องการในสตรีม เรียกใช้แมป Shard (รวมทั้งที่เปิดและปิดอยู่) และอ่านบันทึกต่างๆ ได้
มี API ใหม่ใดหรือไม่ที่จะช่วยเหลือเพิ่มเติมในการอ่านข้อมูลเก่า
ใช่ มี API ปรับปรุงใหม่ใน ListShards, GetRecords และ SubscribeToShard API คุณสามารถใช้ตัวเลือกการกรองใหม่ที่มีพารามิเตอร์ TimeStamp ให้ใช้งานใน ListShards API เพื่อเรียกดูแมปส่วนแบ่งข้อมูลอย่างมีประสิทธิภาพ และปรับปรุงสมรรถนะการอ่านข้อมูลเก่า ตัวกรอง TimeStamp จะช่วยให้แอปพลิเคชันสามารถค้นพบและแจงนับส่วนแบ่งข้อมูลจากจุดเวลาที่คุณต้องการประมวลผลข้อมูลซ้ำและลดความจำเป็นในการเริ่มต้นประมวลผลบันทึกทั้งหมดในสตรีม GetRecords และ SubscribeToShards มีฟิลด์ใหม่ ซึ่งก็คือ ChildShards ที่จะช่วยให้คุณสามารถค้นพบส่วนแบ่งข้อมูลย่อยได้อย่างรวดเร็วเมื่อแอปพลิเคชันอ่านข้อมูลจากส่วนแบ่งข้อมูลที่ปิดอยู่เสร็จ แทนที่จะต้องสำรวจแมปส่วนแบ่งข้อมูลอย่างละเอียดอีกครั้ง การค้นพบส่วนแบ่งข้อมูลได้รวดเร็วทำให้เกิดการใช้งานที่มีประสิทธิภาพของทรัพยากรการประมวลผลที่แอปพลิเคชันต้องใช้สำหรับการสตรีมทุกขนาด ไม่ว่าจะมีระยะเวลาการเก็บรักษาข้อมูลเท่าใด
ฉันควรใช้การปรับปรุง API เมื่อใด
คุณควรพิจารณาการปรับปรุง API หากคุณวางแผนเก็บรักษาข้อมูลให้นานขึ้นและปรับความจุของสตรีมเป็นประจำ การดำเนินการปรับสตรีมจะปิด Shard ที่มีอยู่และเปิด Shard ย่อยขึ้นใหม่ ข้อมูลในส่วนแบ่งข้อมูลที่เปิดและปิดทั้งหมดจะเก็บรักษาไว้จนกว่าจะสิ้นสุดระยะเวลาการเก็บรักษา จำนวนรวมของ Shard จะเพิ่มขึ้นในแนวนอนโดยมีระยะเวลาการเก็บรักษานานขึ้นและการดำเนินการการปรับขนาดหลายรายการ ซึ่งจำนวนที่เพิ่มขึ้นนี้ในแมปส่วนแบ่งข้อมูลจะทำให้คุณต้องใช้ ListShards ที่มีตัวกรอง TimeStamp และฟิลด์ ChildShards ใน GetRecords และ SubscribeToShard API เพื่อการค้นพบส่วนแบ่งข้อมูลที่มีประสิทธิภาพสำหรับการเรียกดูข้อมูล คุณจะต้องอัปเกรด KCL เป็นเวอร์ชันล่าสุด (1.x สำหรับผู้ใช้มาตรฐาน และ 2.x สำหรับผู้ใช้การกระจายที่ปรับปรุงแล้ว) เพื่อใช้คุณสมบัติเหล่านี้
Amazon Kinesis Data Streams สนับสนุนการลงทะเบียนสคีมาหรือไม่
ใช่ ไคลเอ็นต์ของ Kinesis Data Streams สามารถใช้ AWS Glue Schema Registry ซึ่งเป็นคุณสมบัติแบบไม่ต้องใช้เซิร์ฟเวอร์ของ AWS Glue ได้ไม่ว่าจะผ่าน KPL กับ KCL หรือผ่าน AWS Glue Schema Registry API ใน AWS Java SDK ขณะนี้ คุณสามารถใช้งาน Schema Registry ได้โดยไม่มีการคิดค่าบริการเพิ่มเติม
ไปที่เอกสารประกอบสำหรับผู้ใช้ Schema Registry เพื่อเริ่มต้นใช้งานและเรียนรู้เพิ่มเติม
การจัดการ Kinesis Data Streams
ฉันจะเปลี่ยนอัตราการโอนถ่ายข้อมูลของ Amazon Kinesis Data Stream ในโหมดที่เตรียมใช้งานได้อย่างไร
มีสองวิธีในการเปลี่ยนปริมาณการประมวลผลของสตรีมข้อมูล คุณสามารถใช้ UpdateShardCount API หรือ AWS Management Console เพื่อปรับขนาดจำนวนส่วนแบ่งข้อมูลในสตรีมข้อมูลหรือคุณสามารถเปลี่ยนปริมาณการประมวลผลของสตรีมข้อมูล Amazon Kinesis โดยการปรับจำนวนส่วนแบ่งข้อมูลภายในสตรีมข้อมูลได้ (การแบ่งอีกครั้ง)
จะใช้เวลานานเท่าใดในการเปลี่ยนอัตราการโอนถ่ายข้อมูลของ Amazon Kinesis Data Stream ที่ทำงานในโหมดที่เตรียมใช้งานโดยใช้ UpdateShardCount หรือคอนโซลการจัดการของ AWS
คำขอปรับขนาดทั่วไปควรใช้เวลาสองสามนาทีในการเปลี่ยนให้เสร็จ คำขอปรับขนาดใหญ่จะใช้เวลานานกว่าคำขอที่เล็กกว่า
Kinesis Data Streams ยังคงใช้งานได้เมื่อฉันเปลี่ยนอัตราการโอนถ่ายข้อมูลของ Kinesis Data Stream ในโหมดที่เตรียมใช้งาน หรือเมื่อการปรับขนาดเกิดขึ้นโดยอัตโนมัติในโหมดตามความต้องการหรือไม่
ใช่ คุณยังคงสามารถเพิ่มข้อมูลและอ่านข้อมูลจากสตรีมข้อมูล Kinesis ของคุณในขณะที่ใช้ UpdateShardCount หรือแบ่งส่วนแบ่งข้อมูลเพื่อเปลี่ยนปริมาณการประมวลผลของสตรีมข้อมูล หรือเมื่อ Kinesis Data Streams ดำเนินการโดยอัตโนมัติในโหมดตามความต้องการได้
ฉันจะตรวจสอบการดำเนินงานและประสิทธิภาพของ Amazon Kinesis Data Stream ได้อย่างไร
Amazon Kinesis Data Streams Management Console แสดงตัววัดด้านการปฏิบัติงานและประสิทธิภาพหลัก เช่น อัตราการโอนถ่ายข้อมูลอินพุตและเอาต์พุตข้อมูลของData Stream Kinesis Kinesis Data Streams ยังรวมเข้ากับ Amazon CloudWatch คุณจึงสามารถรวบรวม ดู และวิเคราะห์ตัววัด CloudWatch สำหรับ Data Stream และส่วนข้อมูลใน Data Stream เหล่านั้นได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัววัด Kinesis Data Streams โปรดดูที่การตรวจสอบ Amazon Kinesis Data Streams ด้วย Amazon CloudWatch
โปรดทราบว่าไม่มีค่าใช้จ่ายสำหรับตัววัดระดับสตรีมทั้งหมด มีการเรียกเก็บค่าบริการตัววัดระดับส่วนข้อมูลที่เปิดใช้งานทั้งหมดตามราคา Amazon CloudWatch
ฉันจะจัดการและควบคุมการเข้าถึง Amazon Kinesis Data Stream ได้อย่างไร
Kinesis Data Streams ผสานรวมกับ AWS Identity and Access Management (IAM) ซึ่งเป็นบริการที่ช่วยให้คุณสามารถควบคุมการเข้าถึงบริการของ AWS และทรัพยากรสำหรับผู้ใช้ได้อย่างปลอดภัย ตัวอย่างเช่น คุณสามารถสร้างนโยบายที่อนุญาตให้ผู้ใช้หรือกลุ่มที่เฉพาะเจาะจงเท่านั้นที่สามารถเพิ่มข้อมูลไปยัง Kinesis Data Stream ได้ คุณยังแนบนโยบายตามทรัพยากรกับ Data Stream หรือผู้ใช้ที่ลงทะเบียนเพื่อควบคุมการเข้าถึงในระดับทรัพยากรได้อีกด้วย สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดการการเข้าถึงและการควบคุม Data Stream โปรดดูที่การควบคุมการเข้าถึงทรัพยากร Amazon Kinesis Data Streams โดยใช้ IAM
ฉันจะแบ่งปันการเข้าถึง Data Stream กับบัญชีอื่นได้อย่างไร
คุณสามารถใช้บทบาทที่ยอมรับของ IAM หรือนโยบายตามทรัพยากรเพื่อแบ่งปันการเข้าถึงกับบัญชีอื่น หากต้องการแบ่งปันการเข้าถึงข้ามบัญชีฟังก์ชัน AWS Lambda ให้แนบนโยบายตามทรัพยากรกับ Data Stream หรือผู้ใช้เพื่อให้สิทธิ์เข้าถึงแก่บทบาทที่เป็นผู้ใช้ฟังก์ชัน Lambda ดูข้อมูลเพิ่มเติมที่การใช้ AWS Lambda ด้วย Amazon Kinesis
ฉันจะบันทึกข้อมูลการเรียกใช้ API ที่ดำเนินการกับ Data Stream ใน Amazon Kinesis เพื่อการวิเคราะห์ด้านความปลอดภัยและการแก้ไขปัญหาด้านการดำเนินงานได้อย่างไร
Kinesis Data Streams ผสานรวมกับ Amazon CloudTrail ซึ่งเป็นบริการที่บันทึกการเรียกใช้ AWS API สำหรับบัญชีและจะส่งไฟล์บันทึกให้คุณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการบันทึกการเรียกใช้ API และรายการการดำเนินการของ Amazon Kinesis API ที่รองรับ โปรดดูที่การบันทึกการเรียกใช้ Amazon Kinesis โดยใช้ Amazon CloudTrail
ฉันจะจัดการ Amazon Kinesis Data Streams และค่าใช้จ่ายที่เกี่ยวข้องกับอย่างมีประสิทธิภาพได้อย่างไร
Kinesis Data Streams ช่วยให้คุณติดแท็กสตรีมข้อมูล Kinesis เพื่อการจัดการทรัพยากรและค่าใช้จ่ายที่ง่ายขึ้น แท็กคือป้ายกำกับที่กำหนดโดยผู้ใช้ซึ่งแสดงเป็นคู่คีย์-ค่าซึ่งช่วยจัดระเบียบทรัพยากรของ AWS ตัวอย่างเช่น คุณสามารถติดแท็ก Data Stream ตามศูนย์ต้นทุนเพื่อให้คุณสามารถจัดหมวดหมู่และเฝ้าติดตามค่าใช้จ่ายของ Kinesis Data Streams ตามศูนย์ต้นทุนได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดแท็กของ Amazon Kinesis Data Streams โปรดดูที่การติดแท็ก Amazon Kinesis Data Streams ของคุณ
การรักษาความปลอดภัย
เมื่อฉันใช้ Kinesis Data Streams ข้อมูลของฉันจะมีความปลอดภัยเพียงใด
Amazon Kinesis ปลอดภัยตามค่าเริ่มต้น เฉพาะเจ้าของบัญชีและสตรีมข้อมูลเท่านั้นที่สามารถเข้าถึงทรัพยากร Kinesis ที่พวกเขาสร้างได้ Kinesis รองรับการตรวจสอบผู้ใช้เพื่อควบคุมการเข้าถึงข้อมูล คุณสามารถใช้นโยบาย IAM เพื่อให้สิทธิ์แก่ผู้ใช้และกลุ่มผู้ใช้อย่างเจาะจง คุณสามารถใส่และรับข้อมูลจาก Kinesis ได้อย่างปลอดภัยผ่านตำแหน่งข้อมูล SSL โดยใช้โปรโตคอล HTTPS หากต้องการความปลอดภัยเพิ่มเติม คุณสามารถใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์ได้ด้วยคีย์ AWS Key Management Service (AWS KMS) เพื่อเข้ารหัสข้อมูลที่เก็บไว้ใน Data Stream ของคุณ AWS KMS ช่วยให้คุณสามารถใช้คีย์ KMS ที่สร้างโดย AWS สำหรับการเข้ารหัสหรือสามารถนำคีย์ของคุณไปใช้ใน AWS KMS ได้หากต้องการ สุดท้าย คุณสามารถใช้ไลบรารีเข้ารหัสของคุณเองเพื่อเข้ารหัสข้อมูลในฝั่งไคลเอ็นต์ก่อนที่จะใส่ข้อมูลลงใน Kinesis ได้
ฉันจะเข้าถึง Kinesis Data Streams API แบบส่วนตัวจาก Amazon Virtual Private Cloud (Amazon VPC) โดยไม่ต้องใช้ IP สาธารณะได้หรือไม่
ใช่ คุณสามารถเข้าถึง Kinesis Data Streams API แบบส่วนตัวจาก Amazon VPC ได้โดยการสร้างตำแหน่งข้อมูล VPC ด้วยตำแหน่งข้อมูล VPC การกำหนดเส้นทางระหว่าง VPC กับ Kinesis Data Streams จะได้รับการจัดการโดยเครือข่าย AWS โดยไม่ต้องใช้อินเทอร์เน็ตเกตเวย์, เกตเวย์ NAT หรือการเชื่อมต่อ VPN ตำแหน่งข้อมูลสำหรับ VPC รุ่นล่าสุดที่ Kinesis Data Streams ใช้นั้นให้บริการโดย AWS PrivateLink ซึ่งเป็นเทคโนโลยีที่ให้คุณเชื่อมต่อแบบส่วนตัวระหว่างบริการของ AWS ที่ใช้ อินเทอร์เฟซเครือข่ายแบบยืดหยุ่น (ENI) ที่มี IP ส่วนตัวใน VPC ของคุณ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ PrivateLink โปรดดูเอกสารประกอบ PrivateLink
การเข้ารหัส
ฉันสามารถเข้ารหัสข้อมูลที่ฉันใส่ลงในฃ Kinesis Data Stream ได้หรือไม่
ได้ และมีสองตัวเลือกในการดำเนินการดังกล่าว คุณสามารถใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์ ซึ่งเป็นคุณสมบัติที่มีการจัดการอย่างเต็มที่ซึ่งจะเข้ารหัสและถอดรหัสข้อมูลโดยอัตโนมัติเมื่อคุณใส่และดึงข้อมูลจากสตรีมข้อมูล คุณยังสามารถเขียนข้อมูลที่เข้ารหัสไปยังสตรีมข้อมูลได้โดยการเข้ารหัสและถอดรหัสทางฝั่งไคลเอ็นต์อีกด้วย
ทำไมฉันควรใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์แทนการเข้ารหัสฝั่งไคลเอ็นต์
คุณอาจเลือกการเข้ารหัสฝั่งเซิร์ฟเวอร์ผ่านการเข้ารหัสฝั่งไคลเอ็นต์ด้วยเหตุผลใดๆ ดังต่อไปนี้:
- เป็นการยากที่จะบังคับใช้การเข้ารหัสฝั่งไคลเอ็นต์
- พวกเขาต้องการการรักษาความปลอดภัยชั้นที่สองนอกเหนือจากการเข้ารหัสฝั่งไคลเอ็นต์
- เป็นการยากที่จะปรับใช้แผนการจัดการคีย์ฝั่งไคลเอ็นต์
การเข้ารหัสฝั่งเซิร์ฟเวอร์คืออะไร
การเข้ารหัสลับฝั่งเซิร์ฟเวอร์สำหรับ Kinesis Data Streams จะเข้ารหัสข้อมูลโดยอัตโนมัติโดยใช้คีย์ AWS KMS ที่ผู้ใช้กำหนดก่อนที่จะถูกเขียนลงในชั้นเก็บสตรีมข้อมูลและถอดรหัสข้อมูลหลังจากที่เรียกดูข้อมูลจากที่เก็บข้อมูล การเข้ารหัสจะทำให้การเขียนเป็นไปไม่ได้และไม่สามารถอ่านข้อมูลเพย์โหลดและคีย์พาร์ติชันได้ เว้นแต่ว่าผู้ใช้จะเขียนหรืออ่านจากสตรีมข้อมูลที่ได้รับอนุญาตให้ใช้คีย์ที่เลือกสำหรับการเข้ารหัสข้อมูลในสตรีมข้อมูล ด้วยเหตุนี้ การเข้ารหัสฝั่งเซิร์ฟเวอร์จึงสามารถปฏิบัติตามข้อกำหนดด้านการรักษาความปลอดภัยและการปฏิบัติตามข้อกำหนดภายในที่ควบคุมดูแลข้อมูลของคุณได้ง่ายขึ้น
ด้วยการเข้ารหัสฝั่งเซิร์ฟเวอร์ แอปพลิเคชันฝั่งไคลเอ็นต์ (ตัวผลิตและผู้ใช้) ไม่จำเป็นต้องรับรู้ถึงการเข้ารหัส พวกเขาไม่จำเป็นต้องจัดการคีย์ KMS หรือการดำเนินการชุดการเข้ารหัสลับ และข้อมูลของคุณจะเข้ารหัสเมื่ออยู่ในระหว่างการพักและเคลื่อนไหวภายในบริการ Kinesis Data Streams AWS KMS จะกำหนดคีย์ KMS ทั้งหมดที่คุณสมบัติการเข้ารหัสฝั่งเซิร์ฟเวอร์ใช้ AWS KMS ช่วยให้การใช้ KMS ที่มีการจัดการ AWS สำหรับ Kinesis (วิธีการเข้ารหัสใน “คลิกเดียว”) AWS KMS ของคุณที่ได้รับการจัดการโดยลูกค้าของ AWS KMS หรือคีย์ KMS ที่คุณนำเข้าสำหรับการเข้ารหัสเป็นเรื่องง่าย
มีคู่มือการเริ่มต้นใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์หรือไม่
มีคู่มือเริ่มต้นใช้งานในเอกสารประกอบผู้ใช้
การเข้ารหัสฝั่งเซิร์ฟเวอร์รบกวนการโต้ตอบของแอปพลิเคชันกับ Kinesis Data Streams หรือไม่
เป็นไปได้ ซึ่งขึ้นอยู่กับคีย์ที่คุณใช้สำหรับการเข้ารหัสและสิทธิ์ที่ควบคุมการเข้าถึงคีย์
- หากคุณใช้คีย์ KMS ที่มีการจัดการ AWS สำหรับ Kinesis (คีย์นามแฝง = aws/kinesis) แอปพลิเคชันของคุณจะไม่ได้รับผลกระทบจากการเปิดหรือปิดใช้งานด้วยคีย์นี้
- ถ้าคุณใช้คีย์ KMS ที่แตกต่างกัน เช่น คีย์ AWS KMS แบบกำหนดเองหรือคีย์ที่คุณนำเข้าไปยังบริการ AWS KMS และหากตัวผลิตและผู้ใช้ของคุณในสตรีมข้อมูลไม่ได้รับสิทธิ์ให้ใช้คีย์ KMS ที่ใช้เพื่อการเข้ารหัสแล้ว คำขอ PUT และ GET ของคุณก็จะล้มเหลว ก่อนที่จะใช้ Server-Side Encryption ได้ คุณต้องกำหนดค่านโยบายของคีย์ AWS KMS เพื่ออนุญาตการเข้ารหัสและการถอดรหัสข้อความ สำหรับตัวอย่างและข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ AWS KMS โปรดดูการอนุญาต AWS KMS API: ข้อมูลอ้างอิงการดำเนินการและทรัพยากรในคู่มือนักพัฒนา AWS Key Management Service หรือแนวทางสิทธิ์เรื่องเอกสารประกอบผู้ใช้ด้านการเข้ารหัสฝั่งเซิร์ฟเวอร์ใน Kinesis Data Streams
มีค่าใช้จ่ายเพิ่มเติมที่เกี่ยวข้องกับการใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์หรือไม่
มี แต่หากคุณใช้คีย์ KMS ที่มีการจัดการ AWS สำหรับ Kinesis และไม่ใช้บริการเกินค่าใช้จ่ายการใช้ KMS API ของ AWS Free Tier แล้ว จะไม่มีค่าใช้จ่ายสำหรับการใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์ รายการต่อไปนี้อธิบายค่าใช้จ่ายตามทรัพยากร
คีย์:
คีย์ KMS ที่มีการจัดการ AWS สำหรับ Kinesis (นามแฝง = "aws/kinesis") เป็นบริการฟรี
คีย์ KMS ที่จัดการโดยลูกค้าจะมีค่าใช้จ่ายคีย์ KMS เรียนรู้เพิ่มเติม
การใช้งาน KMS API:
ค่าใช้จ่ายการใช้งาน API มีผลกับทุกคีย์ KMS รวมทั้งแบบที่กำหนดเองด้วย Kinesis Data Streams จะเรียกใช้ KMS ทุกๆ ประมาณ 5 นาทีเมื่อสับเปลี่ยนคีย์ข้อมูล ในเดือนที่มี 30 วัน ค่าใช้จ่ายทั้งหมดของการเรียกใช้ KMS API ที่เริ่มโดย Kinesis Data Stream ควรไม่เกินสองสาม USD โปรดทราบว่าค่าใช้จ่ายนี้ปรับตามจำนวนข้อมูลรับรองผู้ใช้ที่คุณใช้กับตัวผลิตข้อมูลและผู้ใช้ เพราะข้อมูลรับรองของผู้ใช้แต่ละรายต้องมีการเรียก API ที่ไม่ซ้ำกันไปยัง AWS KMS เมื่อคุณใช้บทบาท IAM สำหรับการยืนยันตัวตน การเรียกใช้บทบาทที่สมมติแต่ละรายการจะส่งผลต่อข้อมูลรับรองผู้ใช้ที่ไม่ซ้ำกัน และคุณควรแคชข้อมูลรับรองของผู้ใช้ที่ส่งกลับมาจากการเรียกใช้บทบาทที่สมมติเพื่อประหยัดค่าใช้จ่ายของ KMS
AWS Region ใดมีการเข้ารหัสฝั่งเซิร์ฟเวอร์สำหรับ Kinesis Data Streams บ้าง
การเข้ารหัสฝั่งเซิร์ฟเวอร์ Kinesis Data Streams พร้อมให้บริการในรีเจี้ยน AWS GovCloud และรีเจี้ยนสาธารณะทั้งหมด ยกเว้นรีเจี้ยนจีน (ปักกิ่ง)
ฉันจะเริ่มใช้งาน อัปเดต หรือลบการเข้ารหัสฝั่งเซิร์ฟเวอร์ออกจาก Data Stream ได้อย่างไร
การดำเนินงานทั้งหมดเหล่านี้สามารถทำได้โดยใช้คอนโซลการจัดการของ AWS หรือ AWS SDK หากต้องการเรียนรู้เพิ่มเติม โปรดดูคู่มือเริ่มใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์ Kinesis Data Streams
มีอัลกอริทึมการเข้ารหัสใดบ้างที่ใช้สำหรับการเข้ารหัสฝั่งเซิร์ฟเวอร์
Kinesis Data Streams ใช้อัลกอริทึม AES-GCM 256 สำหรับการเข้ารหัส
หากฉันเข้ารหัส Data Stream ที่มีข้อมูลเขียนอยู่แล้วไม่ว่าจะเป็นข้อความธรรมดาหรือ Ciphertext ก็ตาม ข้อมูลทั้งหมดใน Data Stream จะเข้ารหัสหรือถอดรหัสหรือไม่หากฉันอัปเดตการเข้ารหัส
ไม่ มีเพียงข้อมูลใหม่ที่เขียนลงในสตรีมข้อมูลเท่านั้นที่จะได้รับการเข้ารหัส (หรือถอดรหัสลับ) โดยแอปพลิเคชันการเข้ารหัสใหม่
การเข้ารหัสฝั่งเซิร์ฟเวอร์สำหรับ Kinesis Data Streams คืออะไร
การเข้ารหัสฝั่งเซิร์ฟเวอร์จะเข้ารหัสเพย์โหลดของข้อความพร้อมด้วยคีย์พาร์ติชันซึ่งระบุโดยแอปพลิเคชันตัวผลิตสตรีมข้อมูล
การเข้ารหัสฝั่งเซิร์ฟเวอร์เป็นคุณสมบัติเฉพาะสำหรับส่วนข้อมูลหรือคุณสมบัติเฉพาะของสตรีม
การเข้ารหัสฝั่งเซิร์ฟเวอร์เป็นคุณสมบัติเฉพาะของสตรีม
ฉันสามารถเปลี่ยนคีย์ KMS ที่ใช้เพื่อเข้ารหัส Data Stream รายการใดรายการหนึ่งได้หรือไม่
ได้ การใช้คอนโซลการจัดการของ AWS หรือ AWS SDK จะช่วยให้คุณสามารถเลือกคีย์ KMS ใหม่ที่จะใช้กับ Data Stream หนึ่งๆ ได้
มี Kinesis Data Streams พร้อมให้บริการใน AWS Free Tier หรือไม่
ไม่มี Kinesis Data Streams ไม่พร้อมให้บริการใน AWS Free Tier AWS Free Tier เป็นโปรแกรมที่เสนอให้ทดลองใช้กลุ่มบริการของ AWS ได้ฟรี สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ AWS Free Tier โปรดดู AWS Free Tier
ข้อตกลงระดับการให้บริการ
Kinesis Data Streams SLA รับประกันอะไรบ้าง
Kinesis Data Streams SLA ของเรารับประกันเปอร์เซ็นต์การทำงานต่อเดือนอย่างน้อย 99.9% สำหรับ Kinesis Data Streams
ฉันจะทราบได้อย่างไรว่าฉันมีสิทธิ์ได้รับเครดิตบริการ SLA
คุณมีสิทธิ์ได้รับเครดิต SLA สำหรับ Kinesis Data Streams ที่อยู่ภายใต้ Kinesis Data Streams SLA หาก Availability Zone มากกว่าหนึ่งแห่งที่คุณกำลังทำงานอยู่ภายในรีเจี้ยนเดียวกันมีเปอร์เซ็นต์การทำงานต่อเดือนน้อยกว่า 99.9% ในรอบการเก็บค่าบริการรายเดือนใดๆ
สำหรับรายละเอียดที่ครบถ้วนเกี่ยวกับข้อกำหนดและเงื่อนไขทั้งหมดของ SLA ตลอดจนรายละเอียดเกี่ยวกับการยื่นคำร้อง โปรดดูที่ Amazon Kinesis Data Streams SLA
ราคาและการเรียกเก็บค่าบริการ
ราคาของ Kinesis Data Streams คิดค่าบริการอย่างไร
Kinesis Data Streams ใช้ค่าบริการตามการใช้งานจริง ไม่มีค่าใช้จ่ายล่วงหน้าหรือค่าธรรมเนียมขั้นต่ำ และระบบจะเรียกเก็บค่าบริการเฉพาะทรัพยากรที่คุณใช้เท่านั้น Kinesis Data Streams มีโหมดความจุสองโหมด ได้แก่ แบบตามความต้องการและแบบที่เตรียมใช้งาน และทั้งสองโหมดมาพร้อมตัวเลือกการเรียกเก็บเงินเฉพาะ
ราคาของ Kinesis Data Streams คิดค่าบริการอย่างไรในโหมดตามความต้องการ
โหมดความจุตามความต้องการทำให้คุณไม่จำเป็นต้องระบุปริมาณการประมวลผลการอ่านและเขียนที่คุณต้องการให้แอปพลิเคชันของคุณทำงาน ในโหมดนี้ ราคาจะขึ้นอยู่กับปริมาณข้อมูลที่นำเข้าและเรียกดูพร้อมกับค่าบริการต่อชั่วโมงสำหรับแต่ละสตรีมข้อมูลในบัญชีของคุณ มีค่าบริการเพิ่มเติมสำหรับคุณสมบัติเสริม ได้แก่ การขยายเวลาเก็บรักษาข้อมูล (เกิน 24 ชั่วโมงแรกและภายในเจ็ดวันแรก) การเก็บรักษาข้อมูลระยะยาว (เกินเจ็ดวันและไม่เกินหนึ่งปี) และการกระจายที่ปรับปรุงแล้ว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับค่าใช้จ่ายของ Amazon Kinesis Streams โปรดดูที่ราคา Amazon Kinesis Data Streams
ราคาของ Kinesis Data Streams คิดค่าบริการอย่างไรในโหมดที่เตรียมใช้งาน
โหมดความจุที่เตรียมใช้งานทำให้คุณระบุจำนวนส่วนแบ่งข้อมูลที่จำเป็นสำหรับแอปพลิเคชันของคุณตามอัตราคำขอเขียนและอ่าน ส่วนแบ่งข้อมูลคือหน่วยความจุที่ให้ปริมาณการประมวลผลการเขียน 1 MB/วินาทีและการอ่าน 2 MB/วินาที คุณจะถูกเรียกเก็บเงินตามจำนวนของแต่ละส่วนแบ่งข้อมูลในอัตรารายชั่วโมง คุณยังชำระค่าบริการสำหรับบันทึกที่เขียนลงในสตรีมข้อมูล Kinesis ของคุณอีกด้วย คุณต้องเสียค่าบริการเพิ่มเติมเมื่อคุณใช้คุณสมบัติเสริม เช่น การขยายเวลาเก็บรักษาและการกระจายที่ปรับปรุงแล้ว
ข้อมูลต่อไปนี้เป็นมิติหลักสองมิติและมิติทางเลือกสามมิติในโหมดที่เตรียมใช้งานของ Kinesis Data Streams:
- กำหนดต้นทุนส่วนข้อมูลรายชั่วโมงโดยจำนวนส่วนข้อมูลภายใน Data Stream Amazon Kinesis ของคุณ
- ค่าใช้จ่าย PUT Payload Unit กำหนดโดยจำนวนหน่วยเพย์โหลด 25 KB ที่ตัวผลิตข้อมูลของคุณเพิ่มลงใน Data Stream
ตัวเลือกเสริม:
- การขยายเวลาเก็บรักษาข้อมูลเป็นค่าใช้จ่ายสำหรับตัวเลือกเพิ่มเติมที่กำหนดโดยจำนวนชั่วโมงส่วนแบ่งข้อมูลที่เกิดจากสตรีมข้อมูลของคุณ เมื่อมีการเปิดใช้งานการขยายเวลาเก็บรักษาข้อมูล คุณจะต้องชำระอัตราการขยายเวลาเก็บรักษาสำหรับแต่ละส่วนแบ่งข้อมูลในสตรีมของคุณ
- การเก็บรักษาข้อมูลระยะยาวเป็นราคาเพิ่มเติมซึ่งมีราคาสองมิติ: พื้นที่จัดเก็บข้อมูลระยะยาวและการเรียกดูข้อมูลระยะยาว พื้นที่จัดเก็บข้อมูลระยะยาวสะท้อนถึงจำนวน GB ต่อเดือนของข้อมูลที่จัดเก็บเป็นเวลานานกว่า 7 วันและสูงสุด 365 วัน การเรียกดูข้อมูลระยะยาวสะท้อนถึงจำนวน GB ของข้อมูลที่เรียกดูซึ่งจัดเก็บไว้นานกว่า 7 วัน
- การกระจายที่ปรับปรุงแล้วเป็นค่าใช้จ่ายทางเลือกที่มีแง่มุมด้านค่าใช้จ่ายสองส่วน นั่นคือชั่วโมงส่วนแบ่งข้อมูลผู้ใช้และการดึงข้อมูล ชั่วโมงส่วนแบ่งข้อมูลผู้ใช้แสดงถึงจำนวนส่วนแบ่งข้อมูลในสตรีมที่คูณด้วยจำนวนผู้ใช้ที่ใช้การกระจายที่ปรับปรุงแล้ว การดึงข้อมูลจะกำหนดโดยปริมาณของ GB ที่จัดส่งให้แก่ผู้ใช้โดยใช้การกระจายที่ปรับปรุงแล้ว
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับค่าใช้จ่ายของ Amazon Kinesis Streams โปรดดูที่ราคา Amazon Kinesis Data Streams
ชั่วโมงส่วนข้อมูลผู้ใช้ได้รับการคำนวณสำหรับการใช้งานการกระจายที่ปรับปรุงแล้วในโหมดที่เตรียมใช้งานอย่างไร
คำนวณชั่วโมงส่วนแบ่งข้อมูลผู้ใช้โดยการคูณจำนวนผู้ใช้สตรีมที่ลงทะเบียนกับจำนวนส่วนแบ่งข้อมูลในสตรีมนั้น คุณยังจะชำระเงินเฉพาะส่วนตามสัดส่วนของชั่วโมงที่ผู้ใช้ลงทะเบียนเพื่อใช้การกระจายที่ปรับปรุงแล้วเท่านั้นอีกด้วย ตัวอย่างเช่น หากค่าใช้จ่ายชั่วโมงส่วนแบ่งข้อมูลผู้ใช้คือ 0.015 USD สำหรับสตรีมข้อมูลส่วนแบ่งข้อมูล 10 ส่วน ผู้ใช้รายนี้ซึ่งใช้การกระจายที่ปรับปรุงแล้วจะสามารถอ่านได้จากส่วนแบ่งข้อมูล 10 ส่วนและทำให้เสียค่าใช้จ่ายชั่วโมงส่วนแบ่งข้อมูลผู้ใช้ 0.15 USD ต่อชั่วโมง (ผู้ใช้ 1 คน * ส่วนแบ่งข้อมูล 10 ส่วน * 0.015 USD ต่อชั่วโมงส่วนแบ่งข้อมูลผู้ใช้) หากมีผู้ใช้ที่ลงทะเบียนสองคนเพื่อใช้การกระจายที่ปรับปรุงแล้วอย่างต่อเนื่อง จะมีการเรียกเก็บค่าบริการชั่วโมงส่วนแบ่งข้อมูลผู้ใช้ทั้งหมด 0.30 USD ต่อชั่วโมง (ผู้ใช้ 2 คน * ส่วนแบ่งข้อมูล 10 ส่วน * 0.015 USD)
การเปรียบเทียบกับบริการอื่นๆ ของ AWS
เมื่อใดที่ฉันควรใช้ Kinesis Data Streams และเมื่อใดที่ฉันควรใช้ Amazon Managed Streaming สำหรับ Apache Kafka (Amazon MSK)
Kinesis Data Streams และ Amazon MSK มีทั้งแพลตฟอร์ม Data Stream ที่เป็นที่นิยมที่ช่วยให้คุณสร้างเวิร์กโหลดสตรีมมิ่งของคุณเองที่ประมวลผลข้อมูลสำหรับความต้องการเฉพาะ บริการทั้งสองสามารถปรับขนาดได้ ปลอดภัย และพร้อมให้บริการอย่างสูง ทั้งสองสามารถนำไปใช้ในการเรียกใช้กรณีการใช้งานสตรีมมิ่ง เช่น เว็บเรียลไทม์และการวิเคราะห์บันทึกส่วนบุคคล ประสบการณ์ของลูกค้า สถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์ การวิเคราะห์ IoT และการตรวจสอบการทุจริตแบบเรียลไทม์ได้ เมื่อเลือกระหว่างทั้งสอง เป็นสิ่งสำคัญที่จะต้องพิจารณากรณีการใช้งานและความต้องการของคุณ นี่คือปัจจัยบางประการที่ควรพิจารณา:
ความคุ้นเคย
- หากคุณยังใหม่กับเทคโนโลยีสตรีมมิ่ง ควรใช้ Kinesis Data Streams
- ถ้าคุณมีแอปพลิเคชันเดิมที่กำลังทำงานบน Apache Kafka ก็ควรใช้ MSK MSK มีโปรแกรมการโยกย้าย Kafka (KMP) ที่มีอยู่และคู่มือการโยกย้ายเพื่อให้ประสบการณ์การโยกย้ายเป็นเรื่องง่าย
การตั้งค่าสำหรับโอเพนซอร์ส
- หากคุณมีความต้องการใช้เทคโนโลยีโอเพนซอร์ส คำแนะนำของเราคือควรใช้ MSK ทั้ง MSK และ MSK Connect เข้ากันได้กับโอเพนซอร์ส Apache Kafka และ Kafka Connect ตามลำดับ
Kinesis Data Streams แตกต่างจาก Amazon SQS อย่างไร
Kinesis Data Stream ช่วยให้สามารถประมวลผล Big Data ได้แบบเรียลไทม์ มีการเรียงลำดับบันทึก และมีความสามารถในการอ่านและ/หรือบันทึกการเล่นใหม่ในลำดับเดิมไปยัง Amazon Kinesis Application หลายแอป Amazon Kinesis Client Library (KCL) จะส่งบันทึกทั้งหมดของพาร์ทิชันคีย์หนึ่งๆ ไปยังตัวประมวลผลบันทึกเดียวกัน ซึ่งทำให้การสร้างแอปพลิเคชันหลายๆ แอปที่อ่านจาก Kinesis Data Stream เดียวกันทำได้ง่ายยิ่งขึ้น (ตัวอย่างเช่น เพื่อดำเนินการนับ การรวม และการกรอง) Amazon Simple Queue Service (Amazon SQS) มอบคิวที่โฮสต์ไว้ซึ่งเชื่อถือได้และปรับขนาดได้มาก เพื่อจัดเก็บข้อความขณะที่ข้อความเดินทางไปมาระหว่างคอมพิวเตอร์เครื่องต่างๆ Amazon SQS ช่วยให้คุณสามารถย้ายข้อมูลระหว่างส่วนประกอบแอปพลิเคชันที่แจกจ่ายและช่วยให้คุณสร้างแอปพลิเคชันที่ประมวลผลข้อความอย่างอิสระ (ด้วยตรรกะรับรู้/ล้มเหลวของข้อความ) เช่น เวิร์กโฟลว์อัตโนมัติ
ฉันควรใช้ Kinesis Data Streams และ Amazon SQS เมื่อใดบ้าง
เราขอแนะนำ Kinesis Data Streams เมื่อใช้สำหรับกรณีการใช้งานที่มีความต้องการคล้ายกับลักษณะต่อไปนี้:
- การกำหนดเส้นทางที่เกี่ยวข้องกับบันทึกไปยังตัวประมวลผลบันทึกเดียวกัน (เช่นเดียวกับใน MapReduce สตรีมมิ่ง) ตัวอย่างเช่น การนับและการรวมจะง่ายกว่าเมื่อบันทึกทั้งหมดสำหรับคีย์หนึ่งๆ ได้รับการกำหนดเส้นทางไปยังตัวประมวลผลบันทึกเดียวกัน
- การเรียงลำดับบันทึก ตัวอย่างเช่น คุณต้องการถ่ายโอนข้อมูลบันทึกจากโฮสต์แอปพลิเคชันไปยังโฮสต์การประมวลผล/การเก็บถาวรโดยที่ยังคงรักษาคำสั่งของรายงานบันทึกเอาไว้ด้วย
- ความสามารถสำหรับหลายแอปพลิเคชันเพื่อใช้สตรีมเดียวกันพร้อมๆ กัน ตัวอย่างเช่น คุณมีแอปพลิเคชันหนึ่งที่อัปเดตแดชบอร์ดแบบเรียลไทม์และอีกแอปพลิเคชันหนึ่งที่เก็บข้อมูลแบบถาวรไปยัง Amazon Redshift คุณต้องการให้ทั้งสองแอปพลิเคชันใช้ข้อมูลจากสตรีมเดียวกันพร้อมกันอย่างเป็นอิสระต่อกัน
- ความสามารถในการใช้บันทึกลำดับเดียวกันในสองสามชั่วโมงให้หลัง ตัวอย่างเช่น คุณมีแอปพลิเคชันการเรียกเก็บเงินและแอปพลิเคชันการตรวจสอบซึ่งเรียกใช้สองสามชั่วโมงหลังเรียกใช้แอปพลิเคชันการเรียกเก็บเงิน เนื่องจาก Kinesis Data Streams สามารถเก็บข้อมูลไว้ได้นานถึง 365 วัน คุณจึงสามารถเรียกใช้แอปพลิเคชันการตรวจสอบได้นานถึง 365 วันหลังเรียกใช้แอปพลิเคชันการเรียกเก็บเงินแล้ว
เราขอแนะนำ Amazon SQS เมื่อใช้สำหรับกรณีการใช้งานที่มีความต้องการคล้ายกับลักษณะต่อไปนี้:
- ตรรกะของข้อความ (เช่น การรับรู้/ล้มเหลวของข้อความ) และการหมดเวลาแสดงผล ตัวอย่างเช่น คุณมีคิวรายการงานและต้องการติดตามความสำเร็จของแต่ละรายการแบบแยกกัน Amazon SQS ติดตามการรับรู้/ล้มเหลว ดังนั้นแอปพลิเคชันไม่จำเป็นต้องรักษาจุดตรวจสอบ/เคอร์เซอร์ถาวร Amazon SQS จะลบข้อความที่รับรู้แล้วและส่งข้อความที่ล้มเหลวใหม่หลังจากหมดเวลาแสดงผลที่กำหนดค่าไว้
- ความล่าช้าของข้อความแต่ละรายการ ตัวอย่างเช่น คุณมีคิวงานและต้องกำหนดเวลางานให้แต่ละงานล่าช้าไป ด้วย Amazon SQS คุณสามารถกำหนดค่าแต่ละข้อความให้มีความล่าช้าสูงสุด 15 นาที
- การเพิ่มขึ้นแบบไดนามิกโดยพร้อมกัน/Throughput เมื่ออ่าน ตัวอย่างเช่น คุณมีคิวงานและต้องการเพิ่มผู้อ่านมากขึ้นจนกว่าจะมีการล้างข้อมูลงานที่ยังทำไม่เสร็จ ด้วย Kinesis Data Streams คุณสามารถปรับขนาดเป็นจำนวนส่วนแบ่งข้อมูลที่มากพอได้ (แต่โปรดทราบว่าคุณจะต้องเตรียมส่วนแบ่งข้อมูลให้เพียงพอไว้ล่วงหน้า)
- การใช้ความสามารถของ Amazon SQS ในการปรับขนาดอย่างโปร่งใส ตัวอย่างเช่น คุณบัฟเฟอร์คำขอและการเปลี่ยนแปลงโหลดเนื่องจากการพุ่งสูงขึ้นเป็นครั้งคราวหรือการเติบโตตามปกติของธุรกิจ เนื่องจากคำขอที่บัฟเฟอร์แต่ละรายการสามารถดำเนินการได้อย่างอิสระ Amazon SQS จึงสามารถปรับขนาดได้อย่างโปร่งใสเพื่อจัดการกับโหลดโดยที่คุณไม่ต้องเตรียมคำสั่งใดๆ