
ที่มาภาพ: Unknown Source
วิธีตั้งค่าและใช้งาน AWS Glue Data Catalog กับ Amazon Athena เพื่อสร้าง Data Lake แบบ Server‑less อย่างปลอดภัย
⚡ สรุป 30 วิ
AWS Glue Data Catalog และ Amazon Athena ช่วยให้คุณสร้าง **Data Lake แบบ Server‑less** ที่ปลอดภัยและจัดการได้ง่าย ไม่ต้องดูแลโครงสร้างพื้นฐานเอง สามารถสืบค้นข้อมูลด้วย SQL ทันทีจากไฟล์ใน S3
บทนำ — Introduction
AWS Glue Data Catalog และ Amazon Athena ช่วยให้คุณสร้าง Data Lake แบบ Server‑less ที่ปลอดภัยและจัดการได้ง่าย ไม่ต้องดูแลโครงสร้างพื้นฐานเอง สามารถสืบค้นข้อมูลด้วย SQL ทันทีจากไฟล์ใน S3
ต่อไปนี้เป็นขั้นตอนสำคัญและเคล็ดลับเพื่อให้คุณตั้งค่าได้เร็วและมั่นใจในเรื่องความปลอดภัย
ภาพรวมของระบบ — Overview
AWS Glue Data Catalog ทำหน้าที่เป็นเมตาดาต้าเซ็นเตอร์เก็บสคีมาของข้อมูล ส่วน Amazon Athena ใช้ Query Engine แบบไม่มีเซิร์ฟเวอร์เพื่ออ่านข้อมูลจาก S3 โดยอิงเมตาดาต้าที่บันทึกไว้ใน Glue
- Data Catalog เก็บฐานข้อมูล, ตาราง, พาร์ทิชันและคอนฟิกูเรชัน
- Athena เชื่อมต่อ Data Catalog เพื่อแปลงไฟล์ CSV/Parquet/JSON เป็นตารางที่ query ได้ทันที
- ทั้งสองบริการทำงานร่วมกับ IAM เพื่อควบคุมการเข้าถึงอย่างละเอียด
**Tip: ใช้ AWS Lake Formation ร่วมด้วยเพื่อจัดการสิทธิ์ระดับ column‑level อย่างเป็นระบบ
ขั้นตอนการตั้งค่า Data Lake — Step‑by‑Step Setup
1. สร้าง S3 Bucket สำหรับ Data Lake — Create S3 Bucket
- เปิด Console S3 สร้าง bucket ตั้งชื่อที่สื่อความหมาย (เช่น `my-data-lake`)
- เปิดการเข้ารหัสด้วย SSE‑S3 หรือ SSE‑KMS เพื่อปกป้องข้อมูลที่เก็บ
2. กำหนด IAM Role สำหรับ Glue & Athena — Configure IAM Roles
- สร้าง Role ที่มี Trust relationship กับบริการ `glue.amazonaws.com` และ `athena.amazonaws.com`
- แนบ Policy ที่ให้สิทธิ์ `s3:ListBucket`, `s3:GetObject`, `s3:PutObject` บน bucket ของคุณ
3. เปิดใช้งาน Glue Data Catalog — Enable Glue Catalog
- ไปที่ AWS Glue Console Databases สร้าง Database (เช่น `lake_db`)
- เพิ่ม Table โดยเลือก Crawler เพื่อสแกนไฟล์ใน S3 และสร้างเมตาดาต้าอัตโนมัติ
4. ตั้งค่า Crawler ให้ทำงานแบบอัตโนมัติ — Configure Crawlers
- กำหนด Data Store เป็น S3 path ของ bucket ที่สร้างไว้
- เลือก IAM Role ที่เตรียมไว้ แล้วตั้ง Schedule (เช่น ทุก 6 ชั่วโมง) เพื่อให้ข้อมูลใหม่ถูกค้นพบโดยอัตโนมัติ
5. เชื่อมต่อ Athena กับ Glue Catalog — Connect Athena
- เปิด Athena Console ตั้งค่า Workgroup หากต้องการจำกัดงบประมาณหรือควบคุมผลลัพธ์
- เลือก Database ที่สร้างจาก Glue (`lake_db`) แล้วเริ่มเขียน SQL query เพื่อตรวจสอบข้อมูล
6. กำหนด Query Result Location — Set Query Output
- ใน Athena Settings ระบุ S3 bucket (เช่น `my-data-lake/athena-results/`) เพื่อบันทึกผลลัพธ์และไฟล์ CSV ที่ส่งออก
**Tip: เปิดการบีบอัด (`gzip` หรือ `Parquet`) สำหรับผลลัพธ์เพื่อลดค่าใช้จ่ายในการจัดเก็บ
การจัดการความปลอดภัย — Security Management
- ใช้ AWS KMS เพื่อเข้ารหัสข้อมูลในระดับไฟล์และเมตาดาต้า
- กำหนด Lake Formation Permissions ให้ผู้ใช้หรือกลุ่มสามารถอ่าน/เขียนเฉพาะ column ที่จำเป็น
- เปิดการบันทึก CloudTrail สำหรับกิจกรรม Glue, Athena และ S3 เพื่อติดตามการเข้าถึง
| ฟีเจอร์ | วิธีการทำ | ประโยชน์ |
|---|---|---|
| Encryption at Rest | SSE‑KMS หรือ Server‑Side Encryption ใน S3 | ปกป้องข้อมูลจากผู้ไม่ได้รับอนุญาต |
| IAM Policy | จำกัด `s3:GetObject` เฉพาะ prefix ที่จำเป็น | ลดโจมตีแบบ lateral movement |
| Lake Formation | กำหนด permission ระดับ column | ควบคุมการเปิดเผยข้อมูลละเอียดอ่อน |
การเพิ่มประสิทธิภาพและลดค่าใช้จ่าย — Performance & Cost Optimization
- แปลงไฟล์ต้นฉบับเป็น Parquet หรือ ORC เพื่อให้ Athena อ่านได้เร็วกว่า CSV
- ใช้ Partitioning ตามวัน/เดือน/ปี เพื่อลดขนาดข้อมูลที่สแกนในแต่ละ query
- ตั้งค่า Workgroup Query Limits เพื่อจำกัดจำนวนสแกนนั้นและหลีกเลี่ยงค่าใช้จ่ายพุ่งสูง
**Tip: ตรวจสอบค่าใช้จ่ายรายวันจาก Athena Console Query History Cost Explorer เพื่อปรับแต่งการตั้งค่าให้เหมาะสม
ตัวอย่าง Query เบื้องต้น — Sample Queries
- สร้างตารางจากไฟล์ Parquet
```sql CREATE EXTERNAL TABLE IF NOT EXISTS lake_db.sales_parquet ( order_id STRING, amount DOUBLE, order_date DATE ) STORED AS PARQUET LOCATION 's3://my-data-lake/raw/sales/'; ```
- คิวรีข้อมูลที่พาร์ทิชันตามเดือน
```sql SELECT order_date, SUM(amount) AS total_sales FROM lake_db.sales_parquet WHERE order_date BETWEEN DATE '2024-01-01' AND DATE '2024-01-31' GROUP BY order_date; ```
สรุป — Summary
การใช้ AWS Glue Data Catalog ร่วมกับ Amazon Athena ทำให้คุณสร้าง Data Lake Server‑less ที่ปลอดภัยและพร้อม query ได้ทันที
- ตั้งค่า S3, IAM, Glue Crawler อย่างเป็นระบบ
- ใช้ Lake Formation และ KMS เพื่อควบคุมการเข้าถึงระดับละเอียด
- ปรับรูปแบบไฟล์เป็น Parquet/ORC พร้อม Partition เพื่อลดต้นทุนและเพิ่มความเร็ว
- ตรวจสอบ CloudTrail และ Cost Explorer อย่างสม่ำเสมอ
**สิ่งที่ควรจำ: ความปลอดภัยเริ่มจากการจัดเก็บข้อมูลเข้ารหัส, การกำหนดสิทธิ์อย่างละเอียด, และการตรวจสอบกิจกรรมทุกขั้นตอนเพื่อให้ Data Lake ของคุณเป็นระบบ Server‑less ที่เชื่อถือได้และประหยัดค่าใช้จ่าย.
แชร์บทความนี้:
ชอบบทความแบบนี้?
สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม
แหล่งข่าวต้นฉบับ
- ชื่อต้นฉบับ
- วิธีตั้งค่าและใช้งาน AWS Glue Data Catalog กับ Amazon Athena เพื่อสร้าง Data Lake แบบ Server‑less อย่างปลอดภัย
- ผู้เขียน
- กองบรรณาธิการ Thai Tech News
- แหล่ง
- บทความต้นฉบับ Thai Tech News · ช่วยร่างด้วย AI, เรียบเรียง/ตรวจสอบโดยกองบรรณาธิการ
- วันที่เผยแพร่
- 29 สิงหาคม 2569 เวลา 17:50



