
私はセットアップしましたアマゾンEC2Ubuntuサーバーエディションを使用してインスタンスを作成し、ランプそれを積み重ねます。MySQL 上で動作する PHP Web アプリケーションを作成しました。Amazon EC2 で Web アプリケーションをテストしましたが、正常に動作しました。
まだ正式にはローンチしていませんが、ローンチ前に知っておく必要があります。データベース データをバックアップする必要がありますか? 必要であれば、できるだけコスト効率よく行うにはどうすればよいでしょうか?
以前、別のウェブアプリケーション用に、PerlまたはBashスクリプト(覚えていない)を書いて、クローン日常的に。
スクリプトはデータベースを 1 つの.sql
ファイルにバックアップし、電子メールの添付ファイルとして Gmail アカウントに送信します。
その Web アプリケーションは共有ホスティング上にあったため、データベースのバックアップが必要であることは明らかでした。ファイルは Git リポジトリ上にあるため、心配する必要はありません。
この新しいウェブアプリケーションではアマゾンウェブサービス(AWS)、私は次の理由で未定です:
電子メールで送信されたデータは安全ではないため、これは良いソリューションではないと思います。私が覚えている限りでは SSL はありませんが、安価なソリューションでした。無料です。日付で簡単に取得できます。
Amazon はすでにバックアップを行っているため、バックアップを行う必要がないようにしているのかもしれません。必要なのは、災害が発生した場合にそれをどのように回復するかだけです (木に触れて)
- (私は)バックアップを行うためのより優れた、費用対効果の高い方法があると思う。アマゾンS3。
ユーザーにファイルのアップロードを許可しているので、それらのファイルも何らかの方法でバックアップする必要があります。その方法がわかりませんし、これまでいかなる形でもバックアップしたことがありません。
私が求めているのは、データベースと画像ファイルをできるだけコスト効率よく毎日バックアップすることと、これを実装して災害発生時にそれらを回復するための、明確で段階的なプレイガイドです。
背景:
AWS については全く詳しくありません。アカウントの設定方法しか知りません。それだけです。
<< Ubuntu 初心者として 1 年間の経験。人生のほとんどは Windows で過ごしました。
PHP プログラミングにはほとんど精通しています。他のプログラミング言語については、使用頻度が低いため、あまり使いこなせません。
答え1
Amazon はデータベース ファイルを冗長ストレージに保存しますが、その構成に関する情報は限られているため、これがニーズに十分かどうかは自分で判断する必要があります。ただし、古いバージョンは保存されないため、ハードウェア障害に対してのみ保護され、何らかのユーザー エラー (ハードウェア障害よりも可能性が高い) に対しては保護されません。
また、EC2 サーバーがインスタンス ストアにある場合、サーバーが停止するとデータが消去されることに注意してください。永続的なストレージの場合、データは Elastic Block Storage (EBS) ボリューム上になければなりません。EBS ボリューム上に保存すると、定期的にスナップショット (手動または Amazon API を使用して自動) を取得して、古いバージョンにロールバックできるようになります。PHP 用の AWS SDK は非常に優れており、次の場所から入手できます。詳しくはこちら。
答え2
Amazon には非常に多くのサービスがあり、さまざまなテクノロジーがあるため混乱してしまうことがあります。Amazon は特定の問題を解決するためにこれらすべてのサービスを作成していることに留意してください。
S3でのMySQLのバックアップは非常に一般的であり、多くのブログで詳しく説明されています。ここのガイドに従うことをお勧めします。http://agiliq.com/blog/2009/02/mysql-database-to-amazon-s3-u を自動的にバックアップします。
決して思い込みはいけません。S3 はフォールト トレラントなストレージ デバイスとして設計されていますが、だからといってすべてをローカルのコンピューターや他のプロバイダーにバックアップすることを妨げるものではありません。EBS ボリュームは、バックアップ用の唯一のストレージ デバイスとして十分な信頼性がなく、データベースも同じディスクに保存されている場合はなおさらです。
どの方法を選択しても、バックアップを作成するときは次の手順に従います。
- 毎日バックアップを作成する
- バックアップを S3 に送信します (バックアップが正常であることを確認するために、必ず MD5 チェックサムを使用してください)
- S3 からローカルまたは S3 以外の別のプロバイダーにバックアップをダウンロードします
- ローリングバックアップタイプの履歴を使用して古いバックアップをクリーンアップする
- 過去7日間のバックアップを保存する
- 毎週金曜日のバックアップを1か月間保存します
- 先月のバックアップを1年間保存する