AWS EC2 バックアップ
AWS には ECS や Lamda をはじめ数多くのサービスが用意されているので、ここ最近では直接 EC2 を立ち上げることも少なくなってきました。それでもちょっとしたサービスを用意するために EC2 を立ち上げることも、まだまだあります。EC2 でインスタンスを作成するのは数クリックでできますが、システムの緊急時を考慮しバックアップを用意しておかなければいけません。弊社ではソースコードは外部の Git サービスで管理しており、サーバで利用するデータもまた RDS や EC2 をはじめ EC2 から外出ししています。そのため、 EC2 のバックアップを作成するタイミングは、定期バックアップではなくサービス開始後・サーバメンテナンス後などのみとしています。(もちろん RDS などは定期バックアップしています。)
今回は個人的な備忘録も含め、既にシステム稼働中の
- ボリューム復元
- AMI からインスタンス立ち上げ
1. ボリューム復元
1-1. スナップショット作成
スナップショット作成にあたり、EC2 のインスタンスは可能な限り停止しておきましょう。ボリューム一覧からバックアップを作成したいインスタンスのボリュームを選択し、「スナップショットの作成」します。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_11h22_57.png)
適切な説明を入力し「スナップショットの作成」をクリックします。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_11h23_53.png)
作成されたスナップショットは、スナップショット一覧から確認することができます。バックアップは以上です。
1-2. ルートボリュームの置き換え
次に緊急時などにボリュームを置き換えるときの流れを確認しましょう。該当インスタンスを選択し、「ストレージ」タブから「ルートボリュームを置き換える」をクリックします。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_11h30_41.png)
置き換えるスナップショットを選択し、「置き換えタスクを作成」をクリックします。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_11h31_17.png)
置き換えが完了すると「タスクが正常に作成されました」と表示されます。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_11h32_02.png)
またストレージタブを確認すると、「最近のルートボリュームの置き換えタスク」にタスクの状態に「成功」と表示されていれば問題ないでしょう。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_11h32_50.png)
2. AMI からインスタンスの立ち上げ
2-1. EC2 インスタンスのバックアップ
バックアップにあたり、EC2 のインスタンスは可能な限り停止しておきましょう。インスタンスを選択して「インスタンスを停止」をクリックします。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_10h48_48.png)
インスタンスが停止したら、次に「イメージを作成」をクリックします。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_10h49_53.png)
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_10h51_05.png)
作成したイメージは、 AMI の一覧に表示されます。バックアップ作成した直後は、この一覧に「保留中」と表示されます。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_10h52_53.png)
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_11h15_59.png)
しばらく待つと「利用可能」になればバックアップの作成は完了です。サービスの再開を忘れないようにインスタンスを選択し「インスタンスを開始」をクリックします。
2-2. イメージからインスタンスを起動
次に緊急時などにインスタンスを立ち上げる流れを確認しましょう。作成した AMI を選択し「イメージからインスタンスを起動」をクリックします。
![](https://gb-j.com/wp-content/uploads/2022/02/2022-02-05_12h57_50.png)
あとは EC2 インスタンスの作成と同じ流れですので割愛します。