
เท้าความก่อนว่าลูกค้ามีระบบ On-site backup สำหรับสำรองข้อมูลเซิฟเวอร์ข้อมูลของบริษัทอยู่แล้ว ที่เก็บข้อมูลที่สำรองไว้ใกล้ๆ กับเครื่องเซิฟเวอร์หลัก แต่ลูกค้ามีความกังวลว่าถ้าเกิดเหตุภัยพิบัติ เช่นอัคคีภัยขึ้นมาที่สำนักงาน ข้อมูลอาจจะหายทั้งหมด ทั้งต้นฉบับและที่สำรองไว้ จึงอยากให้ทำ Off-site backup ให้ไปเก็บข้อมูลที่สำนักงานเชียงใหม่ด้วย ด้วยของที่มีอยู่เเล้วในสำนักงาน
จากความกังวลของลูกค้าก็ดูจะไม่ค่อยมีอะไรยาก (ถ้าพร้อมจ่าย) แต่ลูกค้าไม่อยากให้ใช้เงินมาก หรือแทบไม่ต้องใช้เลย …. เอาล่ะ ทำไงดี??
เริ่มจากสำรวจสิ่งที่มีอยู่แล้วก่อนว่ามีอะไรบ้าง
- มี Gateway ของสำนักงานนครสวรรค์เป็น Next-Generation Firewall ของ Fortinet รุ่น Fortigate 60F
- มี Gateway ของสำนักงานเชียงใหม่เป็น Router ที่ผู้ให้บริการอินเทอร์เน็ตแจกมา
- ใช้งาน NAS ของ Synology รุ่น DS420+ อยู่ที่สำนักงานนครสวรรค์
- มี Harddisk เหลือ 3TB 1 ลูก
- มีคอมพิวเตอร์เก่า i3 gen 4 แรม 8GB เหลือ 1 เครื่อง
- เน็ตทั้งที่เชียงใหม่และนครสวรรค์ที่มี Upload แรงมาก (>= 500Mbps)
พอจะเห็นอะไรบ้างจากในสิ่งที่มี
- Fortigate สามารถทำ IPSec VPN ได้แบบง่ายมาก
- เอา Harddisk 3TB ที่เหลือนั้นไปใส่กับคอมเก่าเครื่องนั้น
- NAS แชร์ไฟล์ผ่านโปรโตคอล SMB
งั้นก็ เราจะเอาคอมเก่านั้นมาใช้เก็บไฟล์แบคอัพไว้ที่เชียงใหม่ โดยเชื่อมต่อมาหาสาขานครสวรรค์โดยผ่าน VPN ได้ แล้วค่อยใช้สักโปรแกรมมาทำงาน Backup ก็น่าจะจบแล้ว แต่มันดันไม่จบ เพราะทั้งสองสาขาไม่ได้ใช้ Static IP ถ้าเวลา IP เปลี่ยนก็แย่เลยสิ…. แต่โชคดีที่ฝั่งสาขานครสวรค์ใช้อินเทอร์เน็ตของ ISP ที่แจก Public IP แต่ก็เปลี่ยน IP ไปเรื่อย
จริงๆ ฟังดูเหมือนใช้ DDNS ก็น่าจะจบ ไม่ต้องห่วงเรื่อง IP ก็เลยใช้ FortiDDNS ของ FortiGate แต่ก็วางใจไม่ได้อยู่ดี เพราะตอนเซ็ต DDNS อยู่ อยู่ดีๆ PPPoE ของ ISP เจ้านั้น Renew ปุ๊ป ก็ได้ IP ที่เป็น NAT มา แถมแพ็คเกจที่ใช้ก็ใช้ DDNS ของ ISP ไม่ได้ ทำให้แผน DDNS ต้องพักไปก่อน
แล้วแก้ปัญหา IP อย่างไร?
โชคดีที่ FortiGate เป็น NGFW ที่มี REST API ให้สามารถเขียนโปรแกรมเพื่อเชื่อมต่อและตั้งค่าอะไรต่าง ๆ ได้ วิธีแก้ปัญหาก็คือ เขียนสคริปต์ที่รันทุกนาทีสองนาทีไว้บนเซิฟเวอร์ฝั่งสำนักงานนครสวรรค์ ซึ่งสคริปต์นี้จะเรียก API ของ FortiGate เพื่ออ่านหมายเลข IP แล้วเช็คดูว่าเป็น IP ที่ NAT มาหรือไม่ ถ้า NAT มาก็ให้ Renew PPPoE ไปจนกว่าจะได้ Public IP ซึ่งเท่านี้ก็น่าจะแก้ปัญหาและทำให้ใช้ DDNS ได้แล้ว
แต่ว่า DNS จะมีการ Cache ไว้บนเครื่องที่จะเชื่อมต่อเข้ามาและบน DNS Server ด้วย หมายความว่าถ้า IP เปลี่ยน กว่าเครื่องที่สำนักงานเชียงใหม่จะรู้ตัวว่า IP เปลี่ยนไปแล้วก็อาจจะทำให้ Task Backup ล้มเหลวไปก่อน
โชคดีที่สองคือลูกค้ามีเว็บไซต์อยู่ ซึ่งเว็บนี้เป็น Public IP และ Static IP แน่ๆ ถ้างั้นก็ฝากเอา Public IP ของสาขานครสวรรค์ไปฝากอยู่บนเว็บของลูกค้าสักที่หนึ่งละกัน กับป้องกันหน้านั้นด้วย Authentication นิดๆ หน่อยๆ ส่วนจะเอา Public IP นี้ไปไว้บนเว็บทำไม เดี๋ยวจะอธิบายต่อไป
ในฝั่งของคอมพิวเตอร์ที่จะเอาไปไว้เชียงใหม่ เราแค่ต้องเขียนสคริปต์นิดหน่อย สำหรับการ Monitor VPN และ Address ให้ Task Scheduler เรียกใช้งาน เพื่อให้ทำการเชื่อมต่อ VPN IPSec กลับมาที่สาขานครสวรรค์ตลอดเวลา ซึ่ง Address ที่จะเชื่อมต่อกลับมาก็จะมาจาก Public IP ของสาขานครสวรรค์ที่ฝากเอาไว้บนเว็บไซต์ของบริษัทยังไงล่ะ เท่านี้คอมพิวเตอร์ที่จะใช้สำรองข้อมูล ก็เชื่อมต่อกับสาขานครสวรรค์โดยสมบูรณ์แล้ว

