แนะนำบริการ Amazon EC2 ในปี 2025

แนะนำบริการ Amazon EC2 ในปี 2025

เนื้อหาในบทความนี้ได้รับการแปลมาจากบทความภาษาญี่ปุ่นของคุณ Hiraki keisuke

บทนำ

สวัสดีทุกคนที่เข้ามาอ่านบล็อกของนุกนิก

วันนี้เรานำบทความในหัวข้อ AWS入門ブログリレー 2024〜Amazon EC2 編〜 (บทความที่ 43 ของ AWS Introductory Blog Relay 2024) มาแปลให้ทุกคนได้อ่านกัน เป็นบทความสำหรับผู้ที่กำลังเริ่มต้นใช้งาน EC2 ต้นฉบับเขียนโดยคุณ Hiraki Keisuke ฝ่าย Consulting ประจำ Classmethod Inc. หรือบริษัทแม่ของ Classmethod (Thailand) ที่ประเทศญี่ปุ่นนั้นเอง

โดยแนวคิดในการเขียน Blog Relay นี้ คือการให้สมาชิกที่มักจะเขียนเกี่ยวกับข่าวสารล่าสุดของบริการ AWS หรือหัวข้อเชิงลึกและรายละเอียดต่าง ๆ ได้ย้อนกลับไปสู่พื้นฐานอีกครั้ง เพื่อทบทวนและอธิบายเนื้อหาพื้นฐานของ AWS

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

หวังว่าบทความนี้จะเป็นประโยชน์ให้แก่ทุกคนที่เข้ามาอ่าน งั้น เรามาเรียนรู้ไปพร้อมกันนะคะ

EC2 คืออะไร?

Amazon EC2 (Elastic Compute Cloud) เป็นหนึ่งในบริการ Cloud Computing ที่ให้บริการโดย Amazon Web Services (AWS)
มี Host (Physical Machine) อยู่ภายใน Data Center ที่จัดการโดย AWS และ EC2 Instance ถูกสร้างขึ้นบนชั้นของ Hypervisor

ด้วยการใช้ EC2

  • สามารถรับประกันความยืดหยุ่นในการเพิ่มหรือลบเซิร์ฟเวอร์ได้ตามต้องการ
  • สามารถเริ่มต้นใช้งานได้ตามต้องการ และชำระค่าบริการตามช่วงเวลาที่ใช้งานจริงแบบ On-Demand ได้
  • สามารถรองรับ Scalability ที่ปรับจำนวนและขนาดของ Instance ได้ตามระดับของโหลดงาน

ความรู้เบื้องต้นของ EC2

EC2 สามารถสร้างขึ้นได้จากองค์ประกอบหลายอย่างตามด้านล่างนี้
amazon_ec2-diagram

1. AMI คืออะไร

AMI (Amazon Machine Image) คือเทมเพลตที่ใช้ในการเริ่มต้น EC2 Instance
ภายในประกอบด้วยข้อมูลที่จำเป็นสำหรับการเริ่มต้น Instance เช่น การตั้งค่า OS และแอปพลิเคชัน นอกจาก AMI ที่จัดเตรียมโดย AWS หรือ AMI ที่อยู่บน AWS Marketplace แล้ว ยังสามารถสร้าง AMI ใช้เองได้ด้วย

2. Instance Type คืออะไร

ใน EC2 มีการให้บริการ Instance Type หลากหลายประเภท ซึ่งแต่ละประเภทมีสเปกและประสิทธิภาพที่แตกต่างกัน

Instance Type ถูกกำหนดขึ้นตามกฎการตั้งชื่อดังแสดงในภาพด้านล่าง
amazon_ec2-instance_type_family-en
ใน Instance Family นั้น จะมีความแตกต่างกันหลายด้าน เช่น โปรเซสเซอร์ที่ใช้ในแต่ละ Family จะถูกเลือกให้เหมาะสมกับแต่ละ Use Case และสถาปัตยกรรม (Architecture) ที่รองรับก็จะแตกต่างกันไป

