5 กันยายน 2555

[113] ลองใช้บริการ AWS ทำเว็บ PHP

ผมไม่เคยคิดจะใช้บริการของ AWS เลยจนกระทั้งไปเจอบริการ Amazon Glacier ซึ่งเอาไว้ Backup ข้อมูลราคาถูกมากกกก เริ่มต้นที่ $0.01 per GB / month (ถ้าเก็บข้อมูล 100GB จะเสียค่าบริการ 0.01$ * 100 * 32฿ * 12 month = 384 บาท/ปี) แต่พอจะเข้าไปใช้งานจริง ปรากฎว่าไม่สามารถ Upload ไฟล์ได้ต้องเขียนโปรแกรม Upload เองเท่านั้น  พอไปดู Client ที่มีในตลาดก็พบว่ายังไม่รองรับ ก็เลยต้องรอกันต่อไป
(╯°□°)╯︵ ┻━┻"


พอสมัคร AWS Account ไปแล้ว เลยทำให้มีสิทธิได้ใช้งานฟรีในส่วนของบริการหลายตัว ประกอบกับช่วงนี้เว็บไซต์ที่เอาไว้ทำงานกับ Facebook กำลังจะหมดอายุพอดี เลยกัดฟันลองพยายามหาวิธีใช้งานสร้างเว็บไซต์ PHP บน AWS ดู (ให้ใช้ฟรี 1 ปี)

หาข้อมูล
เนื่องจากบริการของ AWS มีเยอะมาก และเป็นบริการที่ไม่ตายตัว คือ อยากเอาไปทำอะไรก็ไป config เอา ทำให้แค่ทำเว็บไซต์กลายเป็นเรื่องที่ยุ่งยากขึ้นมาในทันทีเพราะว่า ไม่ใช่เอาไฟล์ไปใส่ใน S3 แล้วจะใช้งาน PHP ได้ และบริการแต่ละอันถือว่าเป็นเรื่องใหม่มาก เมื่อก่อนแค่จ่ายเงินค่า host จากนั้น FTP ไฟล์ไปใส่ก็จบแล้ว แต่ AWS ขั้นตอนมันเยอะกว่านั้นมากและเน้นให้เราต้องทำเอง

ลองทำจริง
หลังจากที่พยายามหาข้อมูลอยู่ 3 วัน ก็ได้ข้อสรุปว่า ถ้ามือใหม่ไม่มีความสามารถเขียนสคริปต์ หรือ remote เข้ามาจัดการ console ได้ ก็ใช้ AWS Elastic Beanstalk ซึ่งเป็นเืครื่องมือที่ไม่เสียค่าบริการ ใช้สำหรับจัดการ Setup เพื่อใช้งาน Web Application ตามที่ต้องการได้ภายในไม่กี่คลิก

แต่เดี๋ยวก่อน ตัว AWS Elastic Beanstalk  ใช้ฟรี แต่ Amazon จะไปเก็บเงินในส่วนที่เราสร้างจาก AWS Elastic Beanstalk ได้แก่ S3 EC2 ซึ่งควรอ่านเอกสารการใช้งานให้เข้าใจ มิฉะนั้นได้เสียเงินทันที หลังจากที่ได้ลองทำการสร้าง Sample Application เรียบร้อยแล้ว ถึงคราวที่จะลองทำเองดูบ้าง
ลอง Create New Application สำหรับ Q-EmoText (เว็บ PHP)
กำหนด ชื่อ และ URL ให้เรียบร้อย
เลือกเป็น t1.micro ไม่งั้นได้เสียเงิน
ดูรายละเอียดให้เรียบร้อยก่อนกด Finish
เมื่อกดปุ่ม Finish แล้วรอไม่กี่นาที เราก็จะได้ PHP Web Application ตามที่เราต้องการ คราวนี้มาถึงการกำหนดโดเมนเนม หากไม่ได้ใช้ Elastic IP ที่แนะนำมาซึ่งจากที่อ่านดู คงไม่สามารถพอจะไปทำแน่ ๆ ในตอนนี้ เลยกำหนด CNAME ไปที่ URL ที่ได้จาก AWS Elastic Beanstalk ก็น่าจะเพียงพอแล้วในตอนนี้

สรุปว่าตอนนี้ได้ใช้งาน AWS ทำเว็บไซต์สมใจแล้ว แต่ถ้าเลย 1 ปีจะใช้งานต่อหรือเปล่า คำตอบน่าจะไม่ เพราะเจอค่าบริการรายเดือนแล้วถ้าไม่มีรายได้เข้ามาก็คงไม่คุ้มกับค่าโฮสติ้งปีละหมื่น (ー'`ー ; ) และคงกลับไปใช้เว็บโฮสติ้งราคาถูก ๆ ราคาไม่กี่ร้อยเหมือนเดิม ε=ε=┌(; ̄◇ ̄)┘

Service and Resource Unit Cost Breakout Cost
Amazon EC2 Linux t1.micro instance1$0.02/hr * 24 hours * 30 days$14.40
Elastic Load Balancer 1 $0.025/hr * 24 hours * 30 days $18.00
Elastic Load Balancer Data Processing 15GB $0.008/GB * 15GB $ 0.12
Elastic Block Store volume 8GB $0.10/GB * 8GB $ 0.80
S3 Storage for WAR File and Access 1GB$0.125/1GB + $0.01 for<1k PUTs + $0.01 for <10k GETs $ 0.15
Bandwidth In and Out 15GB Inbound is free, 15 GB out * $0.12 $ 1.80
Total Monthly Cost without Free Tier $35.27
Total Monthly Cost with Free Tier $0

ปล. แต่ถ้าจะเอา S3 เอาไว้เก็บไฟล์ html และไฟล์อื่น ๆ ที่ไม่ต้องทำ web app ก็พอไหว 4 บาท/GB/เดือน ใช่แค่ไหนจ่ายแค่นั้น

เกี่ยวกับเจ้าของบล๊อก

รูปภาพของฉัน

เป็นโปรแกรมเมอร์ที่ฝันว่าจะได้นอนเกาพุงไปวัน ๆ จนพุงลดกลายเป็นเอว ได้เป็นบุคคลที่มีความสุขที่สุดในโลกจนคนอื่น ๆ อิจฉา