info-alibaba-cloud-ecs-elastic-compute-service-cloud-vm-workshop-deploy-docker-compose

เป้าหมาย: เข้าใจการทำงานของ Alibaba Cloud ECS และสามารถสร้างเครื่องเสมือน Linux เพื่อให้บริการเว็บไซต์ผ่าน Public IP ได้ด้วยตนเอง

ข้อควรทราบ: การสร้าง ECS, ระบบจัดเก็บข้อมูล และการรับส่งข้อมูลออกสู่อินเทอร์เน็ตอาจมีค่าใช้จ่ายตามการใช้งานจริง โปรดตรวจสอบราคาใน Region ที่เลือกก่อนยืนยันคำสั่งซื้อ และ Release ทรัพยากรเมื่อจบ Workshop

#ผลลัพธ์การเรียนรู้ (Learning Outcomes)

เมื่อทำ Workshop จบ ผู้เรียนควรสามารถ:

  1. อธิบายความแตกต่างของ ECS, VPC, vSwitch, Security Group, Public IP และ Cloud Disk ได้
  2. เลือกทรัพยากรและรูปแบบค่าบริการให้เหมาะกับ Lab พร้อมประเมินจุดที่อาจเกิดค่าใช้จ่าย
  3. สร้าง Linux ECS Instance และเชื่อมต่อผ่าน SSH Key Pair ได้อย่างปลอดภัย
  4. ติดตั้ง Docker Engine และ Docker Compose บน Ubuntu จาก Repository ทางการ
  5. Deploy เว็บไซต์ Nginx Container ให้เข้าถึงผ่าน Public IPv4 และทดสอบระบบได้
  6. วินิจฉัยปัญหาเบื้องต้นและ Release ทรัพยากรเมื่อเสร็จสิ้นการฝึก

#1. Alibaba Cloud ECS คืออะไร?

Elastic Compute Service (ECS) คือบริการเครื่องคอมพิวเตอร์เสมือน (Cloud Virtual Machine) ระดับ Infrastructure as a Service (IaaS) ของ Alibaba Cloud ผู้ใช้เลือก CPU, RAM, ระบบปฏิบัติการ, ดิสก์ และเครือข่ายได้ตามความต้องการโดยไม่ต้องจัดหาเครื่องเซิร์ฟเวอร์จริง

ตัวอย่างงานที่เหมาะสม ได้แก่

  • โฮสต์เว็บไซต์และ REST API เช่น Laravel, Spring Boot, NestJS, Django และ Go
  • ใช้เป็น Development / Staging / CI Runner สำหรับทดสอบซอฟต์แวร์
  • รัน Docker, Docker Compose หรือ Kubernetes สำหรับการเรียนรู้
  • ประมวลผลข้อมูลและงาน Batch Processing
  • สร้างระบบที่ต้องการควบคุม OS และการติดตั้งซอฟต์แวร์เอง

ECS คล้ายกับ Amazon EC2, Google Compute Engine และ Azure Virtual Machines แต่ใช้ระบบจัดการ ทรัพยากร และรูปแบบการคิดค่าบริการของ Alibaba Cloud

#2. องค์ประกอบสำคัญของ ECS

องค์ประกอบ หน้าที่
Instance เครื่อง VM ที่กำหนดจำนวน vCPU, RAM และประเภทฮาร์ดแวร์
Image ต้นแบบระบบปฏิบัติการ เช่น Ubuntu หรือ Alibaba Cloud Linux
Region / Zone ที่ตั้งศูนย์ข้อมูล / พื้นที่ย่อยภายใน Region
VPC เครือข่ายส่วนตัวแบบแยกขอบเขต (Virtual Private Cloud)
vSwitch เครือข่ายย่อย (Subnet) ภายใน VPC
Security Group Firewall เชิงตรรกะควบคุม Inbound / Outbound Traffic
System Disk / Data Disk บล็อกสตอเรจสำหรับระบบปฏิบัติการและข้อมูล
Public IP / EIP ที่อยู่สำหรับเข้าถึงบริการจากอินเทอร์เน็ต (ขึ้นกับการกำหนดเครือข่าย)
Snapshot สำเนาข้อมูลดิสก์ ณ จุดเวลา ใช้ในการกู้คืนหรือสำรองข้อมูล
RAM (Resource Access Management) จัดการตัวตน บทบาท และสิทธิ์เข้าถึง Cloud
CloudMonitor / Auto Scaling ติดตามสถานะและขยาย/ลดจำนวนทรัพยากรตามเงื่อนไข

