ครั้งที่แล้วพาเล่น MQTT Cluster กันไปบ้างแล้ว ครั้งนี้เรามาลองวิธีง่ายๆ โดยใช้บริการของ AWS กันบ้าง AWS เครื่องมือพร้อมสำหรับการทำ Load Balance และการทำ Auto Scaling มาให้ด้วย เพราะฉนั้นการทำ Horizontal Scaling จะทำได้ง่ายมากๆ เพียงแค่คลิกเท่านั้นเอง จากภาพเดิมเราจะ Scale MQTT Broker โดยใช้ Elastic Scaling ของ AWS กัน

เนื้อหาไม่รวม Authentication, Secure Connection สำหรับ Persistance Storage คุณอาจเลือกใช้ DynamoDB หรือ RDS ได้ หากต้องการใช้ MongoDB Cluster อ่าน Reference Guide เพิ่มเติมได้ที่ MongoDB บน AWS Cloud

ขั้นตอนมีดังนี้

  • สร้าง instance พร้อม private network 2 เครื่อง
  • ติดตั้ง MongoDB ไปยังเครื่องที่ 1 เพื่อใช้เป็น Persistent Storage
  • ติดตั้ง Ponte ไปยังเครื่องที่ 2 ตั้งค่าเก็บข้อมูลมายังเครื่องที่ 1
  • สร้าง Snapshot ของเครื่องที่ 2
  • สร้าง Scaling Groups กำหนดขนาดของและเงื่อนไขในการ Scale
  • สร้าง Load Balancer และเพิ่ม instance ที่ Scaling Groups สร้างมาให้
  • กำหนด Load Balancer ให้ Scaling Groups ใช้เป็น Elastic Scaling


Continue reading

เริ่มต้นใช้งาน Amazon Elastic Compute Cloud (Amazon EC2) ท่านจำเป็นต้องสมัครสมาชิก และกรอกข้อมูลบัตรเครดิต/บัตรเดบิต ทางอเมซอนจะตัดเงินจำนวน 1 USD เป็นการตรวจสอบว่าบัตรใช้งานได้ เข้าไปที่หน้าเว็บ http://aws.amazon.com/ แล้วเริ่มดำเนินการได้

ในบทความนี้จะเป็นตัวอย่างในการสร้าง Web Serverด้วยลีนุกซ์เซิร์ฟเวอร์ หลังจากท่าน Login แล้ว ให้ทำตามขั้นตอนดังต่อไปนี้ เลือกที่ EC2 (ตัวเลือกแรก ทางซ้ายมือ)

null


Continue reading

AWS มีบริการ Ubuntu Core แล้วสามารถเรียกใช้งานได้เลย ผ่านหน้า AWS Console ไม่จำเป็นต้องใช้ ec2-tools ก็ได้ ซึ่ง Ubuntu Core Image จะอยู่ในกลุ่ม Community AMI ลองไปค้นหาแล้วเลือกใช้กันได้เลย ครั้งนี้จะมาแนะนำการใช้ Ubuntu Core บน AWS แบบง่ายๆ ผ่านทาง AWS Console กัน

เข้าไปที่หน้า AWS Console สร้าง Instance ใหม่ หา Ubuntu Core AMI ในส่วน Community


Continue reading

Knife มีส่วนเสริมในการจัดการ instance บน Amazon Web Service ด้วยคือ knife-ec2 ซึ่งสามารถจัดการได้ในเบื้องต้น ส่วนใหญ่เกี่ยวข้องกับ instance เป็นหลัก สามารถจัดการ life cycle ของ instance ได้ สั่ง knife bootstap เพื่อลงทะเบียนกับ Chef Server ได้เลย มาลองใช้งานกัน

เริ่มต้นจากติดตั้ง package ที่จำเป็นก่อนดังนี้

apt-get install make build-essential

จากนั้นติดตั้ง knife ec2 plugin โดยใช้ Chef Development Kit

chef gem install knife-ec2

แก้ knife.rb เพิ่ม AWS_ACCESS_KEY_ID และ AWS_SECRET_ACCESS_KEY ต่อท้ายไฟล์


Continue reading

Amazon เป็นผู้ใช้บริการ Cloud Computing รายใหญ่รายหนึ่งซึ่งสนับสนุนการใช้งาน Docker Container ในหลายบริการของตัวเอง เช่น EC2, Elastic Beanstalk, EC2 Container Service (ECS) เป็นต้น ครั้งนี้เราจะมาลองใช้งาน Docker บนบริการ EC2 โดยใช้ความสามารถของ Cloud Init เพื่อสั่งติดตั้ง Docker ขณะสั่งสร้าง instance ได้เลย โดยไม่ต้องติดตั้งตามทีหลัง ซึ่ง Cloud Provider ไหนที่ให้บริการพร้อม Cloud Init ก็ใช้วิธีนี้ได้เหมือนกัน เริ่มจากสร้าง Instance จาก Wizard


Continue reading

juju นั้นสามารถเชื่อมต่อกับบริการ cloud ได้อย่างหลากหลาย ทั้ง public cloud และ private cloud ยกตัวอย่างเช่น AWS (Amazon EC2), Azure, OpenStack แม้กระทั่ง Data Center ของคุณเองจนถึง Ubuntu บน Laptop ของคุณก็ด้วย

ในบทความนี้ผมจะขอแนะนำวิธีการกำหนดค่า config เพื่อให้ juju เชื่อมต่อกับ AWS เพื่อพร้อมสำหรับการ deploy ในขั้นตอนต่อๆ ไป

เริ่มต้นโดยการสมัครใช้บริการกับ Amazon ก่อน ไปที่เว็บไซต์ http://aws.amazon.com/ แล้ว log in เข้าใช้งาน (กรณีที่ไม่มี account บน AWS รบกวน Sign Up ก่อนนะครับ)


Continue reading