• สามารถสร้างสภาพแวดล้อมที่เข้ากันได้อย่างรวดเร็วสำหรับการพัฒนาแบบโลคัลและการทดสอบ CI/CD โดยไม่ต้องใช้ AWS จริง
  • ตั้งค่าสภาพแวดล้อมทดสอบได้อย่างเบาด้วย ไบนารีไฟล์เดียว และสามารถรันบน Docker ได้
  • ทำงานได้โดยไม่ต้องยืนยันตัวตน จึงช่วยลดภาระในการเตรียม AWS credentials ใน automation pipeline
  • รองรับ 76 บริการของ AWS อย่างครอบคลุม และครอบคลุมส่วนสำคัญอย่าง S3, SQS, DynamoDB, Lambda, IAM, CloudWatch, ECS, RDS ได้ในตัว
  • โดยค่าเริ่มต้นจะทำงานเป็น local endpoint ที่เข้ากันได้กับ AWS บน localhost:4566
  • เมื่อตั้งค่า KUMO_DATA_DIR จะสามารถ เก็บข้อมูลแบบเลือกได้ เป็นไฟล์ JSON แยกตามบริการ และหากไม่ตั้งค่าจะ รันแบบ in-memory ที่สะอาด
  • บันทึกทุกคำขอพร้อม structured log fields
    • INFO: HTTP method, path, status code, latency, request ID, ข้อมูลเป้าหมาย API เป็นต้น
    • DEBUG: บันทึกได้ถึง request body ทั้งหมด จึงมีประโยชน์กับงานดีบักที่ต้องตรวจ payload ของคำขอโดยตรง
  • มี endpoint เพิ่มเติมสำหรับการทดสอบ ภายใต้ /kumo/
    • แม้จะไม่ใช่ส่วนหนึ่งของ AWS official API แต่มีประโยชน์สำหรับตรวจสอบพฤติกรรมของแอปพลิเคชันระหว่างการทดสอบ
    • การดูอีเมลที่ส่งผ่าน SES v2

      • ดูรายการอีเมลที่ส่งผ่าน SES v2 SendEmail API ได้ด้วย GET /kumo/ses/v2/sent-emails
      • การตอบกลับประกอบด้วย MessageId, ที่อยู่ผู้ส่ง, ผู้รับ, หัวข้อ, เนื้อหา, เวลาที่ส่ง เป็นต้น
    • การดูข้อความที่ส่งผ่าน Pinpoint SMS Voice v2

      • ดูรายการ SMS ที่ส่งผ่าน SendTextMessage API ได้ด้วย GET /kumo/pinpointsmsvoicev2/sent-messages
      • การตอบกลับประกอบด้วย MessageId, หมายเลขโทรศัพท์ผู้รับ, ตัวระบุผู้ส่ง, เนื้อความ, เวลาที่ส่ง เป็นต้น
    • มีประโยชน์อย่างยิ่งสำหรับ ตรวจสอบผลลัพธ์ เมื่อทดสอบฟีเจอร์ส่งอีเมลและข้อความ โดยไม่ต้องพึ่งพาบริการภายนอก
  • MIT License

บริการที่รองรับ

  • รองรับ 76 บริการของ AWS ทั้งหมด
  • สตอเรจ

    • รองรับ S3, S3 Control, S3 Tables, DynamoDB, ElastiCache, MemoryDB, Glacier, EBS
    โฆษณา
  • คอมพิวต์

    • รองรับ Lambda, Batch, EC2, Elastic Beanstalk
  • คอนเทนเนอร์

    • รองรับ ECS, ECR, EKS
  • ฐานข้อมูล

    • รองรับ RDS, Neptune, Redshift
  • การรับส่งข้อความและการเชื่อมต่อระบบ

    • รองรับ SQS, SNS, EventBridge, Kinesis, Firehose, MQ, Pipes, MSK
  • ความปลอดภัยและตัวตน

    • รองรับ IAM, KMS, Secrets Manager, ACM, Cognito, Security Lake, STS, Macie
  • การมอนิเตอร์และการบันทึกล็อก

    • รองรับ CloudWatch, CloudWatch Logs, X-Ray, CloudTrail
    โฆษณา
  • เครือข่ายและการส่งคอนเทนต์

    • รองรับ CloudFront, Global Accelerator, API Gateway, Route 53, Route 53 Resolver, ELBv2, App Mesh, Location
  • การผสานรวมแอปพลิเคชัน

    • รองรับ Step Functions, AppSync, SES v2, Pinpoint SMS Voice v2, Scheduler, Amplify
  • การจัดการและการกำหนดค่า

    • รองรับ SSM, Config, CloudFormation, Organizations, Service Quotas, CodeConnections, Backup
  • การวิเคราะห์และ ML

    • รองรับ Athena, Glue, Comprehend, Rekognition, SageMaker, Forecast, Data Exchange, Entity Resolution
  • เครื่องมือนักพัฒนา

    • รองรับ CodeGuru Profiler, CodeGuru Reviewer
  • บริการอื่น ๆ

    • รองรับ Cost Explorer, DLM, Directory Service, EMR Serverless, FinSpace, GameLift, Resilience Hub
    โฆษณา

ตัวอย่างการใช้งาน

  • S3

    • ใน S3 client ให้ตั้งค่า BaseEndpoint เป็น http://localhost:4566 และเปิดใช้ UsePathStyle เพื่อเชื่อมต่อกับ local emulator
    • สามารถจำลอง การทดสอบ object storage ได้โดยไม่ต้องใช้ AWS จริง ผ่านลำดับการทำงานตั้งแต่สร้าง bucket ไปจนถึงอัปโหลด object
  • SQS

    • SQS client ก็ใช้ local endpoint เดียวกัน โดยมีลำดับการสร้างคิว ส่งข้อความ และรับข้อความ
    • เหมาะสำหรับตรวจสอบ logic การส่งข้อความแบบอะซิงโครนัสใน local integration test
  • DynamoDB

    • สามารถจำลอง NoSQL workflow ได้ผ่านการสร้างตาราง กำหนดคีย์สคีมา และบันทึก item
    • ทำให้ตรวจสอบ logic การเข้าถึงข้อมูลของแอปพลิเคชันได้ง่าย โดยไม่ต้องใช้ทรัพยากรคลาวด์จริง
  • Secrets Manager

    • มีตัวอย่างการสร้างและเรียกดูค่า secret จึงสามารถทดสอบ การเชื่อมต่อกับ secret store ได้
    • มีประโยชน์สำหรับตรวจสอบแอปพลิเคชันที่จัดการข้อมูลอ่อนไหวในรูปแบบ JSON บนเครื่องโลคัล

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น