#สถาปัตยกรรมตัวอย่างใน Workshop

flowchart TD
    U["ผู้ใช้งานเว็บ"] -->|"HTTP :80"| P["Public IPv4"]
    A["ผู้ดูแลระบบ"] -->|"SSH :22 เฉพาะ IP ที่เชื่อถือ"| SG
    P --> SG["Security Group"]
    SG --> VM["ECS Instance: Ubuntu ใน VPC/vSwitch"]
    VM --> D["Docker Engine + Docker Compose"]
    D --> W["Nginx Container"]
    W --> H["Static Web Page"]
    VM --- DISK["Cloud Disk / Snapshot"]

Security Group ไม่ใช่ Firewall ตัวเดียวที่ต้องพิจารณา: หากเปิด UFW หรือ Firewall ภายในระบบปฏิบัติการ ต้องกำหนดกฎให้สอดคล้องกันด้วย

#3. เลือกประเภทการคิดค่าบริการ

รูปแบบ ลักษณะ ใช้เมื่อ
Pay-as-you-go ชำระตามการครอบครอง/ใช้งานทรัพยากรตามเงื่อนไขของบริการ ทดลองระยะสั้นและงานโหลดไม่แน่นอน
Subscription ชำระล่วงหน้าเป็นช่วงเวลา ระบบใช้งานประจำ 24/7
Spot Instance ราคาทรัพยากรประมวลผลผันผวนและอาจถูกเรียกคืน Batch/ทดสอบที่รองรับการหยุดชะงัก

ค่าใช้จ่ายอาจประกอบด้วย Compute + Cloud Disk + Public Bandwidth / Outbound Traffic + Snapshot และทรัพยากรประกอบอื่น ๆ อย่าประเมินจากราคา Instance อย่างเดียว การสั่ง Stop ไม่ได้หมายความว่าค่าบริการทุกประเภทหยุดทันที โดยเฉพาะดิสก์และทรัพยากรที่ยังคงถูกเก็บไว้

#4. เตรียมพร้อมก่อนทำ Workshop

  1. บัญชี Alibaba Cloud ที่เปิดใช้งานและกำหนดวิธีชำระเงินแล้ว
  2. เครื่องคอมพิวเตอร์ที่ใช้ SSH ได้ เช่น Windows PowerShell, macOS หรือ Linux
  3. พื้นฐาน Linux Command Line และ Docker เล็กน้อย
  4. IP สาธารณะของเครื่องผู้ดูแลสำหรับจำกัด SSH เช่น 203.0.113.10/32 (ที่อยู่นี้เป็นตัวอย่างเท่านั้น)
  5. งบประมาณทดลองและแผนลบทรัพยากรหลังจบงาน

สเปกตัวอย่างสำหรับ Lab (ไม่ใช่ข้อกำหนดขั้นต่ำของ Alibaba Cloud): Ubuntu Server 24.04 LTS, 2 vCPU, RAM 2–4 GiB, System Disk 40 GiB หรือขนาดที่เหมาะสมตาม Image/Instance ที่เลือก โดยตรวจสอบความพร้อมให้บริการใน Region นั้น ๆ

#5. Workshop — สร้าง Alibaba Cloud ECS Ubuntu Server

#ขั้นตอนที่ 1: สร้าง Instance

  1. เข้าสู่ Alibaba Cloud ECS Console และเลือก Create Instance หรือ Custom Launch
  2. Billing Method: เลือก Pay-as-you-go สำหรับ Lab
  3. Region/Zone: เลือกตำแหน่งที่ใกล้ผู้ใช้งานและมี Instance Type ที่ต้องการ
  4. Network: เลือก VPC และ vSwitch (สร้างใหม่หรือเลือกที่มีอยู่)
  5. Instance Type: เลือกรุ่นขนาดเล็กที่เพียงพอสำหรับ Nginx และ Docker
  6. Image: เลือก Public Image > Ubuntu 24.04 LTS หากมีให้เลือก
  7. Storage: เลือก System Disk ตามขนาดที่ต้องการ
  8. Public IP: เลือก Assign Public IPv4 Address และกำหนดวิธีคิดค่าบริการ/แบนด์วิดท์ให้เหมาะสม
  9. Login Credentials: เลือก Key Pair และกำหนดชื่อผู้ใช้ ecs-user ตามตัวเลือกของหน้าสร้างเครื่อง (เก็บ Private Key ไว้อย่างปลอดภัย)
  10. Security Group: เปิดเฉพาะพอร์ตตามตารางด้านล่าง ตรวจสอบรายการทรัพยากรและค่าใช้จ่าย แล้วจึงยืนยัน

