Amazon Aurora คืออะไร
ตั้งแต่อดีตมาจนถึงปัจจุบัน เรียกได้ว่าซอฟแวร์แทบจะทุกระบบบนโลกใบนี้ ล้วนแล้วแต่จำเป็นต้องเก็บข้อมูล ลงบนระบบฐานข้อมูลด้วยกันทั้งนั้น ไม่ว่าระบบจะเล็ก หรือใหญ่ก็ตาม โดยที่ทาง AWS เองก็มี Service ต่าง ๆ ที่เกี่ยวข้องกับระบบฐานข้อมูลมาให้เลือกใช้อย่าง Amazon RDS หรือใครอยากทำเอง ก็ลงระบบฐานข้อมูลลงบน EC2 เลย แต่วันนี้ผมจะพาทุกท่านไปรู้จักกับ Amazon Aurora ว่ามันคืออะไร และมีดีอย่างไร อีกอย่างนึงคือ มันไม่ใช่ร้านทอง!!!
ปล.เหมาะกับผู้ที่ใช้ AWS มาก่อน เนื้อหาบางส่วนถ้าไม่เคยใช้ AWS มาก่อนเลยอาจจะงงได้
Amazon Aurora
ก่อนจะไปรู้จัก Amazon Aurora เรามารู้จัก Amazon Relational Database Service (Amazon RDS) กันก่อน Amazon RDS เป็นบริการฐานข้อมูลซึ่งมีผลิตภัณฑ์ฐานข้อมูลหลากหลายให้เลือก ทั้ง PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server รวมไปถึง Aurora ด้วย
Amazon Aurora เป็น Relational database ที่มีประสิทธิภาพ สร้างขึ้นสำหรับ Cloud โดยสามารถใช้งานร่วมกับ MySQL และ PostgreSQL ได้ มีความพร้อมใช้งาน เรียบง่าย และประหยัดค่าใช้จ่าย
Advantage
- เร็วกว่า MySQL ปกติ 5 เท่า และเร็วกว่า PostgreSQL ปกติ 3 เท่า
- สามารถปรับเพิ่ม – ลด ขนาดได้ ต่ำสุด 10GB สูงสุดระดับ 64TB
- สามารถใช้ร่วมกับ Aurora Serverless ได้ซึ่งความสามารถของมันคือ ทำให้ปรับเพิ่ม – ลด ขนาดได้อัตโนมัติ (เอาไว้จะกลับมาเขียนเรื่อง Aurora Serverless)
- มีการเฝ้าติดตาม และสำรองข้อมูลต่อเนื่องไปยัง Amazon S3
- Native HA
- สามารถกู้ข้อมูลในอย่างฉับไว
- หายห่วงเรื่อง Fixbug หรือ Upgrade เนื่องจาก Amazon จัดการให้
- มี AWS Cloudwatch ให้นั่งมอนิเตอร์, ไม่ต้องสนใจฮาร์ดแวร์ ซอฟแวร์ (อันนี้ไม่ค่อยพิเศษเพราะ Amazon RDS มันมีให้หมดอยู่แล้ว)
- มีความทนทานสูง เคลมว่า 99.99% (ใช้อย่างอื่นของเค้ามามันก็ยังไม่ล่มจริง ๆ นะ)
- เค้าว่ามันจะช่วยคุณประหยัดได้ประมาณ 90% (ผมว่ามันประหยัดขึ้นจริงสำหรับระบบใหญ่ ๆ มากกว่า)
Disadvantage
- ไม่มี Plugin MySQL ถ้าหากต้องการใช้ Plugin MySQL ควรเลือก RDS MySQL
- Support InnoDB เท่านั้น ถ้าจะใช้ MyISAM ควรใช้ RDS MySQL
- ไม่สามารถ Specific releases version ได้ ถ้าหากต้องการใช้ Specific release version ควรใช้ RDS MySQL
- ถ้าระบบไม่ได้มีความจำเป็นจะต้อง Scale หรือ ต้องการ backup ตลอดเวลา ตัวเลือกนี้อาจจะไม่เหมาะ เนื่องจากอาจจะทำให้กลายเป็นมีค่าใช้จ่ายสูงกว่า Amazon RDS ปกติ
Security
เรื่องของความปลอดภัยนั้นทาง AWS เค้าให้ความสำคัญมากอยู่แล้วครับ ถ้าหากคุณเคยใช้ Amazon RDS มาก่อน หรือเคยสร้างพวก EC2 ทาง AWS เค้ามี Amazon VPC เอาไว้เพื่อป้องกันสำหรับ Amazon Aurora ด้วย แล้วก็ยังมี AWS Key Management Service และก็ยังเข้ารหัสการส่งผ่านข้อมูลด้วย SSL อีก
- ตัว Amazon Aurora มีการทำ encryption ข้อมูลทั้งในระหว่างส่ง(in transit) และการจัดเก็บ(at rest)
- Amazon Aurora ใช้ SSL (AES-256) ในการเชื่อมต่อระหว่าง application และ database
Move to use Amazon Aurora
การย้ายเข้ามาใช้บริการ Amazon Aurora ในกรณีที่คุณใช้ Amazon RDS อยู่แล้วไม่ว่าจะเป็น MySQL หรือ PostgreSQL ก็ตาม คุณสามารถทำได้เลย ตรงนี้ไม่ขออธิบายนะครับยาว แค่จะบอกว่ามันทำได้เลย
การย้ายเข้ามาใช้บริการ Amazon Aurora ในกรณีที่คุณมี MySQL หรือ PostgreSQL อยู่บน EC2 ก็สามารถย้ายเข้ามาใช้ได้เช่นกัน โดยการทำ snapshot ที่ฐานข้อมูล แล้วนำไปวางที่ AWS S3 จากนั้นทำการ import ข้อมูลลงไปที่ Amazon Aurora
Compare Pricing
มาดูราคากัน Amazon RDS เปิดมาตัวเล็กสุดที่ t3.micro แต่ Amazon Aurora ไม่มี เรามาเริ่มกันที่ Amazon Aurora t3.small ราคา $0.041/hr ในขณะที่ Amazon RDS t3.small ราคา $0.034/hr //ราคา ณ วันที่ May/9/2019 คุณสามารถเข้าไปเช็คราคากันต่อได้ที่ References ด้านล่างครับ
Customer
ลูกค้าที่ใช้บริการ Amazon Aurora
Conclusion
อ่านมาถึงตรงนี้ ก็หวังว่าทุกท่านจะได้รู้จักกับ Amazon Aurora มากขึ้นนะครับ จริง ๆ มันก็เป็นส่วนหนึ่งของ Amazon RDS นั่นเอง ผมว่าข้อดีหลัก ๆ คือไม่ต้องวุ่นวายกับเครื่องทำให้เราไม่ต้องมากังวลกับฐานข้อมูลที่ขับเคลื่อน application ของเรา แล้วมัน backup ให้ตลอด เป็น Native HA.. ที่ชอบมาก ๆ คือมัน scale ได้ ถ้าใช้ร่วมกันกับ Aurora Serverless จะงดงาม
ถ้าหากขาดตกบกพร่องตรงไหนรบกวนชี้แนะได้นะครับ