Flynn: バックアップシステム

作成日 2015年03月13日  ·  4コメント  ·  ソース: flynn/flynn

現在、flynnCLIを使用してpostgresdbの論理バックアップをプルする基本的なバックアップコマンドがありますが、より堅牢なシステムが必要です。

考えるべきいくつかのこと:

  • WALログでは、ポイントインタイムリカバリが可能です。これは便利です( WAL-Eを参照)。
  • すべての環境でS3のようなブロブストアを利用できるわけではありません。NFS/ CIFS / FTP / SCPなどの一部のサポートが役立つでしょう。
  • バックアップのスケジューリング。
  • 外部システムにデータを保存するには暗号化が必要です。
  • システムは、他のデータアプライアンスを処理するのに十分な汎用性を備えている必要があります。
kinenhancement

最も参考になるコメント

$ flynn cluster backupの結果を暗号化して、それらをs3にスローするソリューションを開発しています。 後でスペックに問題がなければ、後でフリンにPRを作成します。 これはすべてを実装するわけではありませんが、それは始まりになります。

実装

バックアッププロセスはbackyと呼ばれ、 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_ENCRYPTIONnone, symmetric, public-keyの1つです。 また、 symmetricまたはprivate_keyパラメータのいずれかを含める必要があります
BACKUP_ADMINSは、 public-keyオプションが使用されている場合にバックアップを開くことができる追加のgpg公開鍵のリストです。

https://flynn.io/docs/production#amazon -s3と同じアクセス許可を使用することをお勧めしますが、 "s3:DeleteObject"のアクセス許可はありません。 このように、プロセスはバックアップの読み取りと書き込みのみを実行でき、バックアップの削除はできません。 これは、クラスターがハッキングされた場合に役立ち、バックアップが危険にさらされる必要がなくなります。

要件にバージョン管理と有効期限を追加して、バックアップが最終的に自動的に削除されるようにすることができます。 ユーザーはこれらの詳細をバケットに設定する必要があります。

s3のみがこの追加専用のアクセス許可を実装しているため、現時点ではGoogleまたはAzureはお勧めしませんが、それらも実装されます。

暗号化にはhttps://github.com/maxwellhealth/go-gpggpgを使用します。 対称鍵(パスワード)がデフォルトのオプションになりますが、sysadmin公開gpg鍵のリストも使用できます。

blobstoreのストレージ関数を使用したいと思っています。

import (
       ...
    "github.com/flynn/flynn/blobstore/backend"
)

全てのコメント4件

:+1:スケジュールされたバックアップ機能を見たいです:)

バックアップストレージとしてAmazonS3を投入できますか? これはまさに私がここで使いたいものです。 :)

$ flynn cluster backupの結果を暗号化して、それらをs3にスローするソリューションを開発しています。 後でスペックに問題がなければ、後でフリンにPRを作成します。 これはすべてを実装するわけではありませんが、それは始まりになります。

実装

バックアッププロセスはbackyと呼ばれ、 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_ENCRYPTIONnone, symmetric, public-keyの1つです。 また、 symmetricまたはprivate_keyパラメータのいずれかを含める必要があります
BACKUP_ADMINSは、 public-keyオプションが使用されている場合にバックアップを開くことができる追加のgpg公開鍵のリストです。

https://flynn.io/docs/production#amazon -s3と同じアクセス許可を使用することをお勧めしますが、 "s3:DeleteObject"のアクセス許可はありません。 このように、プロセスはバックアップの読み取りと書き込みのみを実行でき、バックアップの削除はできません。 これは、クラスターがハッキングされた場合に役立ち、バックアップが危険にさらされる必要がなくなります。

要件にバージョン管理と有効期限を追加して、バックアップが最終的に自動的に削除されるようにすることができます。 ユーザーはこれらの詳細をバケットに設定する必要があります。

s3のみがこの追加専用のアクセス許可を実装しているため、現時点ではGoogleまたはAzureはお勧めしませんが、それらも実装されます。

暗号化にはhttps://github.com/maxwellhealth/go-gpggpgを使用します。 対称鍵(パスワード)がデフォルトのオプションになりますが、sysadmin公開gpg鍵のリストも使用できます。

blobstoreのストレージ関数を使用したいと思っています。

import (
       ...
    "github.com/flynn/flynn/blobstore/backend"
)

Flynnはメンテナンスされておらず、インフラストラクチャは2021年6月1日にシャットダウンされます。詳細については、READMEを参照してください。

このページは役に立ちましたか?
0 / 5 - 0 評価