インスタンスを別アベイラビリティーゾーンで立ち上げてサーバー復旧させる

こんにちは。hacknoteのj.kushiyamaです。

ご存じの方も多いかと思いますが、先日、単一アベイラビリティーゾーンでの障害が発生しました。

AWS、東京リージョン23日午後の大規模障害について詳細を報告。冷却システムにバグ、フェイルセーフに失敗、手動操作に切り替えるも反応せず

今回はインスタンスを別アベイラビリティーゾーンで立ち上げてサーバー復旧する方法について紹介したいと思います。

前提

EC2にWordPressをインストールする

EC2で構築したWordPressをRoute53でドメイン設定する

が終わっているものとします。

具体的な方法

まず、AMIを作成します。AMIとは、アマゾンマシンイメージの略で、ソフトウエア構成(OS,アプリケーション・サーバー、アプリなど)を記録した雛形です。

ここではまずトラブルで使えなくなってしまった復旧させたいインスタンスのAMIを作成します。

AMIを作成する手順

  1. AWSのEC2のサービスにアクセスして[EC2ダッシュボード]>[インスタンス]を選択します。

  2. AMIを作成するインスタンスを選択して右クリックで[イメージ]>[イメージを作成]をクリックします。

  3. イメージ名を入力し(名前はわかりやすいものがいいかと思います)、サイズ、ボリュームタイプを復旧するインスタンスと同じにして[イメージの作成]をクリックします。

  1. [保留中のイメージami-(id)の表示]をクリックしてAMIのステータスがavailableになるまで待ちます。

これでAMIの作成は完了です。このAMIを用いて、サーバーを復旧します。

AMIから別アベイラビリティーゾーンでインスタンスを立ち上げてサーバー復旧する手順

  1. [インスタンス]>[インスタンスの作成]をクリックします。

  2. [手順1:Amazonマシンイメージ(AMI)]の検索欄に先ほど作成したAMIの名前を入れそれを選択します。

  1. [手順3:インスタンスの詳細の設定]で復旧したいインスタンスで指定していたアベイラビリティーゾーンと異なるアベイラビリティーゾーンを選択します。[サブネット]の項目で指定できます。

  2. あとの項目は復旧したいインスタンスと同じにします。

  3. [起動]を押して、鍵などの設定を行いインスタンスを作成します。

  4. メニューのネットワーク&セキュリティのところにある[Elastic IP]をクリックします。

  1. 復旧したいインスタンスで使用していたElastic IPを選択して右クリックし、アドレスの関連付けをクリックします。

  2. [リソースタイプ]はインスタンス、[インスタンス]は新しく作成したインスタンスIDを指定し、関連付けをクリックします。

Elastic IPの関連付けが成功すれば完了です。サイトにドメイン名でアクセスすることができます。

補足

新しいインスタンスで新しいElastic IPを取得する必要はありません。なぜなら、あくまで復旧させたいインスタンスのIPを知っていればよいからです。

もし間違えて新たに取得したElastic IPを新しく作成したインスタンスに割り当ててしまった場合は、7.で復旧させたいインスタンスのElastic IPをもう一度指定して、8.で[再関連付け]の項目にチェックをいれて[関連付け]をクリックしてください。

これにより新しいインスタンスに復旧させたいインスタンスのElastic IPアドレスを関連付けることができます。