web-dev-qa-db-ja.com

バックアップ用のクラウドサービスを選択する方法

クラウドサービスを使用して、クライアントのWebサイトの1つをバックアップすることを考えています。

私の(クライアント)の主な関心事は(重要度の高いものから順に)

  1. IP(企業秘密、ソースコード)、ユーザーアカウントの詳細などの保護
  2. サービスプロバイダーが提供する稼働時間保証(Webサーバーのダウンタイムを最小限に抑えるため)
  3. 費用
  4. アップロード/ダウンロード速度

理想的には、長い結びつきのないサービスが欲しいです(つまり、一種の「従量制」サービスが好きです)

また、別のサービスに移動することがほぼ不可能なベンダーロックインも避けたいと思います。

以下に関する一般的なガイドラインが必要です。

  1. サービスプロバイダーの選び方
  2. この分野の主なプレーヤーは誰ですか
  3. 使用するソフトウェアの推奨事項:保存/復元されたファイルのバックアップ/復元/およびアップロード/ダウンロード

サーバーソフトウェアはUbuntuまたはDebianのいずれかになります(サーバーとして使用するOSについて質問を投稿します-私はすでにUbuntuに精通しています)

12
morpheous

所有者が保持するキーを使用したクライアント側の暗号化を含まないソリューションは、最初に述べた要件(IP保護/セキュリティ)を満たしません。サーバー側のハッキングは、暗号化されていないデータを開示します。これにより、キーを所有するDropboxなどのクラウド同期システムが除外されます。

Webサイトのサーバーで非常に重要な暗号化キーをホストすることを回避するために、これもある時点でハッキングされる可能性があります。これを実行します。

  1. お客様自身のサイトにある社内バックアップサーバー-他の両方のサーバー用の暗号化キーとSSHキーがあります
  2. ウェブサイトをホストしているサーバー-ウェブホストである可能性があります
  3. クラウドバックアップサーバーまたはサービス

ステップ1:サーバー(1)は(2)からバックアップを取得するため、Webサイトサーバーのほとんどのハッキングはバックアップを危険にさらすことはありません。この時点で暗号化が行われます。

  • キーベースのログインを使用してSSH経由で rsnapshot を使用します。これは、Webホストと社内バックアップサーバーでの要件が最小限であるためです。バックアップする大規模なDBがない限り、帯域幅が非常に効率的であり、サイトの複数のバージョンを保存し、古いバックアップのパージも処理します。
  • 暗号化は、GPGなどのファイル間ツールでrsnapshotツリーを別のツリーにコピーすることで実行できます。または、手順2で重複を使用して、ディスク領域を節約することもできます。
  • バックアップサーバーからの「プル」は重要です。メインサーバー(2)にバックアップサーバーのパスワード/キーがある場合、ハッカーはメインサーバーをハッキングした後にバックアップを削除できます(以下を参照)。非常に高度なハッキングにより、トロイの木馬のSSHバイナリがインストールされ、バックアップサーバーが危険にさらされる可能性がありますが、ほとんどの企業ではその可能性は低くなります。

ステップ2:サーバー(1)が暗号化されたバックアップを(3)にプッシュして、オフサイトバックアップを作成します。手順1でバックアップが暗号化されている場合は、ローカルrsnapshotツリーのrsyncミラーをリモートシステムに使用できます。

  • Duplicity は、暗号化されていないrsnapshotツリーを直接暗号化してリモートサーバーにバックアップするのに適したオプションです。 Duplicityの features は、GPG暗号化されたtarアーカイブを使用するrsnapshotとは少し異なりますが、リモートホストでバックアップ暗号化を提供し、そのホストでSSHのみを必要とします(またはAmazon S3を使用できます)。重複 ハードリンクをサポートしていません したがって、これが必要な場合(サーバーの完全バックアップなど)、スクリプトがrsnapshotツリー(ハードリンクをサポートしている)をtarファイル(ハードリンクをサポートしている)に変換するのが最適です(おそらく、ハードリンクが1つを超えるファイルだけで、非常に小さくなります)。重複すると、tarファイルをバックアップできます。
  • リモートサーバーは単なるSSHホストであり、おそらくrsyncを使用しているため、Webホスト(ただし、別のホスティングプロバイダーから、国の別の地域にある)、またはrsyncやSSHを提供するクラウドサービスである可能性があります。 クラウドへのrsyncバックアップに関するこの回答 bqbackupとrsync.netの推奨について。ただし、前述のバックアップ設定には同意しません。
  • Amazon S3を重複したリモートサーバーとして使用できます。これにより、大規模なバックアップの場合はコストが高くなる可能性がありますが、非常に優れた可用性が得られます。
  • リモート暗号化バックアップのその他のオプションは、 Boxbackup (それほど成熟していない、いくつかの優れた機能)および Tarsnap (シンプルなコマンドラインインターフェイスを備えたAmazon S3に基づく商用クラウドサービス、優れた重複排除)です。そして非常に徹底的な暗号化。

さまざまなホストすべてのセキュリティが重要であるため、クライアントのセキュリティプロファイルに合わせて調整する必要があります。つまり、脅威、リスク、攻撃ベクトルなどを分析します。UbuntuServerは、5のセキュリティ更新が頻繁に行われるため、悪いスタートではありません。ただし、すべてのサーバーでセキュリティに注意する必要があります。

このセットアップは2つの独立したバックアップを提供します。そのうちの1つは高可用性クラウドストレージサービスであり、プルモードで動作するため、Webサイトへのほとんどの攻撃でバックアップを同時に破壊することはできず、実績のあるオープンソースツールを使用します。多くの管理が必要です。

  • 独立したバックアップは非常に重要です。なぜなら、ハッカーはWebサイトのハッキングと同時にすべてのバックアップを削除することがあるからです-最近の場合 ハッカーはバックアップを含む4800のWebサイトを破壊しました サイト。 この回答 および これ も参照してください。
  • Rsnapshotを使用すると、復元は非常に簡単です。バックアップされたファイルごとに各スナップショットツリーに1つのファイルがあるため、Linuxツールでファイルを見つけてrsyncするか、Webサイトに戻します。何らかの理由でオンサイトバックアップサーバーが利用できない場合は、重複を使用してクラウドバックアップサーバーから復元するか、GPG、rdiff、tarなどの標準ツールを使用してバックアップを復元できます。

このセットアップは標準のSSHとrsyncを使用するため、適切な稼働時間の保証、強力なセキュリティなどを備えた適切なプロバイダーを選択する方が簡単です。長い契約に縛られる必要はなく、バックアップサービスに壊滅的な事態が発生した場合失敗しても、ローカルバックアップがあり、別のバックアップサービスに非常に簡単に切り替えることができます。

4
RichVel

ソフトウェアに関しては、非対称暗号化とダムレシーバーを使用した増分バックアップの場合は duplicity を検討してください(非クラウド 方法 )。

2
Tobu

私は常にクライアントに、最良で、最も安価で、最も効率的なバックアップソリューションは、自分の目的のために自分で構築したものであると言います。

クライアント用のシステムを構築するときは、SSHキーを使用してrsyncを使用して、serverAとserverBの間の認証を処理します。ここで、serverAにはバックアップするデータが含まれています。データをアーカイブしてrsyncするコマンドは、Webにアクセスできないディレクトリのbashスクリプトに含まれており、H時間ごとにcronによって呼び出されます(毎日24など)。

バックアップサーバーserverBは、バックアップにのみ使用されます。バックアップのダウンロードとバックアップを可能にするために、SSHキー認証で非常に長いパスワードを使用するようにクライアントに常にアドバイスしています。クライアントがバックアップをD日間保存する必要がある場合があるので、それを処理するスクリプトをいくつか作成します(アクティブなバックアップディレクトリからデータを取得し、タイムスタンプを適用し、別のディレクトリのアーカイブに追加します)。

1
Jason Berlinsky

中小企業/プロシューマーには、 Amazonのストレージサービス をお勧めします。

  • 地域管理(つまり、EUに保管されているオブジェクトがEUを離れることはありません)。
  • 99.9%の稼働時間 任意の請求サイクル
  • 1GBあたり月額$ 0.150
  • ダウンロードしたGBあたり$ 0.170
  • 2010年6月まで無料アップロード、それ以降は1GBあたり$ 0.10

そして、「データが不正アクセスから保護されることを保証するために認証メカニズムが提供されている」というかなり漠然とした保証

0
RJFalconer

バックアップをAmazonAWS内に保存するのが好きで、無料のツールs3cmdhttp://s3tools.org/s3cmd =)

非常に簡単にインストールできます(Debian:apt-get install s3cmd)。

S3にファイルを保存するために必要なのはAmazonAWSアカウントだけです。次に、簡単なコマンドでバックアップを実行できます。増分または同期ソリューションとしても実行できます。例:

s3cmd sync /srv/backup  s3://your-bucket-name-at-Amazon/

必ず実行してください

s3cms --configure 

最初にAWS認証情報を入力します。

0
Rob

BluenovemberはS3で正しい方向に進んでいますが、Amazonのシステムは実際にはドロップインバックアップソリューションではありません。それは、数回のAPI呼び出しであろうと、バックアップにフロントエンドシステムを使用する必要がある生データストレージソリューションです。フルバックアップ管理スイート。 JungleDisk Server Edition のようなものは、バックエンドでS3を使用しますが、バックアップソリューションとして使用するためのより優れたインターフェイスを提供します。

さらに、JungleDiskは組み込みの暗号化を提供します。これは、S3 /「クラウド」への接続方法に関係なく追加する必要があるものです。 Linux用のかなり素敵なクライアントソフトウェアもあります。

0
phoebus