
ทดลองใช้งาน Amazon Data Firehose บน Thailand Region
จากอัปเดตในหน้าเว็บไซต์ Official ของ AWS เกี่ยวกับการขยายการรับรองการใช้งาน Amazon Data Firehose เพิ่มอีก 2 รีเจี้ยน
ในบล็อกนี้เราจะมาลองใช้งาน Amazon Data Firehose ร่วมกับ S3 บนรีเจี้ยนไทยกันค่ะ
สิ่งที่ต้องเตรียม
สิ่งที่ต้องมี
※S3 Bucket สำหรับใช้เป็นพื้นที่ในการเก็บข้อมูลเพื่อนำมาแสดงใน Amazon Data Firehose
ครั้งนี้จะใช้ชื่อ S3 Bucket ดังนี้
・Bucket name: fern-test-thai (สร้างบน region Asia Pacific(Thailand):ap-southeast-7)
สำหรับวิธีสร้าง Bucket ดูตัวอย่างได้ที่ การสร้าง Buckets ใน Amazon S3 (Thai)
โครงสร้าง
สร้าง Amazon Data Firehose
- ในบล็อกนี้เราจะทดลองใช้งาน Amazon Data Firehose บนรีเจี้ยนไทย ตั้งค่า AWS Management Console ให้เป็น Asia Pacific (Thailand) : ap-southeast-7 จากนั้นค้นหาบริการ Amazon Data Firehose และคลิกที่ตัวบริการ
- คลิก Create Firehose stream
- ในบล็อกนี้เราจะตั้งค่าตามข้อมูลด้านล่างนี้
Choose source and destination
・Source: Direct PUT
・Destination: Amazon S3
หลังจากตั้งค่าด้านบนเสร็จจึงจะพบหัวข้อ Firehose stream name
・Firehose stream name: fern-test-firehose
- เลื่อนลงมาด้านล่างที่หัวข้อ Destination settings และ คลิก Browse เพื่อหา S3 ที่ต้องการใช้งาน
- เลือก S3 bucket ที่ต้องการใช้งานร่วมกัน ในบล็อกนี้จะเลือก S3 ที่เตรียมไว้ค่ะ : fern-test-thai
- เลื่อนลงมาด้านล่างที่หัวข้อ Buffer hints, compression, file extension and encryption และคลิกเพื่อขยายฟังก์ชันการตั้งค่าต่างๆด้านล่าง โดยครั้งนี้จะตั้งค่า "Buffer interval: 60 seconds" จากนั้นเลื่อนไปด้านล่างสุดเพื่อสร้างโดยคลิกปุ่ม Create Firehose stream
- เมื่อ Create เสร็จแล้วจะได้หน้าจอแบบนี้เลย
ทดลองใช้งาน
กระบวนการทำงานมีดังนี้
- คลิกหัวข้อ Test with demo data เพื่อขยายฟังก์ชันต่างๆด้านล่าง แล้วจะแสดงหน้าจอแบบข้างล่างนี้
โดยในหน้านี้จะประกอบด้วยข้อมูลที่ใช้ในการทดสอบระบบ เช่น สคริปต์ที่ใช้ในการทดสอบก็โดยมีรูปแบบดังนี้
{
"TICKER_SYMBOL": "QXZ",
"SECTOR": "HEALTHCARE",
"CHANGE": -0.05,
"PRICE": 84.51
}
- คลิก Start sending demo data
2.1 ปุ่มก็จะเปลี่ยนเป็น Sending demo data ปล่อยไว้ประมาณ 2-3 นาทีเพื่อส่งข้อมูลไปยัง Amazon S3 ที่ใช้สำหรับทดสอบระบบการใช้งาน
- หลังจากผ่านไป 2-3 นาที ให้คลิก Stop sending demo data เพื่อหยุดส่งข้อมูลไปยัง S3 ได้เลย
- เข้าไปดูใน S3 Bucket ที่เราตั้งเป็น destination ถ้าระบบทำงานถูกต้องจะมีโฟลเดอร์วันที่และไฟล์อยู่ใน Bucket ซึ่งถูกสร้างอัตโนมัติจากการทำงานของ Firehose จากการที่เราคลิก "Start sending demo data"
- ถ้าเราคลิกเข้าไปในโฟลเดอร์ลึกที่สุดก็จะเจอกับข้อมูลที่ระบบ Firehose ส่งมาที่ S3 Bucket นี้
โดยระยะเวลาการส่งนั้นคือทุกๆ 1 นาที ตามที่เราตั้งค่า Buffer interval ในตอนที่สร้าง Amazon Data Firehose โดยสังเกตได้จากคอลัมน์ Last modified
- คลิกที่ ✅️ แล้วคลิก Download ไฟล์ลงอุปกรณ์ของเรา
- เมื่อเปิดดูข้อมูลที่อยู่ในไฟล์ จะเห็นฟอร์มข้อมูลที่เหมือนกันกับโค้ดในหัวข้อ Test with demo data
เพียงเท่านี้เราก็สามารถใช้งาน Firehose ร่วมกับ S3 บนรีเจี้ยนไทยได้แล้วค่า
ลบ Resource
เพื่อประหยัดค่าใช้จ่าย ควรลบ Resource ที่ไม่ได้ใช้งานแล้ว
ในการทดลองบล็อกนี้ มาดูพร้อมกันว่าเราต้องลบอะไรบ้าง
1.Amazon Data Firehose
・Firehose stream
2.Identity and Access Management (IAM)
・Roles
・Policies
3.Amazon S3
・Buckets
ลบ Firehose stream ใน Amazon Data Firehose
- เข้ามาที่หน้าบริการ "Amazon Data Firehose > Firehose streams" ที่ต้องการลบ
- คลิก Delete Firehose stream
- ยืนยันการลบตามคำแนะนำ
- ลบ resource สำเร็จ
ลบ Identity and Access Management (IAM)
ลบ Roles
- เข้ามาที่หน้าจอบริการ "Identity and Access Management (IAM) > Roles"
- เซิร์ชหา Role ที่ถูกสร้างโดยอัตโนมัติในขณะที่เราสร้าง Firehose stream -> KinesisFirehoseServiceRole-xxxxxx-ap-southeast-7-xxxxxx และ คลิกเข้าใปใน Role ที่เราต้องการลบ
- คลิกปุ่ม Delete ที่มุมขวาบน
- ยืนยันการลบตามคำแนะนำ
ลบ Policies
- เข้ามาที่หน้าจอบริการ "Identity and Access Management (IAM) > Policies"
-
เซิร์ชหา Policy ที่ถูกสร้างโดยอัตโนมัติในขณะที่เราสร้าง Firehose stream -> KinesisFirehoseServicePolicy-[your_firehose_name]-ap-southeast-7 และ คลิกเข้าใปใน Policy ที่เราต้องการลบ
-
คลิกปุ่ม Delete ที่มุมขวาบน
- ยืนยันการลบตามคำแนะนำ
ลบ Bucket ใน Amazon S3
- เข้ามาที่หน้าจอบริการ "Amazon S3 > Buckets"
- ค้นหาและติ๊ก Bucket ที่ต้องการลบ
- คลิก Empty
- ทำตามคำแนะนำในการลบ และ คลิก Empty (หากมีข้อมูลเหลืออยู่ใน Bucket จะไม่สามารถลบได้)
- หลังจาก Empty สำเร็จแล้ว ติ๊ก Bucket ที่ต้องการลบอีกครั้ง และ คลิก Delete
- ทำตามคำแนะนำในการลบ แล้วคลิก Delete
ลบ CloudWatch
- เข้ามาที่หน้าจอบริการ [CloudWatch > Logs > Log groups] แล้วค้นหาและลบ Log groups ที่เกี่ยวข้อง ในกรณีนี้คือ /aws/kinesisfirehose/[firehose_name]
- ติ๊ก ✅️ Log group ที่จะลบ > คลิก Actions > Delete log group(s)
เพียงเท่านี้ก็ลบ resource ที่ไม่ได้ใช้งานและไม่เพิ่มค่าใช้จ่ายที่ไม่ได้ตั้งใจให้เราได้แล้ว
สุดท้าย
หวังว่าบทความนี้จะเป็นประโยชน์สำหรับท่านที่กำลังหาข้อมูลหรือรอใช้งานบริการนี้ในรีเจี้ยนไทยบ้านเราอยู่นะคะ