การสร้างอินสแตนซ์และชื่อปุ่มอาจเปลี่ยนแปลงตามเวอร์ชัน Console และ Region หากไม่พบ Ubuntu 24.04 LTS ให้ตรวจสอบรายการ Image ที่รองรับ Instance Type นั้น

#ขั้นตอนที่ 2: ตั้งค่า Security Group

Direction Protocol / Port Source วัตถุประสงค์
Inbound TCP 22 <YOUR_PUBLIC_IP>/32 SSH เฉพาะผู้ดูแล
Inbound TCP 80 0.0.0.0/0 ทดสอบเว็บ HTTP สาธารณะ
Inbound TCP 443 0.0.0.0/0 ใช้ภายหลังเมื่อเปิด HTTPS
  • ห้ามเปิดพอร์ต 22 จาก 0.0.0.0/0 โดยไม่จำเป็น และไม่ควรเปิดฐานข้อมูล เช่น 3306, 5432 สู่สาธารณะ
  • พอร์ต 443 ยังไม่จำเป็นใน Lab ขั้นต้นเพราะยังไม่ได้ติดตั้งใบรับรอง TLS
  • หากเปิดใช้ Windows RDP ให้จำกัด 3389 เฉพาะ IP ที่เชื่อถือ เช่นเดียวกับ SSH
  • การเปิดพอร์ตใน Security Group เป็นเพียงการอนุญาตผ่าน Firewall ไม่ได้ทำให้บริการเริ่มทำงานโดยอัตโนมัติ
  • สำหรับ Docker Port Publishing อย่าอาศัย UFW เพียงอย่างเดียว: Docker อาจจัดการ Packet ก่อนถึงกฎ UFW จึงต้องควบคุมพอร์ตที่เปิดสู่สาธารณะด้วย Security Group เป็นหลัก และศึกษากฎ Firewall ของ Docker หากออกแบบระบบจริง

#ขั้นตอนที่ 3: เชื่อมต่อด้วย SSH

บน macOS / Linux (และใช้แนวคิดเดียวกันบน Windows PowerShell):

chmod 400 ~/Downloads/alibaba-ecs-key.pem
ssh -i ~/Downloads/alibaba-ecs-key.pem ecs-user@<PUBLIC_IP>

แทน <PUBLIC_IP> ด้วย Public IP ของ ECS และแทนชื่อไฟล์ .pem ด้วย Private Key ที่ผูกกับ Instance หากเลือกผู้ใช้ root ตอนสร้างเครื่อง ให้ปรับชื่อบัญชีในคำสั่ง SSH ให้ตรงกับการตั้งค่าจริง

บน Windows PowerShell สามารถใช้ ssh -i "C:\\Users\\<USER>\\Downloads\\alibaba-ecs-key.pem" ecs-user@<PUBLIC_IP>; ไม่จำเป็นต้องใช้คำสั่ง chmod แบบ Unix

หรือใช้ Workbench / Session Manager ผ่าน Console เพื่อเข้าถึงเครื่องโดยไม่ต้องเปิด Public IP ในบางรูปแบบการเชื่อมต่อ ทั้งนี้ต้องมีสิทธิ์และองค์ประกอบรองรับตามเอกสาร Alibaba Cloud

#ขั้นตอนที่ 4: ตรวจสอบเครื่องและอัปเดตแพ็กเกจ

cat /etc/os-release
uname -a
free -h
df -h
sudo apt-get update
sudo apt-get upgrade -y

#6. Workshop — ติดตั้ง Docker Engine และ Docker Compose

