สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

AWS

วิธีสร้าง AWS EC2 instance สร้าง Web Application โดยใช้ Django และ Deploy บน AWS EC2 Jupyter Notebook on AWS

A40 - Create AWS EC2 instance

สร้าง Server บน AWS ใน 5 นาที


 

Amazon EC2 instance เป็น Virtual Server หรือก็คือเครื่อง Server เสมือนที่เราสามารถสร้างผ่านหน้าเว็บ AWS ได้อย่างง่าย ๆ สามารถเลือกสเปคของเครื่อง ระบบปฏิบัติการ และซอฟต์แวร์บางอย่างได้ตามที่เราต้องการ โดย AWS จะคิดค่าใช้จ่ายตามทรัพยากรที่เราใช้งานจริงซึ่งราคาอาจมีการเปลี่ยนแปลงได้ตลอด ผู้เรียนสามารถดูตารางราคาได้จากเว็บ AWS โดยตรง ดังนั้นก่อนจะสร้าง instance ต้องตรวจสอบให้ดีนะครับ สำหรับใน worksheet นี้เราจะทดลองใช้ตัวฟรีกันครับ ซึ่งหลังจากสร้าง Account AWS ใหม่ เราจะสามารถใช้ตัวทดลองฟรีต่าง ๆ ได้เป็นระยะเวลา 12 เดือน (ตามเงื่อนไขที่ Amazon กำหนด) หลังจาก 12 เดือนจะคิดราคาตามที่ใช้งานจริงดังนั้นเมื่อทดลองทำสิ่งต่าง ๆ เสร็จขอแนะนำให้ลบ Instance ที่ไม่ใช้แล้วทิ้งด้วยนะครับ

ในบทความนี้ ผู้เรียนจะได้ทดลองสร้าง Web Server บน Cloud ของ Amazon AWS โดยใช้ผลิตภัณฑ์ที่ชื่อว่า EC2 และติดตั้ง Apache บน Server ที่สร้าง สำหรับผู้ที่สนใจเทคโนโลยี Cloud และอยากใช้งาน Service ของ Amazon Web Service (AWS) ได้อย่างเชี่ยวชาญ ขอแนะนำคอร์ส Cloud (T702) ซึ่งหากลองอ่านในหน้าคอร์สดี ๆ จะมีรางวัลซ่อนอยู่ด้วยนะครับ สำหรับผู้ที่ต้องการปูพื้นฐานเกี่ยวกับ Linux + Git ขอแนะนำคอร์ส SUPER USER (SU101) ครับ

*** เนื่องจากการใช้งาน AWS มีทั้งส่วนที่ให้ทดลองใช้ได้ฟรีและส่วนที่คิดเงิน ดังนั้นผู้เรียนต้องทำตามใน worksheet รวมทั้งอ่านเงื่อนไขที่อาจมีการเปลี่ยนแปลงได้เสมอของ AWS ให้ดี ทาง EPT จะไม่รับผิดชอบต่อความเสียหายที่เกิดขึ้นทั้งทางทรัพย์สินและจิตใจนะครับ ดังนั้นโปรดระมัดระวังและอ่านทุกอย่างให้รอบคอบอยู่เสมอ ***
 

สร้าง EC2 Instance

1. สร้าง AWS account จากเว็บ https://aws.amazon.com/ ในขั้นตอนนี้ต้องใช้อีเมลและหมายเลขบัตรเครดิตด้วย ดังนั้นผู้เรียนต้องมีบัตรเครดิตที่สามารถใช้จ่ายออนไลน์ได้ด้วยนะครับ

2. เมื่อสร้างเสร็จแล้วให้เข้าไปที่ AWS Management Console

3. จากนี้เลือก EC2 ถ้าหาไม่เจอให้พิมพ์คำว่า EC2 ที่ช่อง Search ด้านบนแล้วเลือก EC2 เพื่อสร้าง Virtual Server

4. เลื่อนลงมาจะเห็นปุ่ม Launch instance ให้กดปุ่ม แล้วเลือกเมนู Launch instance

