2 เม.ย. 2022 เวลา 01:45 • วิทยาศาสตร์ & เทคโนโลยี
EC2 (Elastic Compute Cloud)
EC2 คือ Virtual Server บน AWS หรือเรียกง่ายๆว่าเช่าคอมพิวเตอร์จาก AWS แต่การเช่าจาก AWS นี้ ปกติเราจะไม่เช่าทั้งเครื่อง เราเช่าแค่ส่วนหนึ่งของเครื่อง โดยเราสามารถเลือก Spec ได้ทุกอย่างตามที่ต้องการ และจ่ายตามการใช้งานจริง Amazon เรียกการเช่า EC2 ว่า Launch EC2
Amazon EC2
เวลาเรา Launch EC2 เราเลือกอะไรได้บ้าง
เลือก Image ที่ต้องการ (เลือก OS ที่ต้องการ) เช่น
  • Amazon Linux 2 (Linux เวอร์ชั่นของ Amazon)
  • macOS
  • Red Hat Enterprise Linux
  • SUSE Linux Enterprise Server
  • Ubuntu Server
  • Microsoft Windows Server
เลือก Spec ของเครื่อง เช่น
  • t3.micro (2 vCPUs, 1 GB Ram)
  • c5.large (2 vCPUs, 4 GB Ram)
  • m5.large (2 vCPUs, 8 GB Ram)
จริงๆมีให้เลือกมากกว่า 100 แบบ และแต่ละแบบมีรายละเอียดมากกว่านี้อีกเยอะ
เลือก Storage
  • General Purpose SSD (gp2, gp3)
  • Provisioned IOPS SSD (io1, io2) หรือ SSD แบบที่เร็วกว่า gp2, gp3
  • Magnetic หรือ harddisk จานหมุน
มีฟังก์ชั่นยิบย่อยอีกมากมายใน EC2 เช่น
  • เลือกระหว่าง On-demand instance หรือ Spot instance
On-demand instance คือได้เครื่องชัวร์ แต่ราคาแพงหน่อย
Spot instance คือไป bid เครื่องเหลือๆ ได้ราคาถูกหน่อย แต่ได้ไม่ชัวร์ แล้วแต่ราคา bid
  • เพิ่ม IAM role เพื่อให้ EC2 เข้าถึง service อื่นๆได้
  • ต้องการใช้ Hibernation โดยการจองพื้นที่ใน Storage ไว้สำหรับเก็บของใน RAM
  • เลือก Detailed monitoring เพื่อให้ได้ค่าสถิติของเครื่องทุกๆ 1 นาที (ถ้าไม่เลือกจะได้ทุกๆ 5 นาที) ค่าสถิติอย่างเช่น %CPU usage
  • สามารถใส่ User data (Script) เพื่อให้เครื่องรันตอนเปิดเครื่องครั้งแรก ใช้สำหรับ download ของที่จำเป็น หรือ install software หรือ update อะไรบางอย่าง
หลังจากที่เราได้เครื่องมาแล้ว สิ่งหนึ่งที่เราทำได้คือ setup สิ่งต่างๆที่เราต้องการเครื่อง แล้วสร้างเป็น Image เวอร์ชั่นของเราเอง เรียกว่า AMI (Amazon Machine Image) ซึ่งเราสามารถ Launch EC2 ด้วย Image นี้ในภายหลังได้ ทำให้เราไม่ต้อง setup แบบเดิมซ้ำๆ ถ้าเรารู้อยู่แล้วว่าเราต้อง setup แบบนี้
นอกจากนี้ยังมีฟังก์ชันสำคัญที่เกี่ยวข้องกับ EC2 อีก
  • Load Balancers
สำหรับกระจาย request ที่เข้ามาให้กับ EC2 หลายเครื่อง โดย Load Balancer มีหลายชนิด ตัวที่ใช้บ่อยที่สุดสำหรับกระจาย request ประเภท HTTP, HTTPS คือ Application Load Balancer
  • Auto Scaling Groups
สำหรับเพิ่มหรือลดจำนวน EC2 อัตโนมัติ ให้เหมาะสมกับปริมาณงานที่มีในขณะนั้น ตามตัวชี้วัดที่เรากำหนด โดยปกติเราจะใช้ Auto Scaling Group ควบคู่กับ Load Balancer

ดูเพิ่มเติมในซีรีส์

โฆษณา