สำหรับ Instance Size จะเป็นตัวบ่งบอกขนาดของสเปก โดยเมื่อขนาดเพิ่มขึ้น 1 ระดับ สเปกก็จะเพิ่มขึ้นเป็นเท่าตัวตามไปด้วย ตัวอย่างเช่น หากดูที่ตระกูล c5 จะเป็นดังนี้:

Type vCPU Memory
c5.large 2 4GiB
c5.xlarge 4 8GiB
c5.2xlarge 8 16GiB

สำหรับรายการ Instance Type ล่าสุด โปรดดูที่ Document ทางการของ AWS
https://aws.amazon.com/th/ec2/instance-types/

3. EBS คืออะไร

EBS (Elastic Block Store) คือบริการ Block Storage ที่สามารถใช้งานร่วมกับ EC2 ได้

4. ENI คืออะไร

ENI (Elastic Network Interface) คือฟีเจอร์ที่แสดงถึงการ์ดเครือข่ายเสมือน (Virtual Network Interface Card) ที่เชื่อมโยงกับ EC2 โดยหลักแล้วจะเก็บข้อมูลที่เกี่ยวข้องกับ IP Address และ Security Group ก็จะถูกผูกไว้กับ ENI ด้วยเช่นกัน

แม้ว่าโดยทั่วไปอาจเข้าใจกันว่า Security Group ถูกผูกไว้กับ EC2 Instance โดยตรง แต่ในความเป็นจริงแล้ว Security Group จะถูกกำหนดไว้กับ ENI ที่เชื่อมโยงกับ EC2 นั่นเอง

สิ่งที่สามารถตั้งค่าได้ในส่วน Advanced Details ขณะเริ่มต้น EC2

ในหน้าสร้าง EC2 สามารถกำหนดค่าต่างๆ ได้ในส่วน Advanced Details
ต่อไปเราจะมาดูแต่ละรายการที่สามารถตั้งค่าได้ ณ เวลาปัจจุบัน

รายการ เนื้อหา
Merged Domain Directory สามารถเลือกโดเมนที่สร้างด้วย AWS Directory Service ได้

กรณีที่จัดการโดเมนด้วย AWS Directory Service จะสามารถทำให้ EC2 ที่เปิดใช้งานเข้าร่วมโดเมนได้โดยอัตโนมัติ
IAM Instance Profile Instance Profile คือรายการที่ใช้สำหรับกำหนด IAM Role ที่เชื่อมโยงกับ EC2

โดยปกติแล้ว IAM Role จะถูกเชื่อมโยงโดยตรงกับทรัพยากรของ AWS แต่ในกรณีของ EC2 จะมีสิ่งที่เรียกว่า Instance Profile ทำหน้าที่เป็นเหมือนกล่องตัวกลาง ซึ่งจะเชื่อมโยง IAM Role เข้ากับ Instance Profile และส่งผ่านไปยัง EC2 ทำให้สามารถดำเนินการต่างๆ ได้ภายใต้สิทธิ์ของ IAM Role นั้น
Type Host Name สามารถเลือก Format Hostname ของ EC2 ที่เริ่มต้นใช้งานได้

หากเลือก “IP Name”

{จะเป็นรูปแบบ: [Private IP Address]-[Region ID].compute.internal}

(ตัวอย่าง: ip-10-0-0-10.ap-northeast-1.compute.internal)

หากเลือก "Resource name"

{จะเป็นรูปแบบ: [Instance ID].[Region ID].compute.internal}

(ตัวอย่าง: i-xxxxxxxxxxxxxxxxx.ap-northeast-1.compute.internal)
DNS Host Name สามารถตั้งค่าให้เปิดใช้งานการแก้ชื่อIPv4 และ IPv6 Address ของ EC2 ได้

ในค่าเริ่มต้นอาจถูกตั้งให้เปิดหรือปิดใช้งานโดยขึ้นอยู่กับ Subnet ที่ใช้ในการเริ่มต้น EC2
Automatic Instance recovery หาก System Status Check ล้มเหลว สามารถใช้ Auto Recovery เพื่อกู้คืน EC2 ได้โดยอัตโนมัติ
หากเลือก “Default” จะเป็นการเปิดใช้งานฟีเจอร์นี้โดยอัตโนมัติ
Shutdown Operation สมารถตั้งค่า behavior ของ EC2 Instance เมื่อมีการสั่ง Shutdown ในระดับ OS ได้ ตัวอย่างเช่นในกรณีของ Linux Server เมื่อใช้คำสั่ง shutdown สามารถเลือกได้ว่า EC2 Instance จะถูกหยุดการทำงาน (Stopped) หรือถูกลบ (Terminated)
Stop - Pause Operation สามารถเลือกได้ว่าจะเปิดใช้งานฟีเจอร์ Hibernate หรือไม่ ซึ่งคล้ายกับโหมด Sleep แต่ระหว่างที่พักระบบก็จะทำการบันทึกข้อมูลในหน่วยความจำ ลงใน EBS เพื่อรักษาสถานะหยุดชั่วคราว
Termination protection สามารถตั้งค่าเพื่อป้องกันไม่ให้ EC2 Instance ถูก Terminate ได้ หากเปิดใช้งานจะไม่สามารถ Terminate Instance ได้จากการดำเนินการทั่วไป อย่างไรก็ตามการป้องกันนี้จะไม่มีผลกับการสั่ง Shutdown ในระดับ OS
Stop protection สามารถตั้งค่าเพื่อป้องกันไม่ให้ EC2 Instance ถูก Stop ได้ หากเปิดใช้งานจะไม่สามารถหยุดการทำงานของ Instance ได้จากการดำเนินการทั่วไป เช่นเดียวกับ Termination protection การป้องกันนี้จะไม่มีผลกับการสั่ง Shutdown ในระดับ OS
CloudWatch Monitoring details สามารถเปิดใช้งานการ Monitoring แบบละเอียดของ EC2 ได้ โดย Detailed monitoring จะมีค่าใช้จ่ายเพิ่มเติม แต่สามารถดู Metrics ได้ทุก 1 นาที (ในขณะที่ Basic Monitoring จะอัปเดตทุก 5 นาที)
Elastic GPU เป็นการตั้งค่าเพื่อให้สามารถเพิ่ม GPU ให้กับ EC2 Instance ของ Windows ได้ อย่างไรก็ตามปัจจุบันฟีเจอร์นี้ไม่ได้รับการสนับสนุนแล้ว จึงแนะนำให้ใช้ Instance Type เช่น G4ad, G4dn หรือ G5 แทน
Credit Specification สำหรับ t-series ซึ่งเป็น Burstable Performance Instances สามารถเลือกประเภทการใช้ CPU Credit ได้
Placement Group สามารถเลือก Placement Group ที่สร้างไว้ล่วงหน้าได้
EBS Optimized Instance สามารถเลือกเปิดใช้งาน Throughput เฉพาะระหว่าง EC2 และ EBS ได้ โดยขึ้นอยู่กับประเภทของ Instance ว่าสามารถใช้งานฟีเจอร์นี้ได้หรือไม่
Purchase Options สามารถเลือกได้ว่าจะขอใช้ Spot Instance หรือไม่
Capacity Reservation เป็นการตั้งค่าให้สามารถเริ่มต้น Instance ภายใน Capacity Reservation ได้
Tenancy สามารถเลือกได้ว่า EC2 Instance จะใช้ Dedicated Host หรือไม่ (คือการใช้โฮสต์แบบเฉพาะตัว ไม่แชร์กับผู้ใช้อื่น)
RAM Disk ID สามารถระบุ RAM Disk ID ที่ต้องการได้
Kernel ID สามารถระบุ Kernel ID ที่ต้องการได้
Nitro Enclave สามารถเปิดใช้งานฟีเจอร์ที่ช่วยสร้างสภาพแวดล้อมสำหรับแอปพลิเคชันที่แยกออกจากกันภายใน EC2 Instance ได้ โดยสภาพแวดล้อมนี้จะรองรับเฉพาะการเข้าถึงแบบ Local เท่านั้น เพื่อเพิ่มความปลอดภัยของข้อมูล
License Settings สามารถใช้ Rules ที่สร้างไว้ล่วงหน้าใน AWS License Manager กับ EC2 Instance ได้
Accessible Metadata สามารถตั้งค่าได้ว่าจะปิดการเข้าถึง Instance Metadata หรือไม่ หากปิดใช้งานจะไม่สามารถใช้งาน Instance Profile หรือ User Data ได้ ซึ่งอาจส่งผลกระทบต่อการทำงานของแอปพลิเคชัน
Metadata Transfer เป็นการตั้งค่าให้สามารถเข้าถึง IPv6 Address ของ IMDSv2 เพื่อดึงข้อมูล EC2 Metadata ได้

