ポイントのカップル:
Amazon EBS ボリュームをバックアップする必要があります。
彼らは「より良い」信頼性を主張していますが、100% ではなく、S3 の「12 9」の耐久性から数桁離れています。S3 耐久性 >> EBS 耐久性。あれは事実です。EBS は、ストレージを効率的かつ増分的に S3 にバックアップする「スナップショット」機能をサポートしています。また、EBS スナップショットでは、通常、割り当てられたボリューム サイズよりもはるかに小さい圧縮されたデルタに対してのみ料金が発生します。別の人生で、EBS は「耐久性がある」と「考え」、ミッション クリティカルなデータベースの唯一のコピーでそれを信頼したあなたのような小規模な顧客に、ボリュームのないメールを送信しました... それは悲痛です.
あなたの Q: 新しいインスタンスの自動起動
あなたが言及したデザインパスは比較的未踏です。その理由は次のとおりです...多くの企業は、2 番目のインスタンスが起動されて実行されている冗長な「ホットスペア」インスタンスを実行しています。これにより、「障害」(ハードウェアまたはソフトウェアの可能性があります)が発生した場合に、迅速なフェイルオーバー(秒)が可能になります。「コールドスペア」の問題は、マシンを最新の状態に保ち、古いボックスが中断したところから再開できるようにするのが難しいことです。さらに重要なことは、スペアが本番サービスを正常に回復できることを検証するのが難しいことです。ハードウェアは、テストされていないソフトウェア システムよりも信頼性が高くなります。テストテストテスト。フェールオーバーをテストしていない場合、機能しません。
新しい EBS インスタンスを開始する単純な自動化は簡単で、取るに足らないものです。これは、EC2 コマンドライン ツールを呼び出す 1 行の bash スクリプトです。トリッキーなのは、その上にあるすべてです。このようなソリューションは、完全に 100% 自動化された展開プロセスを意味します。そして、これはすべてアプリケーション固有のものです。アプリは、実行に必要なすべてのデータを取得できますか (S3 に保存されている可能性がありますか?)。今日インスタンスを強制終了し、0.000 の手動セットアップ/インストール手順で新しいインスタンスを起動できますか?
または、 「EBS ボリュームの再インスタンス化」と呼ぶシナリオについて話している可能性があります。
- EC2 ボックスが死ぬ (ルートボリュームは EBS)
- EBS ボリュームを強制的にデタッチする
- EBS ボリュームで新しい EC2 インスタンスを起動します
...それはほとんどうまくいきます。落とし穴:
- EBS の障害 (ボリューム全体の損失または可用性の損失) から保護されない
- すべてが正常に機能すると仮定すると、回復時間は O(分) です
- 自動的に再起動するようにサービスを構成する必要があります。Nginx が実行されていない場合、ボックスを元に戻しても意味がありません。
- DNS ルートやその他のサービス、または IP アドレスの変更に問題がない必要があるもの。これは、ElasticIP で回避できます。
- ホストの SSH キーはどのように処理されますか? 同じ名前の新しいホスト キーは、ホスト キーの変更に関する強力な警告を受け取ると、SSH ベースの自動化を中断する可能性があります。
- これを証明するものはありませんが (一度発生することを確認する以外に)、EC2/EBS は EBS インスタンスからの起動に対して自動的に_already_does_this_を実行すると信じています
繰り返しますが、ここでの難しい部分はあなたの皿にあります。本番サービスを今日停止して、新しいインスタンスで確実に起動できますか? もしそうなら、ストーリーの EC2 部分は本当に簡単です。