AWS Emulator โปรแกรมจำลอง AWS API บน GitHub ใช้ไม่ต้องมีบัญชี AWS ไม่คิดค่าบริการเพิ่ม รุ่น v1.0.338 ผ่าน 26,001 จาก 43,548 หน่วยทดสอบความเหมือน
โดย กองบรรณาธิการ THAI DATA อ่าน 5 นาที
สรุปประเด็นสำคัญ
- AWS Emulator คือโปรแกรมจำลอง AWS API ที่รันบนเครื่องผู้พัฒนา เซิร์ฟเวอร์ หรือ CI โดยไม่ต้องมีบัญชี AWS และ AWS ระบุว่าไม่มีค่าบริการเพิ่ม (ยังจ่ายเฉพาะทรัพยากร AWS จริงตอนนำขึ้นใช้)
- ที่เก็บ aws/aws-emulator บน GitHub สร้างเมื่อ 11 กันยายน 2026 มี 5,470 ดาว ณ 13 พฤศจิกายน 2026 ใช้ภาษา Rust ใบอนุญาต CC0 1.0 (ส่วน vendor เป็น Apache 2.0)
- รุ่นล่าสุด v1.0.338 ออก 12 พฤศจิกายน 2026 ไฟล์คะแนนความเหมือนของรุ่นนี้มี 43,548 หน่วยทดสอบ ผ่าน 26,001 ไม่ผ่าน 17,464 ข้าม 83 (ตัวเลขที่เรานับเองจากไฟล์ scores.json.gz)
- AWS ระบุว่าใช้เพื่อสร้างและทดสอบเท่านั้น ห้ามใช้กับงานจริงหรือทดสอบความปลอดภัย และการเรียก API ที่ยังไม่รองรับจะได้ HTTP 501 NotImplemented
- ผู้ใช้ Windows และ macOS ต้องรันผ่าน Docker จากไฟล์ Dockerfile เพราะ AWS ไม่ได้เผยแพร่อิมเมจสำเร็จรูป ส่วนเซิร์ฟเวอร์เปิดพอร์ต 9297
AWS Emulator ทดสอบ API ในเครื่อง ได้โดยไม่ต้องเรียก AWS จริง Amazon Web Services เปิดซอร์สโปรแกรมจำลอง AWS API ที่ที่เก็บ aws/aws-emulator บน GitHub ซึ่งสร้างเมื่อ 11 กันยายน 2026 และมี 5,470 ดาว ณ 13 พฤศจิกายน 2026 ผู้ใช้ไม่ต้องมีบัญชี AWS และ AWS ระบุว่าไม่มีค่าบริการเพิ่ม รุ่นล่าสุด v1.0.338 ออกเมื่อ 12 พฤศจิกายน 2026
AWS Emulator ทำอะไรได้
ตามหน้า What is AWS Emulator ของ AWS โปรแกรมนี้เป็นโปรแกรมในเครื่องที่เปิดปลายทาง AWS API ไม่มีหน้าจอกราฟิก ผู้ใช้ตั้งตัวแปรสภาพแวดล้อมให้ AWS CLI หรือ AWS SDK ชี้มาที่ปลายทางนั้นแล้วรันโค้ดตามปกติ คำขอจึงไปที่โปรแกรมจำลอง ไม่ใช่ AWS ผู้ใช้ทำงานกับทรัพยากรจำลองแทนทรัพยากรจริง AWS ระบุว่าโปรแกรมไม่ส่งคำขอ คำตอบ หรือข้อมูลทรัพยากรไปยัง AWS แต่ส่งข้อมูลการใช้งานและข้อผิดพลาดแบบนิรนามเป็นค่าเริ่มต้น ปิดได้ด้วย --telemetry off หรือตัวแปร EMULATOR_TELEMETRY=off

โปรแกรมมี 3 โหมดการใช้งาน ได้แก่ โหมดเซิร์ฟเวอร์ที่ใช้กับ CLI และ SDK ทุกภาษา โหมดที่ให้ตัวช่วยเขียนโค้ด AI ติดตั้งสกิล aws-emulator ผ่าน AWS CLI รุ่น 2.35.0 ขึ้นไป และโหมดฝังตัวสำหรับการทดสอบด้วยภาษา Rust ที่รันโปรแกรมจำลองในโพรเซสเดียวกับเทสต์ แยกหนึ่งอินสแตนซ์ต่อเทสต์