สามารถใช้ได้เฉพาะในกรณีที่ Instance ที่สร้างบน AWS Nitro System ถูกเริ่มต้นใน IPv6-only Subnet เท่านั้น
Metadata Version สามารถเลือกเวอร์ชันของ Metadata ได้อย่างใดอย่างหนึ่งระหว่าง v1 v2/v2 เท่านั้น
Hop Limit for Metadata Response สามารถระบุจำนวน Network Hops สูงสุดที่ Metadata Token สามารถเคลื่อนย้ายได้
Allow Metadata Tags หากเปิดใช้งานจะสามารถดึงข้อมูล Tag ที่ผูกกับ Instance ได้ผ่าน HTTP Request
User Data - Options สามารถระบุ Shell Script หรือ cloud-init directives เพื่อให้รันโดยอัตโนมัติเมื่อ Instance เริ่มทำงาน

ตรวจสอบข้อมูลล่าสุดใน Documentation ทางการของ AWS ได้ที่ลิงก์ด้านล่างนี้
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html

โครงสร้างค่าใช้จ่ายของ EC2

ค่าบริการ Instance

ค่าบริการของ Instance จะเกิดขึ้นตามประเภทของ Instance ที่เลือกและระยะเวลาใช้งาน โดยค่าใช้จ่ายจะถูกคำนวณเป็นรายชั่วโมง ดังนั้นการเปิดใช้งาน Instance เฉพาะเมื่อต้องการใช้งานจะเรียกว่า ช่วยให้มีประสิทธิภาพด้านต้นทุนมากยิ่งขึ้น

ระบบการคิดค่าบริการที่คิดเฉพาะช่วงเวลาที่ Instance ทำงานแบบนี้ เรียกว่า On-Demand Instance

นอกจากนี้ใน AWS ยังมีระบบการคิดค่าบริการอื่นๆ ที่ช่วยเพิ่ม Cost Efficiency ได้มากยิ่งขึ้น

https://dev.classmethod.jp/articles/lets-save-more-money-by-using-ec2-reserved-instances/

ค่าบริการ EBS

EBS (Elastic Block Store) ถูกใช้งานเป็น Storage สำหรับ EC2 Instance โดยจะมีค่าใช้จ่ายเกิดขึ้นตามขนาดความจุของ Storage และปริมาณการใช้งาน

ขออนุญาตแนะนำบล็อกเกี่ยวกับค่าใช้จ่าย AWS เพิ่มเติมค่ะ

ค่าบริการการถ่ายโอนข้อมูล (Data Transfer)

ค่าบริการการถ่ายโอนข้อมูลจะเกิดขึ้นตามปริมาณข้อมูลที่ส่งออกและรับเข้าจาก EC2 Instance ซึ่งรวมถึงการถ่ายโอนข้อมูลระหว่าง Region หรือการสื่อสารผ่าน Internet เป็นต้น

Public IP Address (Elastic IP Address)

ค่าบริการการถ่ายโอนข้อมูลจะเกิดขึ้นตามปริมาณข้อมูลที่ส่งออกและรับเข้าจาก EC2 Instance ซึ่งรวมถึงการถ่ายโอนข้อมูลระหว่าง Region หรือการสื่อสารผ่าน Internet เป็นต้น

บทความต้นฉบับ

https://dev.classmethod.jp/articles/introduction-2024-amazon-ec2/
แปลโดย: Siwanat Phuengphian - นุกนิก

รวมบทความที่เกี่ยวข้อง

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.