ด้านการสื่อสารระหว่างสาขาจบไปแล้ว แล้วการสำรองข้อมูลจะทำอย่างไร?
ในตอนแรกก็มอง Hyper Backup ของ Synology เอาไว้ แต่ว่า… ถ้า NAS ถูก Hack และฝัง Ransomware ไวรัสล็อคไฟล์ ไฟล์ที่สำรองไว้ที่เชียงใหม่จะรอดไหม? เพราะ Credential การเชื่อมต่อ NFS จะอยู่ที่ NAS ถ้างั้นให้ทางฝั่งเชียงใหม่รัน Backup ดึงข้อมูลไปดีกว่าให้ NAS ส่งไปให้น่าจะดีกว่า

ซอฟท์แวร์ทำ Backup ชื่อดังเลยเข้ามาในหัวทันที “Veeam Backup & Replication” สำรองข้อมูลได้ทั้ง VM, File server และอื่น ๆ ที่สำคัญคือใช้งานไม่ยาก และในเมื่อ Veeam สามารถสำรองข้อมูลผ่านโปรโตคอล SMB ได้ ก็ไม่มีอะไรยากอีกแล้ว เหลือเพียงแค่ตั้ง Schedule กับกำหนดว่าจะให้เก็บสำเนาไว้กี่ฉบับก็เรียบร้อยแล้ว

ส่วนการ Restore ก็ไม่ยาก สามารถทำได้ทั้ง Restore แบบทั้งหมดหรือจะเฉพาะไฟล์ที่ต้องการ นับว่าถูกใจแทบไม่มีอะไรกังวล ถ้ามีภัยพิบัติเกิดขึ้นที่สำนักงานใหญ่นครสวรรค์ ก็ไปทำงานต่อที่สาขาเชียงใหม่ได้ทันที (55555)
จบเรื่องการทำระบบสำรองข้อมูล Off-site แบบประหยัด ที่ไม่ได้ยากที่โปรแกรมสำรองข้อมูล แต่ไปยากที่ระบบ Network ซะงั้น