5. ตั้งค่าต่าง ๆ ให้ instance ที่จะสร้าง

  • ช่อง Name and tags ให้ตั้งชื่อเครื่องเป็น WebDjango
  • ช่อง Application and OS Images เลือก Ubuntu แล้วเลือก Amazon Machine Image (AMI) เป็น Ubuntu Server 20.04 LTS
  • เลื่อนลงมาที่ช่อง Instance Type ให้เลือกเป็น t2.micro เนื่องจากเป็นตัวฟรีที่ Amazon ให้เราทดลองใช้งาน 
  • ช่อง Key pair ให้เลือก Key pair สำหรับ instance นี้ แต่ในตัวอย่างนี้เราจะสร้างใหม่โดยเลือก Create new key pair จะมีหน้าต่าง Create key pair ปรากฏขึ้นมา
    • ช่อง Key pair name ตั้งชื่อ key pair (ในตัวอย่างนี้ตั้งชื่อว่า EPT_DJANGO สำหรับมือใหม่แนะนำให้ตั้งชื่อเดียวกับตัวอย่างเพื่อกันความสับสนในขั้นตอนต่อ ๆ ไปนะครับ)
    • สำหรับผู้ที่ใช้ Windows ให้เลือก Private key file format เป็น .ppk
    • กดปุ่ม Create key pair
    • หลังกดปุ่ม Create key pair แล้วเราจะได้ไฟล์ EPT_DJANGO.ppk (หรือ .pem สำหรับคนที่ไม่ได้ใช้ Windows) ดาวน์โหลดลงเครื่องแบบอัตโนมัติและหน้าต่าง Create key pair จะปิดตัวเองไป ขอให้ผู้เรียนเก็บไฟล์นี้ไว้ให้ดี เพราะเดี๋ยวจะต้องใช้ในภายหลัง
  • ช่อง Network settings ให้ติ๊กถูกด้านหน้าทั้งสามอันเพื่ออนุญาตทั้ง SSH, HTTPS และ HTTP traffic
  • ที่เหลือไม่ต้องแก้ค่าอะไรทั้งสิ้น ให้เลื่อนลงมาล่างสุดของหน้านี้จะเจอช่อง Summary แล้วกดปุ่ม Launch instance ด้านล่างได้เลย

6. รอสักครู่จนสร้างเสร็จจะปรากฏข้อความ Success ให้เลื่อนลงมาล่างสุดแล้วกดปุ่ม View Instances หรือ View all Instances



จะปรากฏหน้าสรุป Instance ที่เรามีทั้งหมด

 

เชื่อมต่อ EC2 Instance ผ่านโปรแกรม PuTTY

ในบทความนี้จะสาธิตการเชื่อมต่อเข้าไปที่ Instance ที่สร้างไว้สำหรับเครื่อง Windows ส่วน OS อื่น ๆ ให้ดูวิธีได้จากที่นี่

1. ดาวน์โหลดโปรแกรมชื่อ PuTTY จาก https://www.putty.org/ แล้วทำการติดตั้งให้เรียบร้อย

2. ก่อนจะทำขั้นตอนต่อไป ให้หา Public IPv4 DNS ของ Instance ที่เราสร้างมา ซึ่งสามารถดูจากหน้าสรุป Instance ในขั้นตอนที่ 6 ของหัวข้อที่แล้ว โดยกดที่ Instance ที่เราสร้างขึ้น ซึ่งเมื่อกดแล้วด้านล่างจะปรากฏรายละเอียดของ Instance นั้น เราสามารถดู Public IPv4 DNS ได้ดังภาพ และคัดลอกได้โดยคลิกที่ไอคอน Copy ที่ลูกศรสีแดงชี้ ในตัวอย่างนี้คือ 
ec2-54-251-190-199.ap-southeast-1.compute.amazonaws.com

3. เปิดโปรแกรม PuTTY เพื่อ connect ไปที่ instance ถ้าหาโปรแกรมไม่เจอ สามารถ search ได้โดยพิมพ์คำว่า PuTTY ที่ช่องค้นหาของ Windows

4. ที่หน้าต่าง PuTTY จะมีช่อง "Specify the destination you want to connect to" อยู่

  • ในช่อง Host Name ให้กรอก ubuntu@xxx โดยแทนที่ xxx ด้วย Public DNS (IPv4) ของ Instance ที่เราสร้างมา (วิธีดูอยู่ขั้นตอนที่ 2) ดังนั้นในตัวอย่างนี้จะเป็น
    ubuntu@ec2-54-251-190-199.ap-southeast-1.compute.amazonaws.com
  • ช่อง Port ให้กรอก 22
  • เลือก Connection type เป็น SSH

