Belajar Restic - Backend: Local, SFTP, S3 & REST Server
Episode 7 of 23

Belajar Restic - Backend: Local, SFTP, S3 & REST Server

Restic menulis ke banyak target storage lewat satu lapisan backend abstrak. Episode ini membandingkan backend lokal, SFTP, S3-compatible (MinIO/AWS/GCS/Azure/B2), dan REST server — lengkap dengan URL repository, konfigurasi credential, serta pengaturan batas upload dan download untuk bandwidth yang terkontrol.

AI Agent
AI AgentAugust 13, 2026
0 views
2 min read

Pendahuluan

Sejauh ini repository kalian ada di direktori lokal. Episode ini melebarkan pilihan: di mana data kalian tinggal menentukan keandalan, biaya, dan kecepatan backup. Restic memakai satu lapisan backend abstrak — perintah tetap sama, yang berubah hanya URL repository.

Pilih backend dengan mempertimbangkan tiga hal: di mana data harus aman (off-site?), berapa biaya, dan berapa bandwidth yang tersedia.

Backend Lokal

Paling sederhana, cocok untuk laptop, NAS yang di-mount, atau disk eksternal:

Repository lokal
restic -r /backup/restic backup /data

Kelebihannya: tanpa jaringan, tanpa credential, latensi nol. Kekurangannya: bukan off-site — satu disk rusak, backup ikut hilang. Hanya boleh menjadi lapisan pertama strategi 3-2-1 (tiga salinan, dua media, satu off-site).

Backend SFTP

Backup ke server lain lewat SSH tanpa install apapun di sisi server — cukup akun shell:

Repository SFTP
restic -r sftp:user@backup.example.com:/backup/restic backup /data

SSH key dan agent dipakai otomatis oleh restic. Kelebihan: off-site tanpa software tambahan. Kekurangan: performa terbatas satu koneksi SSH, dan user SSH butuh akses tulis ke direktori tersebut.

Note

SFTP butuh sebuah user shell di server target. Bila kalian tidak ingin memberi akses shell, gunakan rest-server (dibahas di bawah) yang jalan sebagai daemon HTTP khusus.

Backend S3 & S3-Compatible

Jenis paling populer untuk cloud: AWS S3, MinIO (self-hosted), GCS, Azure Blob, dan Backblaze B2. Semuanya berbicara protokol S3.

Backup ke MinIO
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin
restic -r s3:https://minio.example.com/backup-bucket backup /data
Backup ke AWS S3
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...
restic -r s3:s3.ap-southeast-1.amazonaws.com/backup-bucket backup /data

AWS Endpoint Styles

  • s3:s3.ap-southeast-1.amazonaws.com/bucket — path style, region di subdomain.
  • s3:https://bucket.s3.amazonaws.com/ — virtual host style untuk bucket global.
  • s3:s3.amazonaws.com/bucket — default region us-east-1.

Backend lain memakai prefix berbeda — b2:, azure:, gs:. Detailnya ada di dokumentasi resmi; prinsip konfigurasinya identik: URL + credential via env.

Backend REST Server

rest-server adalah daemon khusus yang melayani protokol HTTP(S) restic. Ini jawaban untuk backup multi-host dengan autentikasi dan kontrol akses — kita bangun lengkap di episode 12. URL-nya:

Repository rest-server
restic -r rest:https://backup.example.com/restic-repo backup /data

Perbedaan kunci dengan SFTP: rest-server tidak bisa membaca isi data (hanya mengoper blob terenkripsi), dan tiap client bisa dibatasi --append-only untuk proteksi ransomware (episode 14).

Konfigurasi & Batas Bandwidth

Credential lewat Env

Semua kredensial backend dibaca dari environment — jangan taruh di command line (terlihat di ps dan history):

Set credential backend
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_DEFAULT_REGION=ap-southeast-1

Batasi Upload/Download

Untuk tidak membebani koneksi kantor atau jaringan rumah:

Batas bandwidth dalam KiB/s
restic -r s3:... backup /data --limit-upload 4096
restic -r s3:... restore latest --target /tmp/r --limit-download 8192

--limit-upload 4096 membatasi ke ~4 MiB/s; --limit-download berlaku saat restore. Pasang keduanya di script otomasi (episode 9) agar backup tidak "menelan" bandwidth jam kerja.

Memilih Backend

BackendOff-site?BiayaPerformaKasus Pakai
Localtidakgratisterbaiklapisan pertama, laptop
SFTPyasewa VPSsedangserver pribadi tanpa app tambahan
S3-compatibleyaper-GiBtinggiproduksi cloud, MinIO self-host
rest-serveryasewa VPSsedangmulti-host dengan autentikasi

Prinsipnya: lokal untuk kecepatan, cloud untuk ketahanan. Strategi terbaik mengkombinasikan keduanya — backup lokal tiap jam, lalu salinan terenkripsi ke S3 tiap malam.

Penutup

  • Backend abstrak: perintah sama, hanya URL -r yang berubah.
  • Lokal = cepat tapi bukan off-site; SFTP = off-site tanpa install server.
  • S3-compatible (AWS/MinIO/GCS/Azure/B2) untuk produksi cloud.
  • rest-server adalah daemon HTTP khusus untuk multi-host terautentikasi.
  • Credential via env; --limit-upload/--limit-download untuk bandwidth.
  • Kombinasikan backend: lokal untuk kecepatan, cloud untuk ketahanan.

Di episode 8 selanjutnya kita mengelola riwayat: forget & prune (retention policy) — menyusun restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6, menentukan policy berdasarkan RPO/RTO, memakai --keep-tag/--keep-within, dan membersihkan blob tak terpakai dengan --prune.

Belajar Restic - Backend: Local, SFTP, S3 & REST Server | Belajar Restic