ตัวอย่างสำหรับ Ubuntu 24.04 โดยใช้ Docker APT Repository ทางการ:

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

sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF_DOCKER
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF_DOCKER

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

sudo docker --version
sudo docker compose version

ใช้ sudo docker ตลอด Workshop เพื่อไม่ต้องเพิ่มผู้ใช้เข้า Docker Group ซึ่งมีสิทธิ์สูงเทียบเท่าการควบคุม Host ได้ในหลายกรณี

#7. Workshop — Deploy เว็บไซต์ด้วย Nginx Container

#ขั้นตอนที่ 1: สร้างไฟล์ HTML

mkdir -p ~/ecs-web/html
cd ~/ecs-web

cat > html/index.html <<'EOF_HTML'
<!doctype html>
<html lang="th">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Alibaba Cloud ECS Workshop</title>
  <style>
    body { font-family: sans-serif; max-width: 760px; margin: 12vh auto;
           padding: 1rem; line-height: 1.7; background: #f6faff; }
    article { background: white; padding: 2rem; border-radius: 18px;
              box-shadow: 0 10px 30px #d5e6f1; }
    h1 { color: #ff6a00; }
  </style>
</head>
<body>
  <article>
    <h1>ยินดีต้อนรับสู่ Alibaba Cloud ECS</h1>
    <p>Deploy เว็บไซต์สำเร็จด้วย Ubuntu + Docker Compose + Nginx</p>
  </article>
</body>
</html>
EOF_HTML

#ขั้นตอนที่ 2: สร้างไฟล์ compose.yaml

cat > compose.yaml <<'EOF_COMPOSE'
services:
  web:
    image: nginx:stable-alpine
    restart: unless-stopped
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
EOF_COMPOSE

Nginx Container เปิดพอร์ต 80 ภายใน Container และผูกกับพอร์ต 80 ของ Host โดยไฟล์เว็บไซต์ถูก Mount แบบอ่านอย่างเดียว (:ro)

#ขั้นตอนที่ 3: เริ่มบริการ

# ตรวจสอบ Compose configuration ก่อนเริ่มบริการ
sudo docker compose config

# รัน Nginx Container แบบ Background
sudo docker compose up -d
sudo docker compose ps
sudo docker compose logs --tail=30 web

# ทดสอบผ่าน HTTP ใน ECS
curl -I http://127.0.0.1

ถ้าได้สถานะ HTTP 200 OK แปลว่า Web Server ตอบสนองภายในเครื่องแล้ว จากนั้นเปิดเบราว์เซอร์:

http://<PUBLIC_IP>

ควรเห็นข้อความ “ยินดีต้อนรับสู่ Alibaba Cloud ECS”

ผลลัพธ์ที่คาดหวัง (Acceptance Criteria)

  • sudo docker compose ps แสดง Container สถานะ Up หรือ running
  • curl -I http://127.0.0.1 ได้รหัสสถานะ HTTP/1.1 200 OK หรือ HTTP/2 ที่เทียบเท่า
  • เปิด http://<PUBLIC_IP> จากเครื่องภายนอกได้ และหน้าเว็บแสดงข้อความภาษาไทยถูกต้อง
  • sudo docker compose logs --tail=30 web ไม่มี Error ที่ทำให้บริการทำงานไม่ได้

ตัวอย่างนี้เปิดเว็บไซต์ด้วย HTTP สำหรับ Lab เท่านั้น ยังไม่ใช่การ Deploy สำหรับ Production เพราะไม่มี HTTPS/TLS, Domain, Backup และการจัดการความปลอดภัยของแอปพลิเคชันครบถ้วน

#ขั้นตอนที่ 4: ปรับเว็บและอัปเดต

cd ~/ecs-web
nano html/index.html
sudo docker compose restart web

สำหรับเว็บ Static ที่ Mount ไฟล์โดยตรง การแก้ไฟล์โดยทั่วไปจะถูกใช้ในการตอบคำขอใหม่ได้ทันที จึงไม่จำเป็นต้อง Restart ทุกครั้ง แต่คำสั่ง Restart มีประโยชน์ในการสาธิตการจัดการ Service

#ขั้นตอนที่ 5: หยุดบริการ

cd ~/ecs-web
sudo docker compose down

คำสั่งนี้หยุด/ลบ Container และ Network ของ Compose แต่ ไม่ได้ Release ECS Instance และไม่ได้ลบค่าบริการ Cloud ที่ยังคงใช้งานอยู่

#8. ปัญหาที่พบได้บ่อย (Troubleshooting)

อาการ จุดที่ควรตรวจสอบ
SSH timeout Public IP, Security Group TCP 22, Firewall ของ OS, Network และ IP ต้นทางที่ได้รับอนุญาต
SSH Permission denied (publickey) ชื่อผู้ใช้, Key Pair ที่ผูกกับ Instance, สิทธิ์ไฟล์ Private Key
เข้า http://<PUBLIC_IP> ไม่ได้ Security Group TCP 80, Container Status, Host Firewall, Public IP และ Network
docker: command not found ติดตั้ง Docker ผ่าน Repository สำเร็จหรือไม่
bind: address already in use มีโปรเซสอื่นใช้พอร์ต 80 อยู่ (sudo ss -ltnp | grep ':80')
Container หยุดทำงาน sudo docker compose ps และ sudo docker compose logs web
ค่าใช้จ่ายมากกว่าที่คาด ตรวจ Compute, Disk, Bandwidth, Snapshot และทรัพยากรที่ยังไม่ได้ Release

คำสั่งตรวจสอบเพิ่มเติม:

sudo ss -ltnp | grep ':80'
sudo systemctl status docker --no-pager
sudo docker ps
sudo docker compose logs -f web

#9. แนวทาง Security สำหรับ Production

  • ใช้ SSH Key Pair และจำกัดพอร์ต SSH เฉพาะ IP ที่เชื่อถือ หรือใช้ Session Manager หากเหมาะสม
  • ให้สิทธิ์ผ่าน RAM Role / Least Privilege แทนการใช้ AccessKey ถาวรบน Server
  • อัปเดตระบบปฏิบัติการและ Docker เป็นประจำ ติดตามช่องโหว่ของ Image
  • ใช้ HTTPS พร้อม Domain และใบรับรอง TLS ก่อนเปิดให้ผู้ใช้จริงใช้งาน
  • แยก Database ไว้ใน Private Network และจำกัดการเชื่อมต่อผ่าน Security Group
  • ตั้งค่า CloudMonitor / Alert และนโยบาย Snapshot/Backup ตาม RPO/RTO
  • ใช้การสำรองข้อมูลแยกจาก VM และ ทดสอบ Restore ไม่ถือว่า Snapshot เทียบเท่า Disaster Recovery ทั้งระบบ
  • กำหนด Tags เช่น env=lab, owner=se-course และตั้ง Budget/Cost Alert
  • วางระบบ High Availability ด้วยหลาย ECS Instance, Load Balancer และหลาย Zone ตามความต้องการจริง

#10. จัดการค่าใช้จ่ายและลบทรัพยากรหลังจบ Lab

เมื่อเสร็จ Workshop:

  1. สำรองข้อมูลที่ต้องการออกก่อน
  2. เข้า ECS Console ตรวจสอบ Region และ Instance ที่สร้าง
  3. เลือก Release สำหรับ Pay-as-you-go Instance ที่ไม่ใช้งานแล้ว (เป็นการลบที่อาจทำให้ข้อมูลหายถาวร)
  4. ตรวจสอบ Disk, Snapshot, EIP, Load Balancer และบริการอื่นที่อาจแยกคิดค่าบริการ
  5. ตรวจสอบหน้ารายการค่าใช้จ่ายหลังการลบเพื่อยืนยันว่าไม่มีทรัพยากรที่ไม่ตั้งใจค้างอยู่

สำคัญ: การ Stop VM ไม่เท่ากับการ Release VM และการ docker compose down ไม่ได้หยุดค่าใช้จ่ายของ ECS

#11. แนวทางขยาย Workshop สำหรับวิชา Cloud และ DevOps

หลังจาก Deploy เว็บแรกสำเร็จ สามารถต่อยอดเป็นแล็บดังนี้:

  1. CI/CD: ใช้ GitHub Actions Build & Push Docker Image แล้ว Deploy ไป ECS ด้วย SSH อย่างปลอดภัย
  2. Infrastructure as Code: เขียน Terraform สำหรับ VPC, vSwitch, Security Group และ ECS
  3. Observability: เก็บ Metrics/Logs และสร้าง Alert
  4. Production-ready: เพิ่ม Domain, TLS, Reverse Proxy, Health Check และ Backup
  5. Load Balancing & Scaling: ออกแบบหลาย Instance หลัง Load Balancer และ Auto Scaling

#กิจกรรมประเมินผล (Mini Assignment)

ให้ผู้เรียนทำงานต่อจากตัวอย่างโดยไม่เปิดเผย Private Key หรือ Credential ในรายงาน:

ภารกิจ หลักฐานที่ส่ง คะแนนตัวอย่าง
อธิบายสถาปัตยกรรม ECS + VPC + Security Group แผนภาพระบบพร้อมคำอธิบาย 20
ตั้งค่า Linux ECS และ SSH อย่างปลอดภัย ภาพหน้า Instance และ Security Group โดยปกปิดข้อมูลอ่อนไหว 20
ติดตั้ง Docker และ Docker Compose ผลลัพธ์ docker --version และ docker compose version 15
Deploy เว็บไซต์ให้เข้าถึงได้จากภายนอก ภาพหน้าเว็บและผลลัพธ์ curl -I 30
สรุปต้นทุนและขั้นตอน Release Checklist และคำอธิบายการตรวจรายการทรัพยากร 15
รวม 100

โจทย์เพิ่มเติม: เพิ่มหน้า about.html และลิงก์จาก index.html ให้ผู้สอนเข้าถึงผ่าน /about.html ได้ พร้อมอธิบายว่าเหตุใดการแก้ Static File ที่ Mount แบบ :ro จึงยังสะท้อนผลใน Container ได้

#คำถามท้าย Workshop

  • ECS ต่างจาก Container-as-a-Service หรือ Serverless อย่างไร?
  • เหตุใด Security Group ควรจำกัดพอร์ต 22 แทนการเปิดทุก IP?
  • เหตุใดการ Stop VM อาจยังมีค่าใช้จ่าย?
  • การมี Snapshot อย่างเดียวเพียงพอต่อระบบ Production หรือไม่ เพราะอะไร?
  • ถ้าผู้ใช้เพิ่มขึ้น 10 เท่า ควร Scale Up หรือ Scale Out และมีข้อแลกเปลี่ยนอะไร?

#อินโฟกราฟิกสรุป Workshop

info-alibaba-cloud-ecs-elastic-compute-service-cloud-vm-workshop-deploy-docker-compose

หมายเหตุ: ภาพประกอบใช้เพื่อการเรียนรู้ ผู้เรียนควรอ้างอิงค่าพอร์ต ชื่อผู้ใช้ และการกำหนดสิทธิ์จากคำสั่งจริงในบทความเป็นหลัก

#สรุป

Alibaba Cloud ECS ช่วยให้ผู้พัฒนาสร้างและควบคุมเครื่องเซิร์ฟเวอร์บน Cloud ได้อย่างยืดหยุ่น ทั้งระดับ Compute, OS, Storage และ Networking ใน Workshop นี้เราเริ่มตั้งแต่เลือก Region และ Instance, กำหนด Security Group, เชื่อมต่อด้วย SSH, ติดตั้ง Docker Compose และเปิดเว็บ Nginx ผ่าน Public IP ได้จริง แนวคิดเดียวกันต่อยอดสู่การ Deploy API, CI/CD, Terraform และ Microservices ได้


#เอกสารอ้างอิง (ตรวจสอบ 14 ตุลาคม 2026)

  1. Alibaba Cloud — Create instances
  2. Alibaba Cloud — Purchase an ECS instance with a custom configuration
  3. Alibaba Cloud — Instance logon credentials
  4. Alibaba Cloud — Connect to a Linux instance with OpenSSH or Xshell
  5. Alibaba Cloud — Log on using Workbench
  6. Alibaba Cloud — Security groups
  7. Alibaba Cloud — Assign and manage static public IP addresses
  8. Alibaba Cloud — Public network bandwidth billing
  9. Alibaba Cloud — Release an instance
  10. Docker Docs — Install Docker Engine on Ubuntu
  11. Docker Docs — Packet filtering and firewalls