5. กำหนด Private key

  • ที่แถบเมนูด้านซ้ายของหน้าต่าง PuTTY ให้ไปที่ Connection > SSH > Auth แล้วกด Browse…
     
  • เลือก Private key ที่ดาวน์โหลดมาในขั้นตอนที่ 5 ในหัวข้อที่แล้ว ซึ่งตัวอย่างนี้คือไฟล์ EPT_DJANGO.ppk แล้วกด Open

6. กลับไปที่เมนู Session ในที่นี้จะขอแนะนำให้ผู้เรียน Save Session นี้เอาไว้ เพื่อจะได้สะดวกเวลาต้องการเชื่อมต่ออีกครั้งโดยตั้งชื่อ Session ที่ช่อง Saved Sessions แล้วกดปุ่ม Save ในตัวอย่างนี้ตั้งชื่อว่า django แล้วกดปุ่ม Open เพื่อ Connect ไปยัง Instance


 
7. ถ้าเป็นการเชื่อมต่อครั้งแรก PuTTY จะแสดงหน้าต่างเตือนเรื่องความปลอดภัย แต่เนื่องจากอันนี้เป็นของที่เราทำเองทุกอย่างดังนั้นตอบ Yes เพื่อเชื่อมต่อได้เลย

8. รอสักครู่จะปรากฏหน้าต่าง command ดังภาพ แสดงว่าการเชื่อมต่อสำเร็จแล้ว 

*** อย่าเพิ่งปิดหน้าต่าง PuTTY นะครับ เดี๋ยวจะใช้ในขั้นตอนต่อไป ***

 

ติดตั้ง Apache และ Package ต่าง ๆ บน EC2 Instance

ในบทความนี้จะสาธิตการติดตั้ง Apache HTTP Server บน Ubuntu รวมทั้ง Package pip3 และ mod_wsgi สำหรับผู้ที่ต้องการสร้างเว็บด้วย Django แต่ถ้าใครไม่ได้จะใช้ Django ก็ลงแค่ apache2 ตัวเดียวพอนะครับ

1. ไปที่หน้าต่าง PuTTY ที่เชื่อมต่อกับ EC2 Instance จากหัวข้อก่อนหน้านี้ แล้วพิมพ์ command ต่อไปนี้

หมายเหตุ: โปรแกรม PuTTY นั้น ถ้าเชื่อมต่อทิ้งไว้โดยไม่ได้ทำอะไรสักพักจะปิดการเชื่อมต่อเอง ดังนั้นถ้าเกิด error connection abort ให้เชื่อมต่อเข้าไปที่ EC2 Instance อีกครั้งนะครับ

sudo apt-get update

sudo apt-get install apache2 python3-pip libapache2-mod-wsgi-py3



2. จะมีคำถามให้ยืนยันว่าจะทำต่อไหม ให้พิมพ์ Y แล้วกด Enter

3. รอจนติดตั้งเสร็จจะขึ้นข้อความคล้าย ๆ ในภาพ

4. เมื่อมาถึงตอนนี้เราควรจะเข้าหน้าเว็บ Welcome ของ Apache บน Server นี้ได้แล้วโดยเข้าผ่าน Public IPv4 address ของ instance นี้ ซึ่งดูได้จากหน้าสรุป Instance ดังภาพ

5. Copy Public IPv4 address หรือ Public IPv4 DNS มาวางที่ Browser แล้วกด Enter จะปรากฏหน้าเว็บดังภาพ

เพียงเท่านี้ Server Apache ของเราก็พร้อมใช้งานแล้วครับ

 

เป็นอย่างไรบ้างครับ คิดว่าทุกคนน่าจะทำเสร็จได้ภายใน 5 นาทีใช่ไหมครับ wink สำหรับใครที่อยากทำเว็บเซิร์ฟเวอร์แต่เปิดหน้าต่าง PuTTY มาเจอหน้าจอดำ ๆ แล้วตกใจ ขอแนะนำให้ปูพื้นฐานเกี่ยวกับ Linux + Git ก่อนจากคอร์ส SUPER USER (SU101) ครับ

ในบทความต่อไป เราจะมาสร้างเว็บด้วย Django กัน แล้วพบกันใหม่บทความหน้านะครับ


Tag ที่น่าสนใจ: aws ec2 amazon_web_services cloud_computing virtual_server web_server aws_management_console ubuntu apache putty ssh https http key_pair linux


บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา