Connect to Custom Container

การรวมกลุ่มคอนเทนเนอร์เข้ากับ Ruk-Com Cloud PaaS เป็นหนึ่งในบริการที่สำคัญและเป็นที่ต้องการมากที่สุดโดยจะนำเสนอในรูปแบบของแพลตฟอร์ม การรวมคอนเทนเนอร์เข้าด้วยกันอย่างสะดวกสบายร่วมกับการจัดการที่ยืดหยุ่นของ Ruk-Com Cloud จะดึงดูดนักพัฒนาและอนุญาตให้โฮสต์ดูแลแอปพลิเคชันทุกประเภทที่มีอยู่ใน Docker templates ได้อย่างง่ายดาย

บทความนี้จะกล่าวถึงหลักการทำงานที่สำคัญของแอปพลิเคชัน Docker ซึ่งอาจเป็นจุดสนใจสำหรับทั้งผู้เริ่มต้นและผู้พัฒนา

ในส่วนของด้านล่างนี้ จะเป็นข้อมูลเชิงลึกเกี่ยวกับวิธีการเชื่อมต่อคอนเทนเนอร์กับ Ruk-Com Cloud โดยพิจารณาจากความเป็นไปได้ทั้งภายในและภายนอกและข้อมูลคอนเทนเนอร์พื้นฐานที่จำเป็นต่อการสร้างการเชื่อมต่อคอนเทนเนอร์

วิธีการ:

  • Internal Connection – การตั้งค่าการเชื่อมต่อภายในคอนเทนเนอร์
  • External Connection – การเชื่อมต่อภายในเพื่อเข้าถึงคอนเทนเนอร์ภายนอก

Internal Connection

ในแต่ละคอนเทนเนอร์ของ Ruk-Com Cloud จะได้รับชื่อโดเมนภายในที่ไม่ซ้ำกันโดยอัตโนมัติและที่อยู่ IP ภายในทันทีหลังจากสร้างคอนเทนเนอร์ นอกจากนี้พารามิเตอร์เหล่านั้นยังสามารถใช้เพื่อเข้าถึงคอนเทนเนอร์ได้ ภายในขอบเขตของ cloud เดียวกัน (เช่น การสร้างการเชื่อมต่อระหว่างกันผ่านเครือข่ายภายในแพลตฟอร์ม)

1. ตัวเลือกแรกที่คุณจะต้องพิจารณาเมื่อต้องการตั้งค่าการเชื่อมต่อระหว่างคอนเทนเนอร์ คือฟังก์ชั่นการเชื่อมโยงแบบฝังตัว ซึ่งจะอนุญาตให้เชื่อมต่อคอนเทนเนอร์จาก layer ต่างๆภายใน environment เดียวกันเพื่อการย้ายข้อมูลอย่างปลอดภัย โดยข้อมูล variables จาก Docker image จะส่งไปยังผู้รับโดยไม่เผยแพร่ ports ใดๆออกไปภายนอก

ด้วยเหตุนี้ คุณเพียงเลือก layer ที่ต้องการและระบุ alias สำหรับการเชื่อมต่อ (ขณะที่ variables ที่เหมาะสมทั้งหมดจะมีคำนำหน้าระบุไว้):

อย่าลืมกด Save และ Apply เพื่อบันทึกการเปลี่ยนแปลงของคุณ

หลังจากนั้นคุณสามารถอ้างอิงถึงส่วนของ Variables ของการตั้งค่าคอนเทนเนอร์และการปรับค่าต่างๆที่อยู่แยกกัน ตามความจำเป็น อย่างไรก็ตามการเปลี่ยนแปลงค่า variable ของ environment สำหรับคอนเทนเนอร์ที่เชื่อมโยงกับคอนเทนเนอร์อื่นอยู่แล้วและถูกนำไปใช้จะเกิดการอัปเดตโดยอัตโนมัติ

ในกรณีที่ต้องการสร้างการเชื่อมต่อภายในประเภทอื่นๆ (เช่น หากต้องการปรับเปลี่ยนด้วยตัวเองผ่าน configuration files) จำเป็นต้องทราบชื่อโดเมนหรือ IP ของคอนเทนเนอร์ที่แน่นอนและสามารถเข้าถึงได้ผ่านเครือข่ายภายในแพลตฟอร์ม

ข้อมูลที่เหมาะสมสามารถรับได้ 2 วิธีดังนี้:

  • ผ่านการแจ้งเตือนทาง email ที่คุณได้รับหลังจากสร้าง environment โดยชื่อโดเมนภายในจะแสดงอยู่ในส่วนที่มีข้อมูลของผู้ดูแลคอนเทนเนอร์:
