Mount S3 Bucket on instances with s3fs-fuse
หากผู้ใช้งานต้องการนำ object storage ร่วมกับ instance เพื่อเข้าถึงไฟล์ต่างๆ บน bucket ของตัวเองนั้น สามารถนำ s3 bucket mount ลงเป็น file system ได้ดังนี้
Prerequisite
มียอดคงเหลือใน project มากกว่า 0 บาท (ขั้นตอนการเติมเงินเข้าสู่ project)
ต้องมี bucket สร้างเอาไว้แล้ว (ขั้นตอนในการสร้าง bucket)
สร้าง bucket policy ให้มีสิทธิ์เข้าถึง (ขั้นตอนในการสร้าง bucket policy)
Instructions
1. ติดตั้ง package s3fs
2. สร้าง credential และกำหนด permission
สร้าง sub-user และทำการสร้าง credential
โดยก่อนที่จะนำ credential ไปใช้งานได้จะต้องตั้งค่า permission ก่อน (ขั้นตอนในการสร้าง bucket policy)
3. config credential file
นำ access_key และ secret_key ที่ได้จากการสร้าง sub-user บนหน้า nipa cloud space นำมาเขียนลงในไฟล์
และเพื่อให้ key ถูกเก็บอย่างปลอดภัย ให้ทำการ chmod 600 เพื่อจะให้มั่นใจว่า มีเฉพราะ root user ที่ทำการอ่านและเขียนไฟล์ได้เท่านั้น
4. mouth your s3 bucket
ก่อนการ mount s3 bucket ให้ทำการสร้าง directory บนเครื่อง server ที่จะให้ object storage ถูก mount โดยสามารถใช้โฟล์เดอร์ที่มีอยู่แล้วหรือสร้างขึ้นใหม่ได้ตามคำสั่งดังนี้
ในขั้นตอนนี้หากต้องการ mount ชั่วคราวสามารถใช้ command ด้านล่างในการสั่งให้ s3fs เชื่อมต่อไปยัง bucket ที่กำหนด โดยมีคำสั่งดังนี้
โดยมีลายละเอียด option ดังนี้
{bucketname} = ชื่อของ bucket ที่สร้าง ตัวอย่างเช่น my-bucket
{/mountpoint} = path ที่ต้องการ mount ไฟล์จาก s3 bucket ตัวอย่างเช่น /mnt/my-bucket
{nipa-s3-endpoint} = endpoint ของ s3 ที่ต้องการไปเชื่อมต่อ เช่นหากเลือกสร้าง bucket ที่ NCP-BKK จะได้ endpoint เป็น s3-bkk.nipa.cloud
ตัวอย่าง command
5. ทดสอบ เขียนอ่านไฟล์
สามารถ test โดยการเขียนไฟล์ลงใน path ที่ทำการ mount s3 bucket ลงมา โดยใช้คำสั่งดังนี้
6. Mounting your s3 bucket automatically on boot
หากต้องการทำให้การ mount อยู่ถาวร และอัตโนมัติเมื่อเปิดเครื่องขึ้นมา สามารถทำตามขั้นตอนดังนี้
ก่อนอื่นหากยัง mount อยู่ให้ทำการ unmount ก่อน โดยใช้คำสั่ง
ในการตั้งค่าให้ server mount s3 bucket ตั้งแต่ boot สามารถทำได้โดยการเพิ่ม s3fs command ไปยังบรรทัดใหม่ของไฟล์ /etc/fstab และจะมีคำสั่งดังนี้
Last updated