วิธีการเชื่อมต่อ QuickSight ไปยัง RDS

วิธีการเชื่อมต่อ QuickSight ไปยัง RDS เราสามารถดึงข้อมูลที่อยู่ใน Aurora Serverless มาแสดงผลใน QuickSight ได้

ผมจะสาธิตวิธีการเชื่อมต่อ QuickSight ไปยัง RDS ซึ่งวิธีนี้สามารถนำไปปรับใช้กับการเชื่อมต่อ Server MySQL อย่างอื่นได้ โดยครั้งนี้ผมจะใช้ MySQL ที่สร้างใน Aurora Serverless

สิ่งที่ต้องมี

เมื่อสร้างเสร็จแล้วจะได้ QuickSight หน้าตาแบบนี้

  • สร้าง Aurora Serverless V1 เตรียมไว้

ทำการ Start Aurora Serverless และทำการเชื่อมต่อ Aurora Serverless จาก Query Editor ให้เรียบร้อย เพราะเราจะใช้ Aurora Serverless (V1) นี้เชื่อมต่อกับ QuickSight ให้ทำตามลิงก์ด้านล่างนี้

เมื่อทำการ Start Aurora Serverless เสร็จแล้วจะได้หน้าตาแบบนี้

เมื่อเชื่อมต่อ Aurora Serverless จาก Query Editor และสร้าง Database, Table, Insert ข้อมูลเสร็จแล้วจะได้หน้าตาแบบนี้

หมายเหตุ :
ควรอ่านข้อมูลในหัวข้อ สิ่งที่ต้องมี อย่างละเอียด รวมถึงบทความอื่นๆ ที่เกี่ยวข้อง เพื่อไม่ให้เกิดความผิดพลาดระหว่างการดำเนินการครับ

Copy IPv4 CIDR (VPC)

ก่อนอื่นเราต้อง Copy IPv4 CIDR ใน VPC เตรียมไว้
ซึ่งในตัวอย่างนี้จะใช้เป็น VPC Default
นอกจากนี้คุณยังสามารถใช้ VPC ที่สร้างขึ้นเองได้อีกด้วย

ค้นหาVPCเลือกVPC

เลือกรีเจี้ยนที่ใกล้กับเรามากที่สุด เช่นAsia Pacific (Singapore)เป็นต้น

มาที่เมนูด้านซ้าย เลือกYour VPCsและคลิกเข้าไปที่ VPC ID ของ default (VPC ID จะเปลี่ยนไปตามรีเจี้ยนที่เราเลือกใช้งาน)

มาที่ Details จากนั้นให้ Copy IPv4 CIDR เตรียมไว้

สร้าง Security Groups สำหรับ Aurora และเปลี่ยน Security Groups ใน Aurora

สร้าง Security Groups สำหรับ Aurora

ค้นหาEC2เลือกEC2

เลือกSecurity Groups

คลิกปุ่มCreate security group

มาที่หัวข้อ Basic details
» ตั้งชื่อ Security group name กับ Description ว่าอะไรก็ได้ เช่นtinnakorn_aurora_sgเป็นต้น
» VPC:vpc-ab00ebcdนี้คือรีเจี้ยนของ Singapore

มาที่หัวข้อ Inbound rules
คลิกAdd rule
เลือก Type เป็นMYSQL/Aurora ▼
วาง IPv4 CIDR ลงในSource:Custom ▼และคลิกให้มาอยู่ด้านล่างเหมือนกับรูปภาพ

เมื่อตั้งค่าเสร็จเรียบร้อยแล้ว ให้เลื่อนลงมาด้านล่างสุดแล้วกดปุ่มCreate security group

เปลี่ยน Security Groups ใน Aurora

กลับมาที่ Aurora ของเราแล้วคลิกที่Modify

มาที่หัวข้อ Connectivity ดูที่ VPC Security Group จากนั้นคลิก defaultออก

เลือก Security Group ของเราที่สร้างขึ้นมาเมื่อสักครู่นี้ เช่นtinnakorn_aurora_sg
จากนั้นเลื่อนลงมาด้านล่างสุด คลิกContinue

เลือกApply immediatelyและคลิกปุ่มModify cluster

เข้ามาที่ Aurora ของเราอีกครั้ง แล้วมาที่หัวข้อ Connectivity & security และดูที่ VPC security groups จะเห็นว่าเป็น Security Group ของเราเรียบร้อยแล้ว

สร้าง Security Groups สำหรับ QuickSight

ค้นหาEC2เลือกEC2

เลือกSecurity Groups

คลิกปุ่มCreate security group

มาที่หัวข้อ Basic details
» ตั้งชื่อ Security group name กับ Description ว่าอะไรก็ได้ เช่นtinnakorn_quicksight_sgเป็นต้น
» VPC:vpc-ab00ebcdนี้คือรีเจี้ยนของ Singapore
» จากนั้นเลื่อนลงมาด้านล่างสุดแล้วกดปุ่มCreate security group

การเชื่อมต่อ QuickSight ไปยัง Aurora โดยผ่าน VPC

มาที่มุมขวาบน คลิกที่ชื่อ QuickSight ของเรา และเลือกManage QuickSight

มาที่เมนูด้านซ้าย เลือกManage VPC connectionsและคลิกที่Add VPC connection

กลับมาที่หน้า Security Groups ที่เราสร้างไว้สำหรับ QuickSight ของเราแล้ว CopySecurity group ID เตรียมไว้

