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 ก่อนนะครับ)

ให้ใส่ username และ password ของ account AWS ที่มีอยู่ลงไป

สำหรับการ config เพื่อเชื่อมการทำงานระหว่าง juju กับ AWS นั้น สิ่งเราจะต้องใช้คือ Access Key และ Secret Access Key ซึ่งสามารถนำมาได้โดยการคลิกที่เมนู Security Credentials ดังรูปด้านล่าง

เมื่อเลือกเมนูดังกล่าวแล้ว จะมีหน้าต่างแนะนำผู้ใช้ขึ้นมา อันนี้ไม่มีอะไรครับ คลิก Continue เพื่อไปขั้นตอนถัดไปได้เลยครับ

เมื่อเข้ามาสู่หน้าจอ Security Credentials แล้ว ให้คลิกที่หัวข้อ Access Keys (Access Key ID and Secret Access Key)

แล้วก็เลือก Create New Access Key เพื่อสร้างคีย์กันได้เลยครับ

เมื่อเลือก Create แล้วจะมีหน้าต่างแจ้งเกี่ยวกับ Key ที่เราใช้คำสั่งสร้างขึ้นมา ให้เราเลือก Download Key File ซึ่งจะได้ไฟล์ที่มีคีย์ของเราเป็นนามสกุล .csv

จากนั้นให้เรากลับมาที่เครื่องของเราในที่นี้ผมจะเชื่อมต่อ Juju กับ AWS ด้วย command line บน Ubuntu นะครับ

เริ่มต้นโดยการใช้คำสั่งติดตั้ง juju บน Ubuntu กันก่อนเลยนะครับ ด้วยคำสั่ง
$ sudo add-apt-repository ppa:juju/stable
$ sudo apt-get update && sudo apt-get install juju-core
เมื่อรันคำสั่งดังกล่าวแล้ว ก็รอการดาวน์โหลด และติดตั้ง juju สักครู่ครับ

เมื่อติดตั้งเรียบร้อยแล้ว ก็มาถึงขั้นตอน config เพื่อเชื่อมต่อกับ AWS ที่เป็นพระเอกของบทความนี้สักที

เริ่มต้นโดยการ generate เจ้า config file ขึ้นมาก่อน (ควรตรวจสอบก่อนว่ามีไฟล์นี้อยู่ก่อนแล้วหรือไม่) โดยใช้คำสั่ง

$ juju generate-config

ซึ่งจะได้ไฟล์ชื่อว่า environments.yaml ขึ้นมา ปกติเมื่อสั่ง generate config file ไฟล์ดังกล่าวจะอยู่ที่ path : user home ของเรา แต่วิธีง่ายที่สุดที่จะเข้าถึง path ดังกล่าว โดยใช้คำสั่ง

$ cd ~/.juju/

ก็จะพบไฟล์ environments.yaml อยู่ใน path นี้

เมื่อได้ไฟล์ config นี้มาแล้ว ให้ทำการแก้ไขรายละเอียดข้างในไฟล์ โดยให้สังเกตในส่วนที่แสดงในรูปตัวอย่างด้านล่าง

สิ่งที่ต้องแก้ไขคือให้ลบเครื่องหมาย # ที่อยู่ด้านหน้า region ออก โดยข้อความ us-east-1 ที่เป็น default นั้น หากเราไม่ได้ปรับเปลี่ยน region บน AWS ในส่วนนี้ก็ไม่จำเป็นต้องแก้ไขใดๆ แต่หากมีการปรับเปลี่ยน region บน AWS ให้แก้ไขข้อความในส่วนนี้ตาม region ที่ปรับเปลี่ยน ตามข้อมูลด้านล่าง

  • US East (N. Virginia) region : us-east-1
  • US West (N. California) region : us-west-1
  • US West (Oregon) region : us-west-2
  • EU (Ireland) region : eu-west-1
  • South America (Sao Paulo) region : sa-east-1
  • Asia Pacific (Tokyo) region : ap-northeast-1
  • Asia Pacific (Singapore) region : ap-southeast-1
  • Asia Pacific (Sydney) region : ap-southeast-2

จากนั้นให้ลบเครื่องหมาย # หน้า access-key แล้วลบข้อความคำว่า <secret> ออก จากนั้นให้นำ Access Key ในไฟล์ csv ที่ดาวน์โหลดมาจากการ generate AWS Access Key มาใส่แทนที่

สุดท้ายให้ลบเครื่องหมาย # หน้า secret-key แล้วลบข้อความคำว่า <secret> ออก จากนั้นให้นำ Secret Access Key ในไฟล์ csv เดียวกัน

บันทึกแล้วปิดไฟล์ environments.yaml ไป

จากนั้นทดลองใช้คำสั่ง

$ juju bootstrap

เพื่อเริ่มสร้าง environment และ connect กับ AWS แล้วรอการทำงาน และเชื่อมต่อสักครู่

หลังจากรันคำสั่งเรียบร้อยแล้ว ให้ทดลองใช้คำสั่งตรวจสอบสถานะดู

$ juju status

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

หากลองเข้าไปดูใน AWS Console จะสามารถดูได้ว่ามี machines (จำลอง) ใดบ้างรันอยู่ภายใน

บนหน้า AWS Console เข้าไปที่ EC2

เมนูด้านซ้ายมือเลือก Instances ด้านขวามือจะพบว่ามี machines ใดรันอยู่บ้าง

Comments are closed.