ในที่นี้คือชื่อโดเมนของคอนเทนเนอร์ จะแสดงการเข้าถึง URL ในรูปแบบ string
  • ผ่าน Ruk-Com Cloud Dashboard ข้อมูลเดียวกันสามารถพบได้โดยวิธีต่อไปนี้:
    • คลิกปุ่ม Open in Browser ถัดจากคอนเทนเนอร์ โดยเลือก node ที่คุณต้องการเปิดในแท็บบราวเซอร์ใหม่ ดังนั้นคุณสามารถคัดลอกโดเมนได้อย่างง่ายดายจากแถบที่อยู่
    • Ip address ของ node สามารถดูได้จาก Node ID สำหรับคอนเทนเนอร์ที่ต้องการดังที่แสดงในภาพด้านล่าง
คุณสามารถคลิกขวาที่โดเมนใต้ชื่อ environment เพื่อคัดลอกลิงก์
ด้วยวิธีนี้การเรียกข้อมูลมาใช้ จะสามารถสร้างการเชื่อมต่อภายในกับคอนเทนเนอร์ของคุณได้

External Connection

เพื่อที่จะเข้าถึงคอนเทนเนอร์ของคุณจากแพลตฟอร์มภายนอก (เช่น จากอินเตอร์เน็ต) Ruk-Com Cloud เสนอวิธีการแก้ปัญหาดังนี้:

1. หากบริการหรือแอปพลิเคชันของคุณทำงานอยู่ในคอนเทนเนอร์ที่ฟัง port 80 จะถูกเปิดเผยอัตโนมัติไปยังเครือข่ายภายนอก (ผ่านชื่อโดเมนที่กำหนด) ผ่าน Ruk-Com Cloud Shared Load Balancer

คลิก Open Browser ใน node ที่เกี่ยวข้องเพื่อเปิดใช้งาน (ตัวเลือกนี้ใช้ได้กับการเชื่อมต่อ HTTP)

หมายเหตุ: ในกรณีที่คอนเทนเนอร์ของคุณไม่มี IP ภายนอกแนบมาด้วย Ruk-Com Cloud จะทำการ redirect port โดยอัตโนมัติ ซึ่งหมายความว่าหากแอปพลิเคชันฟัง port ที่กำหนดเองระดับ TCP Ruk-Com Cloud ระบบจะพยายามตรวจหาโดยอัตโนมัติและส่งคำขอที้เข้ามาทั้งหมดไปยังหมายเลข port นี้ ด้วยเหตุนี้บริการหรือแอปพลิเคชันส่วนใหญ่จะพร้อมใช้งานบนอินเตอร์เน็ต ภายใต้โดเมนของ node ที่เกี่ยวข้องทันทีหลังจากสร้างเสร็จ

อย่างไรก็ตาม ในกรณีที่คุณต้องการป้องกันความเป็นไปได้ดังกล่าว คุณสามารถประกาศกฏที่เกี่ยวข้องได้ที่การตั้งค่า firewall ในคอนเทนเนอร์ของคุณ

2. สำหรับการปฏิบัติการที่ซับซ้อนมากขึ้น Ruk-Com Cloud จัดเตรียมฟังก์ชั่นปลายทางพิเศษ endpoints (ที่พร้อมใช้งานสำหรับส่วนที่มีชื่อเดียวกันของการตั้งค่าแต่ละ environment):

โดยอนุญาตให้เปิด private port ที่คุณต้องการบนคอนเทนเนอร์ผ่านการสุ่ม public port ที่ Ruk-Com Cloud Shared Load Balancer เพื่อให้สามารถเข้าถึงได้ผ่าน Access URL

3. ตัวเลือกสุดท้ายที่ให้อิสระสูงสุดคือการแนบที่อยู่ของ public IP เข้ากับคอนเทนเนอร์ (เช่น การรักษาความปลอดภัยกับการเชื่อมต่อแบบกำหนด SSL เองและการจำกัดจำนวนของการเชื่อมต่อพร้อมกัน ฯลฯ)

ด้วยวิธีดังกล่าว แอปพลิเคชันของคุณสามารถกำหนดค่าให้ฟัง port ใดก็ได้ที่คุณต้องการในลักษณะดังกล่าวเพื่อการเข้าถึงผ่านเครือข่ายภายนอก

หมายเหตุ: Public IP เป็นตัวเลือกเสริมที่ต้องชำระเงิน โดยคุณสามารถดูค่าใช้จ่ายได้เพียงวางเม้าส์ที่กล่องราคาส่วนขวาของ topology wizard หรือคลิกที่ Quotas & Pricing > Pricing > Options tab

ตอนนี้คุณสามารถใช้ประโยชน์จากตัวเลือกการเชื่อมต่อที่เหมาะสมที่สุด จากตัวเลือกต่างๆที่อธิบายไว้ข้างต้นในขณะที่ทำงานร่วมกับ Docker containers

หากคุณประสบปัญหาขณะตั้งค่าการเชื่อมต่อกับคอนเทนเนอร์ที่ Ruk-Com Cloud คุณสามารถขอความช่วยเหลือจากผู้เชี่ยวชาญทางเทคนิคได้ที่ Stackoverflow