พาไป Deploy Django web สุดง่ายกับ AWS Lightsail [ตอนที่ 1]

stackpython
3 min readApr 22, 2020

--

[What you get from this article]

คุณจะได้เรียนรู้การ สร้าง django web app บน AWS Lightsail ซึ่งค่อนข้างง่ายเมื่อเทียบกับ AWS EC2

[Introduction] ~บ่นเรื่อยเปื่อย

ส่วนตัวเคยลอง ec2 แล้วรู้สึกมันต้องตั้งค่าอะไรหลายๆอย่างเลยหนีมาทาง
Digital Ocean Droplet ก็ happy ดีกับชีวิตจนมีเพื่อนมาแนะนำว่าลอง
AWS Lightsail สิจึงเป็นที่มาของ blog นี้

[เข้าสู่เนื้อหา]

ตัว lightsail นั้นเป็น virtual server ที่มีการตั้งค่าพื้นฐานมาให้ก่อนแล้ว หาก application หรือ stack อยู่ในลิสเรียกว่าแทบจะเปิดเว็บได้ในคลิกเดียวโดยไม่ต้องไปยุ่งส่วนของ web server เลยหากเว็บไซต์ของคุณเติบโตขึ้นไปก็ยังสามารถย้ายไปใช้ EC2 ได้อีกด้วย ยังไม่นับการเชื่อมต่อกับ cloudfront ที่ถูกกว่าเพราะอยู่ในเครือ amazon

Pricing

หากคุณเคยลองดู pricing ของทาง EC2 จะพบว่าการคิดราคาของ EC2 ค่อนข้างปวดหัวพอสมควรจากการคิดที่ค่อนข้างมีรายละเอียดยิบย่อย (ราคาec2) แต่สำหรับ lightsail นั้นราคาจะเป็นราคาที่คิดรวมมาแล้ว จะใช้น้อยใช้เยอะก็ราคานี้สามารถคำนวณราคาได้ง่ายเหมาะสำหรับผู้เริ่มต้น

ราคาของ lightsail

อธิบายกันไปเยอะแล้วมาลองใช้งานกันเลย! link

เริ่มต้นด้วยการที่สมัคร account ของทาง AWS เสียก่อนแล้วทำการแนบรายละเอียดการตัดงินให้เรียบร้อย

เมื่อเราเข้ามาที่หน้า lightsail ให้ทำการกดสร้าง instance ใหม่ขึ้นมา
(กรณีนี้ผมได้ทดลองสร้างขึ้นมาแล้วอันหนึ่ง)
เลือกตำแหน่งของ server และเลือก app เป็น Django
ส่วนนี้เป็นส่วนสำคัญ ให้เราทำการสร้าง SSH key ใหม่ด้วยการกด create new
ตั้งชื่อและ generate key pair
เมื่อคุณสร้างเสร็จแล้วให้ทำการ download key มาเก็บไว้ซึ่งจะโหลดได้เพียงครั้งเดียว ต้องระวังที่จะไม่ลบหรืออัพโหลด key นี้ให้คนอื่นเนื่องจากจะทำให้เขาสามารถเข้าถึง server ของเราได้

เลือกราคาที่ต้องการและสร้าง instance ใหม่ได้เลย

เมื่อสถานะขึ้น running สามารถกดคลิ้กที่หน้าต่าง console เพื่อเข้าจัดการ server ของเราได้ ไอพีทางขวาล่างสามารถเข้าในเว็บไซต์ของเราได้เลย

จัดการเซิร์ฟเวอร์ของเรา

เมื่อเราเข้าไปดูเว็บไซต์เราครั้งแรกจะพบกับหน้าเช่นนี้ เราจะมาอัพโหลดเว็บไซต์ที่เราสร้างใน local ขึ้นทาง lightsail กัน

การเชื่อมต่อ Filezilla เข้า Lightsail

Filezilla เป็นโปรแกรมย้ายไฟล์ผ่าน protocol ต่างๆซึ่งเป็น Open Source และเปิดให้โหลดฟรี สามารถโหลดได้ ที่นี่

เมื่อทำการ download มาแล้วจะพบกับหน้าตาประมาณนี้ โดยฝั่งซ้ายจะเป็นไฟล์ในเครื่องของเรา ฝั่งขวาเป็นไฟล์ของ server เรา โดยเราจำเป็นต้องใช้ keypair ที่เราได้ทำการ downloadจากขั้นตอนที่แล้วมา
เลือก Edit -> Settings

กดที่ add key file เพิ่มตัว keypair ของเราเข้าไปในโปรแกรม
เมื่อทำการเพิ่มไฟล์ key pair แล้วให้ทำการเชื่อมต่อด้วย File -> SiteManager
เลือกคลิ้กที่ new site

เลือกคลิ้กที่ new site ตั้งชื่อแล้วเลือก protocol เป็น SFTP ส่วนของ host ใส่เป็น IP lightsail ของเรา Port เว้นว่างไว้ user ใช้เป็น bitnami

เมื่อตั้งค่าเสร็จแล้วจะได้ประมาณนี้

เมื่อเราทำเสร็จแล้วเราก็สามารถโอนไฟล์ website ของเราเข้าไปยังตัว lightsail ได้เลย

[สรุป]

สิ่งที่เราทำคือ การสมัคร account aws และ สร้าง instance ของทาง lightsail และ deploy django เว็บที่ยังว่างเปล่าอยู่ กับการลง Filezilla เพื่อเตรียมพร้อมในการนำเว็บไซต์ที่เราเขียนขึ้นไปยังทาง lightsail

แล้วพบกันตอนต่อไปสำหรับการนำและตั้งค่า เว็บไซต์ของเราขึ้นไปยัง Lightsail

หากถูกใจสามารถกด clap เพื่อเป็นกำลังใจให้กับทางทีมงาน stackpython ได้นะครับ :)

Isarafx_Stackpython

--

--