Alpine Linux คืออะไร และวิธีใช้งานบน Cloud Server
Alpine Linux คือระบบปฏิบัติการที่มีขนาดเล็กมากจนอิมเมจพื้นฐานมีขนาดเพียงไม่กี่เมกะไบต์ จึงเป็นฐานของคอนเทนเนอร์ที่นิยมที่สุดและใช้เป็นเซิร์ฟเวอร์ที่ต้องการความเบาได้
- หมวดหมู่
- ระบบปฏิบัติการเซิร์ฟเวอร์
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 1 vCPU · RAM 512 MB
- ไลเซนส์
- MIT และ GPL ตามแพ็กเกจ
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Alpine Linux คืออะไร
อิมเมจคอนเทนเนอร์ที่ใหญ่ทำให้ดาวน์โหลดช้า เปลืองพื้นที่ และมีพื้นที่เสี่ยงมากขึ้นเพราะมีซอฟต์แวร์ที่ไม่ได้ใช้ติดมาด้วย Alpine แก้ด้วยการตัดทุกอย่างที่ไม่จำเป็นออก
ผลคืออิมเมจพื้นฐานมีขนาดเพียงไม่กี่เมกะไบต์ เทียบกับหลายสิบถึงหลายร้อยเมกะไบต์ของดิสทริบิวชันทั่วไป ซึ่งทำให้ดาวน์โหลดเร็ว เริ่มทำงานเร็ว และมีช่องโหว่ที่ต้องตามแพตช์น้อยกว่า
ข้อควรรู้ที่สำคัญคือ Alpine ใช้ไลบรารีระบบที่ต่างจากดิสทริบิวชันทั่วไป ซอฟต์แวร์บางตัวที่คอมไพล์มาสำหรับไลบรารีมาตรฐานจึงทำงานไม่ได้หรือมีพฤติกรรมต่างไป ต้องทดสอบก่อนใช้จริงเสมอ
ความสามารถเด่นของ Alpine Linux
ขนาดเล็กมาก
อิมเมจพื้นฐานเพียงไม่กี่เมกะไบต์ ดาวน์โหลดและเริ่มทำงานเร็ว
พื้นที่เสี่ยงน้อย
มีซอฟต์แวร์ติดตั้งน้อยจึงมีช่องโหว่ที่ต้องตามแพตช์น้อยกว่า
ตัวจัดการแพ็กเกจที่เร็ว
ติดตั้งและอัปเดตแพ็กเกจได้รวดเร็ว
ใช้หน่วยความจำน้อย
เหมาะกับเครื่องสเปกเล็กและอุปกรณ์ที่ทรัพยากรจำกัด
เป็นฐานของคอนเทนเนอร์ที่นิยมที่สุด
มีอิมเมจของภาษาและบริการต่าง ๆ ให้เลือกใช้จำนวนมาก
ใช้ Alpine Linux ทำอะไรได้บ้าง
- อิมเมจพื้นฐานของคอนเทนเนอร์ที่ต้องการขนาดเล็ก
- เซิร์ฟเวอร์ที่รันบริการเดียวและต้องการความเบาที่สุด
- อุปกรณ์ปลายทางที่ทรัพยากรจำกัด
- ระบบที่ต้องการลดพื้นที่เสี่ยงด้านความปลอดภัย
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ขั้นต่ำบริการเดียวที่เบามาก | 1 vCPU | 512 MB | NVMe 10 GB |
| แนะนำบริการทั่วไปที่รันในคอนเทนเนอร์ | 1 vCPU | 1 GB | NVMe 20 GB |
| ใช้งานหนักรันหลายคอนเทนเนอร์บนเครื่องเดียว | 2 vCPU ขึ้นไป | 4 GB ขึ้นไป | NVMe 40 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Alpine Linux บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- ความเข้าใจว่าไลบรารีระบบต่างจากดิสทริบิวชันทั่วไป
- การทดสอบซอฟต์แวร์ก่อนใช้จริงเพราะบางตัวอาจไม่ทำงาน
- คีย์ SSH สำหรับเข้าเครื่อง
ทดสอบบน Alpine Linux
- 1
อัปเดตระบบและติดตั้งเครื่องมือพื้นฐาน
apk update && apk upgrade apk add bash curl vim openssh sudo - 2
สร้างผู้ใช้และตั้งค่า SSH
adduser -D deploy addgroup deploy wheel sed -i "s/^#*PermitRootLogin.*/PermitRootLogin no/" /etc/ssh/sshd_config sed -i "s/^#*PasswordAuthentication.*/PasswordAuthentication no/" /etc/ssh/sshd_config rc-service sshd restart - 3
ตั้งไฟร์วอลล์
apk add iptables rc-update add iptables # ตั้งกฎให้เปิดเฉพาะพอร์ตที่จำเป็น - 4
ใช้เป็นฐานของคอนเทนเนอร์
เมื่อใช้เป็นฐานของอิมเมจ ให้ติดตั้งเฉพาะแพ็กเกจที่แอปต้องใช้จริงและลบแคชเพื่อให้อิมเมจเล็กที่สุด
FROM alpine:3.20 RUN apk add --no-cache nodejs npm WORKDIR /app COPY . . RUN npm ci --omit=dev CMD ["node", "server.js"] - 5
ทดสอบว่าซอฟต์แวร์ทำงานถูกต้อง
ทดสอบให้ครบก่อนใช้จริง เพราะไลบรารีระบบที่ต่างอาจทำให้ซอฟต์แวร์บางตัวมีพฤติกรรมต่างไปหรือทำงานช้าลงในบางกรณี
- 6
ตั้งการอัปเดตความปลอดภัย
ตรวจและอัปเดตแพ็กเกจตามรอบ และสร้างอิมเมจใหม่เมื่อมีแพตช์ความปลอดภัยของอิมเมจฐาน
apk update && apk upgrade --available
ทดสอบซอฟต์แวร์ให้ครบก่อนใช้จริงเสมอ เพราะ Alpine ใช้ไลบรารีระบบที่ต่างจากดิสทริบิวชันทั่วไป ซอฟต์แวร์บางตัวจึงมีพฤติกรรมต่างไปหรือทำงานไม่ได้
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 22 | TCP | SSH สำหรับผู้ดูแล (ควรจำกัดไอพี) |
| 443 | TCP | HTTPS ของบริการที่รันบนเครื่อง |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ติดตั้งเฉพาะแพ็กเกจที่จำเป็นเพื่อคงพื้นที่เสี่ยงให้น้อยที่สุด
- ปิดการเข้าสู่ระบบด้วยรหัสผ่านและใช้คีย์ SSH
- สร้างอิมเมจใหม่เมื่อมีแพตช์ของอิมเมจฐาน
- ไม่รันกระบวนการในคอนเทนเนอร์ด้วยสิทธิ์สูงสุดโดยไม่จำเป็น
ทำไมควรรัน Alpine Linux บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ใช้เป็นอิมเมจฐานของแอปที่รันบน Cloud Server ทำให้ดาวน์โหลดและขยายระบบได้เร็ว
ใช้ทรัพยากรน้อยมาก จึงรันหลายบริการบนเครื่องเดียวได้คุ้มค่า
ลดพื้นที่จัดเก็บของ Registry เพราะอิมเมจมีขนาดเล็กกว่ามาก
คำถามที่พบบ่อยเกี่ยวกับ Alpine Linux
Alpine เหมาะกับงานแบบไหน
เหมาะที่สุดกับการเป็นอิมเมจฐานของคอนเทนเนอร์ที่ต้องการขนาดเล็กและปลอดภัย ส่วนการใช้เป็นระบบปฏิบัติการของเซิร์ฟเวอร์ทั่วไปทำได้แต่ต้องยอมรับว่าเครื่องมือและเอกสารน้อยกว่าดิสทริบิวชันหลัก
ทำไมบางแอปทำงานไม่ได้
เพราะ Alpine ใช้ไลบรารีระบบที่ต่างจากดิสทริบิวชันทั่วไป ซอฟต์แวร์ที่คอมไพล์มาสำหรับไลบรารีมาตรฐานจึงอาจทำงานไม่ได้ ทางแก้คือใช้อิมเมจที่คอมไพล์มาสำหรับ Alpine หรือเปลี่ยนไปใช้อิมเมจฐานอื่น
เล็กกว่าจริงแค่ไหน
อิมเมจพื้นฐานมีขนาดเพียงไม่กี่เมกะไบต์ เทียบกับหลายสิบถึงหลายร้อยเมกะไบต์ของดิสทริบิวชันทั่วไป ซึ่งเห็นผลชัดเมื่อต้องดึงอิมเมจไปรันหลายเครื่องพร้อมกันตอนขยายระบบ
ทางเลือกอื่นที่คล้ายกับ Alpine Linux
แอปอื่นในหมวด ระบบปฏิบัติการเซิร์ฟเวอร์
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Alpine Linux ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด