ตั้งค่า Rclone ใช้งานร่วมกับ Cloudflare R2 อย่างง่ายในไม่กี่ขั้นตอน

เป็นบริการจัดเก็บอ็อบเจ็กต์ (object storage) แบบคลาวด์ที่ให้คุณจัดเก็บและเข้าถึงข้อมูลผ่านอินเทอร์เน็ต เหมือนกับ AWS S3 แต่ R2 ไม่มีค่าธรรมเนียมขาออก และยังให้พื้นที่เก็บ
ฟรีถึง 10GB ต่อเดือนในระดับ free tier
เป็นเครื่องมือแบบคำสั่ง (CLI) ที่ใช้ sync, copy และ mount cloud storage จากผู้ให้บริการต่าง ๆ เช่น Google Drive, S3, Dropbox ฯลฯ
มีบัญชี Cloudflare และเปิดใช้งาน R2
ติดตั้ง Rclone (แนะนำใช้เวอร์ชันล่าสุด)
สร้าง Bucket สำหรับจัดการข้อมูล
สร้าง Access Key และ Secret สำหรับ R2
กดปุ่ม Create Bucket ในหน้า Cloudflare R2
ตั้งชื่อ Bucket ในที่นี้ จะใช้ชื่อว่า "test" แล้วกดปุ่ม Create Bucket
เมื่อสร้างเสร็จระบบจะพาเราเข้าไปหน้า Dashboard ของ Bucket นั้นๆ
กลับมายังหน้า Dashboard ใหญ่ให้ทำการกดที่ปุ่ม {} API จะมี Dropdown ลงมา ให้กดที่ปุ่ม Manage API Token
ให้กดที่ปุ่ม Create User API Token หรือ Create Account API Token ก็ได้ ในที่นี้เราจะกดที่ Create User API Token
ผูกกับผู้ใช้, สิทธิ์ตามผู้ใช้, หมดอายุเมื่อผู้ใช้ถูกลบ, เหมาะกับงานเฉพาะ
ผูกกับบัญชี, กำหนดสิทธิ์เอง, อยู่ถาวร, เหมาะกับงานระบบหรืออินทิเกรตที่ต้องการความต่อเนื่อง
ระบบจะพาไปหน้าตั้งค่า Token
ชื่อของ Token ไม่มีผลต่อระบบใช้สำหรับการแยกแยะ (เราจะใช้ชื่อ "test")
สิทธิ์ของ Token สิทธิ์ในการอ่านหรือเขียนข้อมูล (เราจะใช้เลือกแบบ Object Read & Write สำหรับผูกเฉพาะ Bucket เดียว)
เลือก Bucket ที่มีสิทธิ์เข้าถึง (เราจะใช้เลือก Bucket เดียวกันกับที่สร้างตอนแรก)
ระยะเวลาของ Token (เราจะเลือก Forever คือไม่มีวันหมดอายุนั้นเองนอกจาก User จะโดนลบ)
ระบบจะสร้าง Token ให้เราโดยค่าที่สำคัญจะมีดังนี้
(แนะนำให้ save เก็บไว้เลย เพราะว่าจะดูไม่ได้อีกนอกจากกด roll token เพื่อสร้าง key ใหม่)เปิด terminal แล้วพิมพ์:
เลือก
เพื่อสร้าง remote ใหม่
ตั้งชื่อ remote (เช่น:
cloudflare-r2)
เลือก Provider (พิมพ์แค่เลขข้างหน้าอย่างเดียว)
เลือก Provider อีกครั้ง (พิมพ์แค่เลขข้างหน้าอย่างเดียว)
เลือกวิธีการใส่ key (พิมพ์แค่เลขข้างหน้าอย่างเดียวหรือพิมพ์ false)
กำหนดค่าต่าง ๆ ดังนี้:
ใส่ Access Key ID จาก Cloudflare
ใส่ Secret Access Key จาก Cloudflare
ใส่ Secret Access Key จาก Cloudflare หรือ https://<accountid>.r2.cloudflarestorage.com
เว้นว่างได้
เว้นว่างได้
1 หรือ private หรือ เว้นว่างได้
n
y
ถ้าแสดงไฟล์หรือไม่มี error แสดงว่าการเชื่อมต่อสมบูรณ์
1sudo apt install rclone
1brew install rclone
1sudo -v ; curl https://rclone.org/install.sh | sudo bash
1rclone config
1n) New remote
14 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile, Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive, IONOS, LyveCloud, Leviia, Liara, Linode, Magalu, Minio, Netease, Outscale, Petabox, RackCorp, Rclone, Scaleway, SeaweedFS, Selectel, StackPath, Storj, Synology, TencentCOS, Wasabi, Qiniu and others2\ (s3)
16 / Cloudflare R2 Storage2\ (Cloudflare)
11 / Enter AWS credentials in the next step.2\ (false)
1/ Owner gets FULL_CONTROL.21 | No one else has access rights (default).3\ (private)
1rclone ls cloudflare-r2:ชื่อ-bucket2# โดยเราใช้ชื่อ Bucket คือ test คำสั่งจะเป็น3rclone ls cloudflare-r2:test
1# Sync ไฟล์จาก local ไปยัง R2 ทำให้บน R2 จะเหมือนที่เครื่องเราทุกอย่าง2rclone sync /path/to/local cloudflare-r2:ชื่อ-bucket
1# Copy ไฟล์จาก local ไปยัง R22rclone copy /path/to/local cloudflare-r2:ชื่อ-bucket
1# Mount R2 เป็นไดรฟ์ (บน Linux/macOS) ทำให้ folder ในเครื่องเราเชื่อมต่อกับ R2 แบบ Real time2rclone mount cloudflare-r2:ชื่อ-bucket /mnt/r2