私は Azure を初めて使用します。クラウド サービスの小さなインスタンスを持っています。過去 1 週間でインスタンスが 2 回変更され、すべてのプロジェクト データが失われました。1 か月前にロールバックします。すべてのクライアント データが失われました。そのデータを回復する方法はありますか?また、この問題が発生する理由を教えてください。
2 に答える
データを回復する方法はなく、これを防ぐ方法もありません。これは仕様によるものです。
マシンがクラッシュしたり、システムが更新されたりすると、完全に消去されます。新しいシステム イメージがコピーされ、マシンが再起動し、アプリケーションがコピーされます。Azure クラウド サービスは、サービスとしてのプラットフォーム (PaaS) です。
これにより、2 つの可能なオプションが残ります。1 つ目は、最初の方法でクラウド サービスに永続的なデータを保存しないことです。これは、Azure クラウド サービスの適切な方法ではありません。代わりに、Azure Storage または Azure SQL データベース (または任意の場所) にデータを保存します。
もう 1 つのオプションは、クラウド サービスの代わりに仮想マシンを使用することです。そのマシンは完全にあなたの手にあります。それを更新し、安全に保ち、実行し続けるために必要なことは何でもするのはあなたの義務です。このアプローチでは、ロードバランサーや複数のインスタンスなどについても注意する必要があるため、アウトスケーリングはより困難になります。これがサービスとしてのインフラストラクチャ (IaaS) です。
したがって、それは実際に何をしたいかによって異なります。
クラウド インスタンスはステートレスです。つまり、仮想マシンのローカル ストレージに保存したものはすべて、ノードの障害、システムのアップグレード、またはパッケージの新しいデプロイが発生した場合に削除される可能性があり、削除されることを意味します。アップロード。
あなたができるいくつかのこと:
- 展開時にプロジェクトに追加のファイルまたは構成を追加する必要がある場合は、OnStart() を使用して実行します。これにより、展開または障害の復元のたびに、常に同じ環境に戻ることが保証されます。
- ソース コードを失うことを避けるために、ソース管理をセットアップし、それをクラウド インスタンスの実装と統合することをお勧めします。Git または Team Foundation Service (tfspreview.com をチェックアウト) を使用してこれを行うことができます。
- アセットやクライアントが更新したメディアなどのファイルをサーバーに保存する必要がある場合は、Azure Blob Storage の使用を検討してください。BLOB ストレージは、データセンターでローカルにレプリケートされ、選択した場合は他のデータセンターに geo レプリケートされます。
それが役立つことを願っています