| ระบบ | วิธีรัน AWS Emulator ตามเอกสาร |
|---|---|
| Linux (x86_64 และ aarch64) | ติดตั้งแพ็กเกจ RPM หรือ Debian แล้วรันคำสั่ง aws-emulator |
| Windows และ macOS | สร้างอิมเมจ Docker จาก Dockerfile สั้น ๆ เพราะไม่มีอิมเมจสำเร็จรูป |
| Rust | เพิ่มเป็น dev-dependency รันในโพรเซสเทสต์ ไม่ต้องตั้ง endpoint |
เซิร์ฟเวอร์เปิด HTTPS ที่ 127.0.0.1:9297 ด้วยใบรับรองที่เซ็นเอง และ Dockerfile ของ AWS ใช้อิมเมจ Amazon Linux 2023 เปิดพอร์ต 9297
ความเหมือนกับ AWS จริงวัดอย่างไร
AWS นิยาม "fidelity" ว่าโปรแกรมจำลองให้ผลเหมือน AWS มากเพียงใด ทั้งผลลัพธ์ของการเรียกที่ถูกต้องและข้อผิดพลาดของการเรียกที่ผิด โดยวัดด้วยชุดทดสอบที่เขียนด้วย AWS SDK รันกับ AWS จริงในภูมิภาค us-west-2 (ยกเว้นบริการระดับโลกที่ตรวจใน us-east-1) แล้วเทียบ ชุดทดสอบเผยแพร่ในที่เก็บ aws-emulator-evaluation-suite รวมข้อที่โปรแกรมยังไม่ผ่านด้วย และคะแนนต่อบริการเผยแพร่พร้อมทุกรุ่น

AWS ระบุเองว่าปัจจุบันโปรแกรมตรงกับ AWS มากที่สุดที่ control plane (API สร้าง อ่าน แก้ไข ลบ และแสดงรายการทรัพยากร) ส่วน data plane และการรองรับเครื่องมือ infrastructure as code อย่าง CloudFormation, Terraform และ CDK ต่างกันไปแต่ละบริการ API ที่ยังไม่ทำจะตอบ HTTP 501 รหัส NotImplemented เพื่อให้เทสต์ล้มทันที
เราดาวน์โหลดไฟล์ scores.json.gz ที่แนบกับรุ่น v1.0.338 แล้วนับผลเอง ได้ 43,548 หน่วยทดสอบ ครอบคลุม 355 บริการ ผ่าน 26,001 หน่วย ไม่ผ่าน 17,464 หน่วย และข้าม 83 หน่วย หรือผ่านราว 59.7% ของทั้งหมด ตัวเลขนี้เป็นการนับของเราจากไฟล์ที่ AWS เผยแพร่ ไม่ใช่ตัวเลขที่ AWS ประกาศเอง และชุดทดสอบเพิ่มได้ในรุ่นถัดไป จึงเทียบข้ามรุ่นตรง ๆ ไม่ได้
ข้อจำกัดที่ต้องรู้ก่อนใช้
README ระบุว่า AWS Emulator มีไว้สร้างและทดสอบ ห้ามใช้กับงาน production หรือทดสอบความปลอดภัย ผู้ที่ต้องการแก้ไขหรือใช้โหมดฝังตัวต้อง build จากซอร์ส ซึ่ง README ระบุว่าต้องมีพื้นที่ว่างอย่างน้อย 100 GB สำหรับโฟลเดอร์ target และรองรับเฉพาะ Linux ที่ที่เก็บยังไม่รับ pull request ปัญหาและช่องว่างความเหมือนให้แจ้งผ่าน GitHub Issues โดยมีโฟลเดอร์ issues/ ติดตามสิ่งที่ยังไม่ทำงาน

โครงการออกรุ่นถี่ ที่เก็บมี 15 รุ่นในรายการล่าสุด ตั้งแต่ v1.0.250 วันที่ 7 พฤศจิกายน 2026 ถึง v1.0.338 วันที่ 12 พฤศจิกายน 2026 โดยรุ่นล่าสุดแก้การทำงานของบริการหลายสิบรายการ เช่น DynamoDB, Cognito, RDS และ CloudFormation
ทำไม AWS Emulator จึงสำคัญ
นักพัฒนาที่ใช้ AWS มักต้องมีบัญชีทดสอบหรือเครื่องมือจำลองจากบุคคลที่สามเพื่อรันเทสต์ใน CI การที่ AWS ปล่อยตัวจำลองอย่างเป็นทางการและวัดความเหมือนด้วยชุดทดสอบที่เปิดเผย ให้ทีมเห็นได้ว่าบริการไหนที่ตัวจำลองตรงกับ AWS แล้ว และบริการไหนยังไม่ควรพึ่งพา การทดสอบแบบไม่เรียก AWS จริงยังลดความเสี่ยงที่เทสต์จะสร้างทรัพยากรค้างและค่าใช้จ่ายโดยไม่ตั้งใจ
สิ่งที่ทีมพัฒนาไทยควรทำ
- ตรวจโปรเจกต์ก่อน ใช้หน้า Checking whether your project works with AWS Emulator ในเอกสารของ AWS และดูคะแนนต่อบริการในหน้า releases ว่าบริการที่ใช้ผ่านกี่ข้อ
- เริ่มจากเทสต์ control plane เช่น การสร้างบักเก็ตหรือตาราง ซึ่ง AWS บอกว่าตรงที่สุดในตอนนี้ แล้วค่อยขยายไป data plane
- อย่าตั้งเป็นด่านเดียวก่อนขึ้นระบบจริง ยังต้องรันเทสต์ยืนยันบน AWS จริงอย่างน้อยหนึ่งรอบ เพราะคะแนนที่นับได้ราว 59.7% ยังไม่ครบ
- ปิดหรือเปิด telemetry ตามนโยบายองค์กร ตั้ง
EMULATOR_TELEMETRY=offถ้าสภาพแวดล้อมห้ามส่งข้อมูลออก - ปักรุ่นให้คงที่ในไปป์ไลน์ เพราะโครงการออกรุ่นหลายครั้งต่อวัน ปักรุ่นหรือ commit และแคชโฟลเดอร์ build ตามที่ README แนะนำ

บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
AWS Emulator เป็นโปรแกรมที่ทีมพัฒนารันบนเครื่อง เซิร์ฟเวอร์ หรือ CI ได้ ทีมที่ต้องการเซิร์ฟเวอร์ Linux ในประเทศไว้รันตัวจำลองและไปป์ไลน์ทดสอบร่วมกันใช้ Cloud Linux Server ของ THAI DATA CLOUD ที่เลือก Ubuntu, AlmaLinux หรือ Debian ได้ มี Root Access เต็มรูปแบบ และตั้งอยู่ใน Data Center ไทยและสิงคโปร์ (THAI DATA CLOUD เป็นผู้ดำเนินงานเว็บไซต์นี้)
ติดตามข่าวซอฟต์แวร์และเครื่องมือนักพัฒนาเพิ่มเติมได้ที่หมวดซอฟต์แวร์
คำถามที่พบบ่อย
AWS Emulator ใช้ทำอะไร?
AWS Emulator เป็นโปรแกรมจำลอง AWS API ที่รันในเครื่อง ใช้ทดสอบซอฟต์แวร์โดยไม่เรียก AWS จริง ไม่ต้องมีบัญชี AWS และใช้ได้ทั้งบนเครื่องนักพัฒนา เซิร์ฟเวอร์ และระบบ CI ตามหน้า What is AWS Emulator ของ AWS
AWS Emulator คิดค่าบริการหรือไม่?
AWS ระบุว่า AWS Emulator ไม่มีค่าบริการเพิ่ม ผู้ใช้จ่ายเฉพาะทรัพยากร AWS จริงเมื่อนำระบบขึ้นใช้งานบน AWS ซอร์สโค้ดในที่เก็บ GitHub อยู่ใต้ใบอนุญาต CC0 1.0 ยกเว้นโฟลเดอร์ vendor ที่เป็น Apache License 2.0
AWS Emulator ใช้กับงานจริงหรือทดสอบความปลอดภัยได้ไหม?
ไม่ได้ README ของโครงการระบุว่า AWS Emulator มีไว้สร้างและทดสอบ ห้ามใช้กับงาน production หรือทดสอบความปลอดภัย เพราะพฤติกรรมบางส่วนยังไม่ตรงกับ AWS และ API ที่ยังไม่รองรับจะตอบ HTTP 501 พร้อมรหัส NotImplemented
รัน AWS Emulator บน macOS หรือ Windows ได้อย่างไร?
ต้องใช้ Docker โดยสร้างอิมเมจจาก Dockerfile สั้น ๆ ที่ติดตั้งแพ็กเกจ Linux ของ AWS Emulator เพราะ AWS ไม่เผยแพร่อิมเมจสำเร็จรูป ส่วน Linux ติดตั้งจากแพ็กเกจ RPM หรือ Debian ได้โดยตรง ทั้งรุ่น x86_64 และ aarch64
แหล่งอ้างอิง
- aws/aws-emulator — Amazon Web Services (GitHub)
- What is AWS Emulator? — Amazon Web Services
- Fidelity in AWS Emulator — Amazon Web Services
- AWS Emulator releases (v1.0.338) — Amazon Web Services (GitHub)
บุคคล องค์กร และสถานที่ในข่าวนี้
เลือกชื่อเพื่ออ่านข่าวทั้งหมดที่กล่าวถึง ตัวเลขคือจำนวนข่าว
- ประเทศและสถานที่
- สิงคโปร์261
พบข้อมูลคลาดเคลื่อน? แจ้งกองบรรณาธิการ
