لدينا حاليًا أمر نسخ احتياطي أساسي يسحب نسخة احتياطية منطقية من postgres db باستخدام flynn CLI ، ولكن يجب أن يكون لدينا نظام أكثر قوة.
بعض الأشياء التي يجب التفكير فيها:
: +1: أرغب في رؤية ميزة النسخ الاحتياطية المجدولة :)
هل يمكنني استخدام Amazon S3 كمخزن احتياطي؟ سيكون هذا بالضبط ما أود استخدامه هنا. :)
أقوم بتطوير حل لهذا والذي من شأنه فقط تشفير نتائج $ flynn cluster backup
ورميها إلى s3. إذا كانت المواصفات لاحقًا تبدو جيدة ، فسوف أقوم بإنشاء العلاقات العامة لاحقًا في flynn. هذا لا ينفذ كل شيء ولكنه سيكون بداية.
تسمى عملية النسخ الاحتياطي backy
وستقوم بتنفيذ نفس النمط envs مثل blobstore
:
$ flynn -a backy env
BACKEND_S3MAIN=backend=s3 region=eu-west-1 bucket=flynn-backup access_key_id=XXXXXX secret_access_key=YYYYYYYYY
DEFAULT_BACKEND=s3main
BACKUP_SCHEDULE='* */8 * * *'
BACKUP_ENCRYPTION=type=symmetric symmetric=ZZZZZZZZZZZ
سيستخدم BACKUP_SCHEDULE
تنسيق الوقت cron.
BACKUP_ENCRYPTION
هو واحد من none, symmetric, public-key
. ويجب أن تتضمن معلمة symmetric
أو private_key
BACKUP_ADMINS
هي قائمة مفاتيح gpg العامة الإضافية التي يمكنها فتح النسخة الاحتياطية عند استخدام الخيار public-key
.
أوصي باستخدام نفس الأذونات الموجودة في https://flynn.io/docs/production#amazon -s3 ولكن بدون إذن "s3:DeleteObject"
. بهذه الطريقة يمكن للعملية قراءة النسخ الاحتياطية وكتابتها فقط دون حذفها. يساعد هذا في حالة اختراق المجموعة ، لذلك لن يتم اختراق النسخ الاحتياطية.
يمكننا إضافة الإصدار وانتهاء الصلاحية إلى المتطلبات حتى يتم حذف النسخ الاحتياطية تلقائيًا في النهاية. يحتاج المستخدم إلى تعيين هذه التفاصيل في الجرافة.
فقط s3
ينفذ هذا الإذن الملحق فقط لذلك لا أوصي بـ Google أو Azure في الوقت الحالي ولكن سيتم تنفيذهما أيضًا.
سأستخدم gpg
من https://github.com/maxwellhealth/go-gpg للتشفير. سيكون المفتاح المتماثل (كلمة المرور) هو الخيار الافتراضي ولكن يمكن أيضًا استخدام قائمة مفاتيح gpg العامة لمسؤول النظام.
آمل استخدام وظائف التخزين من blobstore:
import (
...
"github.com/flynn/flynn/blobstore/backend"
)
لا تتم صيانة Flynn وسيتم إغلاق بنيتنا التحتية في 1 يونيو 2021. راجع README للحصول على التفاصيل.
التعليق الأكثر فائدة
أقوم بتطوير حل لهذا والذي من شأنه فقط تشفير نتائج
$ flynn cluster backup
ورميها إلى s3. إذا كانت المواصفات لاحقًا تبدو جيدة ، فسوف أقوم بإنشاء العلاقات العامة لاحقًا في flynn. هذا لا ينفذ كل شيء ولكنه سيكون بداية.تطبيق
تسمى عملية النسخ الاحتياطي
backy
وستقوم بتنفيذ نفس النمط envs مثلblobstore
:سيستخدم
BACKUP_SCHEDULE
تنسيق الوقت cron.BACKUP_ENCRYPTION
هو واحد منnone, symmetric, public-key
. ويجب أن تتضمن معلمةsymmetric
أوprivate_key
BACKUP_ADMINS
هي قائمة مفاتيح gpg العامة الإضافية التي يمكنها فتح النسخة الاحتياطية عند استخدام الخيارpublic-key
.أوصي باستخدام نفس الأذونات الموجودة في https://flynn.io/docs/production#amazon -s3 ولكن بدون إذن
"s3:DeleteObject"
. بهذه الطريقة يمكن للعملية قراءة النسخ الاحتياطية وكتابتها فقط دون حذفها. يساعد هذا في حالة اختراق المجموعة ، لذلك لن يتم اختراق النسخ الاحتياطية.يمكننا إضافة الإصدار وانتهاء الصلاحية إلى المتطلبات حتى يتم حذف النسخ الاحتياطية تلقائيًا في النهاية. يحتاج المستخدم إلى تعيين هذه التفاصيل في الجرافة.
فقط
s3
ينفذ هذا الإذن الملحق فقط لذلك لا أوصي بـ Google أو Azure في الوقت الحالي ولكن سيتم تنفيذهما أيضًا.سأستخدم
gpg
من https://github.com/maxwellhealth/go-gpg للتشفير. سيكون المفتاح المتماثل (كلمة المرور) هو الخيار الافتراضي ولكن يمكن أيضًا استخدام قائمة مفاتيح gpg العامة لمسؤول النظام.آمل استخدام وظائف التخزين من blobstore: