- ECS คืออะไร
- องค์ประกอบสำคัญ
- สถาปัตยกรรมตัวอย่าง
- Workshop: สร้าง Ubuntu ECS และ Deploy Nginx ด้วย Docker
- ความปลอดภัยและการใช้งานจริง
- ลบทรัพยากรหลัง Workshop
- ECS เทียบกับบริการอื่น
- เอกสารอ้างอิง
#ECS คืออะไร
Huawei Cloud Elastic Cloud Server (ECS) คือบริการเครื่องเสมือน (Virtual Machine) บนคลาวด์ สามารถเลือก vCPU, RAM, ระบบปฏิบัติการ, ดิสก์ และเครือข่ายได้ตามความต้องการ เหมาะสำหรับโฮสต์เว็บไซต์ API ฐานข้อมูลสำหรับทดลอง และระบบพัฒนา/ทดสอบ
#องค์ประกอบสำคัญ
- Region / Availability Zone (AZ): ที่ตั้งศูนย์ข้อมูลและโซนให้บริการ
- ECS Flavor: ขนาด vCPU และ RAM
- Image: อิมเมจระบบปฏิบัติการ เช่น Ubuntu Linux (ขึ้นอยู่กับ Region)
- EVS: Elastic Volume Service สำหรับเก็บข้อมูลแบบบล็อก
- VPC / Subnet: เครือข่ายส่วนตัวสำหรับ ECS
- Security Group: กฎควบคุมทราฟฟิกขาเข้าและขาออก
- EIP: Elastic IP สำหรับเข้าถึงจากอินเทอร์เน็ต
- Key Pair: กุญแจ SSH สำหรับล็อกอินอย่างปลอดภัย
#สถาปัตยกรรมตัวอย่าง
flowchart LR
U[ผู้ใช้ / Developer] -->|HTTPS 443| EIP[Elastic IP]
EIP --> SG[Security Group]
SG --> ECS[ECS Ubuntu VM]
ECS --> EVS[EVS System Disk]
ECS --> APP[Docker / Nginx / API]
VPC[VPC + Subnet] -.-> ECS
#Workshop: สร้าง Ubuntu ECS และ Deploy Nginx ด้วย Docker
#1. สร้าง ECS
- เข้าสู่ Huawei Cloud Console และเลือก Region ที่ต้องการ
- ไปที่ Elastic Cloud Server (ECS) แล้วเลือกสร้าง ECS
- เลือก AZ และ Flavor ตามงบประมาณและโหลดงาน
- เลือก Ubuntu image ที่รองรับ และกำหนดขนาด system disk (EVS)
- เลือก VPC/Subnet หรือสร้างใหม่
- สร้าง Security Group โดยเปิด TCP 22 เฉพาะ Public IP ของผู้ดูแล และ TCP 80/443 ตามการใช้งาน
- เลือกผูก EIP และกำหนดรูปแบบการคิดค่าใช้จ่าย/แบนด์วิดท์
- ตั้งค่า SSH key pair ตรวจสอบราคา แล้วสร้าง ECS
ชื่อเมนูและตัวเลือกอาจแตกต่างกันตาม Region, ประเภทบัญชี และการปรับปรุง Console
#2. เชื่อมต่อผ่าน SSH
chmod 600 ~/keys/huawei-ecs.pem
ssh -i ~/keys/huawei-ecs.pem ubuntu@<EIP>
ชื่อผู้ใช้เริ่มต้นขึ้นอยู่กับ image ที่เลือก หาก SSH ไม่ได้ ให้ตรวจสอบ Security Group, EIP, ชื่อผู้ใช้ และ key pair
#3. ติดตั้ง Docker Engine (Ubuntu)
ตัวอย่างใช้ repository อย่างเป็นทางการของ Docker:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
. /etc/os-release
sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<DOCKERREPO
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: ${UBUNTU_CODENAME:-$VERSION_CODENAME}
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
DOCKERREPO
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
#4. Deploy Nginx
sudo docker run -d --name web --restart unless-stopped -p 80:80 nginx:stable-alpine
sudo docker ps
curl -I http://localhost
เปิดเบราว์เซอร์ที่ http://<EIP> เพื่อทดสอบ โดยต้องอนุญาต TCP 80 ใน Security Group
#5. ใช้ Docker Compose
# compose.yaml
services:
web:
image: nginx:stable-alpine
restart: unless-stopped
ports:
- "80:80"
sudo docker rm -f web
sudo docker compose up -d
sudo docker compose ps
#ความปลอดภัยและการใช้งานจริง
- จำกัด SSH ให้เฉพาะ IP ผู้ดูแล; พิจารณา VPN/Bastion Host แทนการเปิด SSH สู่สาธารณะ
- ใช้ HTTPS พร้อมโดเมนและใบรับรอง TLS สำหรับ Production
- เปิดพอร์ตเฉพาะที่จำเป็น และอัปเดตแพ็กเกจ/อิมเมจอย่างสม่ำเสมอ
- ตั้งค่าการสำรองข้อมูลและ Snapshot ตามนโยบายกู้คืน
- ติดตาม CPU, RAM, Disk, Network, Log และแจ้งเตือนผ่านบริการ Monitoring ที่รองรับ
- ตรวจสอบค่าใช้จ่าย ECS, EVS, EIP, Bandwidth และทรัพยากรที่ยังคงคิดเงินเมื่อหยุด VM
#ลบทรัพยากรหลัง Workshop
หยุดและลบ ECS พร้อมตรวจสอบการลบ EVS, EIP และทรัพยากรที่ไม่ใช้งานตามตัวเลือกใน Console เพื่อหลีกเลี่ยงค่าใช้จ่ายต่อเนื่อง
#ECS เทียบกับบริการอื่น
| บริการ | ผู้ใช้ดูแล | เหมาะกับ |
|---|---|---|
| ECS (VM) | OS, runtime, แอปพลิเคชัน | ต้องการควบคุมเซิร์ฟเวอร์ |
| Container service | Container และแอป (ขึ้นกับบริการ) | Deploy container แบบจัดการง่ายขึ้น |
| Serverless | โค้ดและการกำหนดค่า | งานตามเหตุการณ์และโหลดผันแปร |
#เอกสารอ้างอิง
- Huawei Cloud ECS: https://www.huaweicloud.com/intl/en-us/product/ecs.html
- Huawei Cloud Documentation: https://support.huaweicloud.com/intl/en-us/ecs/
- Docker Engine on Ubuntu: https://docs.docker.com/engine/install/ubuntu/
หมายเหตุ: ตรวจสอบราคา, quota, flavor, image และฟีเจอร์ใน Region ที่ใช้งานจริงก่อนเริ่ม Workshop