กลับมาที่หน้า QuickSight แล้วทำการตั้งค่าดังนี้
» ตั้งชื่อ VPC connection name:tinnakorn_vpc(ตั้งชื่ออะไรก็ได้)
» เลือก VPC ID:vpc-ab00ebcd(VPC ID นี้เป็น default ของรีเจี้ยน Singapore)
» เลือก Subnet ID:subnet-********(เลือกใช้อันไหนก็ได้)
» วาง Security group ID ที่ Copy มาเมื่อสักครู่นี้:sg-*****************
» คลิกCreate

เมื่อตั้งค่าเสร็จแล้วจะได้หน้าตาแบบนี้ จากนั้นคลิกที่ Icon QuickSight ที่มุมขวาบน

มาที่เมนูด้านซ้าย เลือกDatasetsและคลิกNew dataset

กลับมาที่ Aurora Serverless ของเรา แล้ว CopyEndpointกับPortเตรียมไว้

กลับมาที่หน้า QuickSight แล้วเลือกMySQLเมื่อมี pop-up แสดงขึ้นมาให้ทำการตั้งค่าดังนี้
» Data source name:tinnakorn_aurora(ใส่ชื่อ Aurora ของเรา)
» Connection type:tinnakorn_vpc(เลือก VPC ของเรา)
» Database server:tinnakorn-aurora.cluster-czh3xc0v8her.ap-southeast-1.rds.amazonaws.com(วาง Endpoint ที่ Copy จาก Aurora มาเมื่อสักครู่นี้)
» Port:3306(วาง Port ที่ Copy จาก Aurora มาเมื่อสักครู่นี้)
» Database name:tinnakorn(ใส่ Database ของเราที่สร้างใน Aurora)
» Username:admin(ใส่ Database ของเราที่สร้างใน Aurora)
» Password:********(ใส่ Password ของเราที่สร้างใน Aurora)
» คลิกValidate connection

เมื่อปุ่ม Validate connection เป็นสถานะ✅Validatedแล้ว ให้คลิกที่ปุ่มCreate data sourceได้เลย

คลิก ◉ ที่ Table ของเราที่สร้างไว้ใน Aurora เช่นtestจากนั้นคลิกSelect

เลือกEdit/Preview data

เมื่อเข้ามาหน้านี้แล้วให้ดูที่ช่องสีเขียว จะเห็นว่ามีข้อมูลจาก Database Aurora มาแล้ว
ทีนี้ให้มาที่มุมขวาบน คลิกที่Save & publishและคลิกCancel

ทดสอบการเพิ่มข้อมูลจาก Aurora ไปยัง SPICE ใน Dataset

กลับมาที่หน้า Query Editor ที่เชื่อมต่อกับ Aurora ของเรา จากนั้นรันคำสั่งนี้และกดปุ่ม Run เพื่อเพิ่มข้อมูลลง table ของเรา

use tinnakorn;    // use + ชื่อ Database ของคุณ
insert into test (id, message) values(4, 'AAA004');    // เพิ่มเนื้อหาที่คุณต้องการ

เลื่อนลงมาด้านล่าง ดูที่ Output เมื่อขึ้น ✅Success แล้วก็ถือว่าเพิ่มข้อมูลเสร็จเรียบร้อย

รันคำสั่งนี้แล้วกดปุ่ม Run เพื่อดูข้อมูลใน table ของเรา

use tinnakorn;    // use + ชื่อ Database ของคุณ
select * from test;    // เปลี่ยน test เป็นชื่อ table ของคุณ

เลื่อนลงมาด้านล่าง ดูที่ Result set จะเห็นว่ามีข้อมูลเพิ่มขึ้นมาแล้ว

กลับมาที่หน้า QuickSight แล้วมาที่เมนูด้านซ้าย เลือกDatasetsและคลิกที่ Table ของเรา เช่นtest
เมื่อมี pop-up แสดงขึ้นมาแล้วเลือกEdit dataset

สังเกตที่ช่องสีเขียว จะเห็นว่าข้อมูลของid:4 | message:AAA004ยังไม่แสดงขึ้นมา
ทีนี้ให้ทำการคลิกที่Refresh now

เมื่อ pop-up แสดงขึ้นมาให้เลือกFull refreshและคลิกRefresh

คลิกOK

ดูที่มุมขวาบน เมื่อขึ้นสถานะ Last refreshed แล้วให้คลิกที่Save & publishและคลิกCancel

เลือกDatasetsและคลิกที่ Table ของเราอีกครั้ง
เมื่อมี pop-up แสดงขึ้นมาแล้วให้สังเกตที่ช่องสีเขียว (4 rows were imported to SPICE)
จะเห็นว่าตอนแรกมีอยู่ 3 rows ซึ่งตอนนี้ถูกเพิ่มมาเป็น 4 rows ทีนี้ก็ให้เราเลือกEdit dataset

เมื่อเข้ามาแล้วดูที่ช่องสีเขียว จะเห็นว่าid:4 | message:AAA004ถูกเพิ่มเข้ามาแล้ว
เพียงเท่านี้การเพิ่มข้อมูลไปยัง SPICE ก็เสร็จเรียบร้อยแล้ว

สรุป

การสาธิตนี้เป็นการเชื่อมต่อ QuickSight ไปยัง Aurora โดยผ่าน VPC และทำการดึงข้อมูลที่อยู่ใน Aurora มาแสดงผลใน QuickSigh รวมไปถึงการใช้ฟังก์ชัน Refresh now เพื่อเพิ่มข้อมูลล่าสุดใน Aurora ไปยัง SPICE (พื้นที่ที่ใช้เก็บข้อมูลใน Database) ใน Dataset ของ QuickSight

บทความที่เกี่ยวข้อง

ดูรายละเอียดเพิ่มเติมได้ที่นี่ สอบถามเพิ่มเติมเกี่ยวกับ AWS คลิกที่นี่