AMI から AWS Cloud9 を復元する

はじめに

こんにちは。SCSKのふくちーぬです。

今回は、Cloud9を削除してしまった際の適切な復元方法についてお話します。

この話をしようと思ったきっかけとして、利用しているCloud9の実体であるEC2が削除されてしまい、「一体どうすればいいんだ!」と思った経験が背景となります。

というのも、弊社検証環境ではEC2(=Cloud9)が一定期間起動していないものについてはAMI化し、EC2を削除する仕組みが稼働しております。この仕組みのおかげで、コスト削減が実現できております。実際には他の仕組みも動いているのですが、その話はまた今度することにします。

それでは、EC2を削除してしまった際の対処方法を紹介します。

Cloud9環境準備編

今回の状況を再現するために、Cloud9環境を準備します。

Cloud9を構築する

Cloud9の構築手順について分かる方は、飛ばしていただいて結構です。

ご自身のアカウントにて、VPC及びサブネット、IGW、ルートテーブル等が構築済みであることが前提となります。

以下の手順を参考に、Cloud9を構築します。

ステップ 1: 環境を作成する - AWS Cloud9
(「 」の最初のステップ)

コンソール画面から、”Cloud9″を入力し選択します。

“環境を作成”を押下します。

名前は、任意のもので大丈夫です。ここでは、”cloud9-20231121″と入力しています。

インスタンスタイプも何でも良いですが、一番料金が安い最小サイズの”t2.micro”を選択しています。

接続方法として、お手軽に試すことができる”AWS Systems Manager (SSM)”を選択しています。

VPC設定では、任意のVPC,サブネットを指定してください。

ここでは、以下のように設定しています。

VPC:vpc-092d2b38fb260b53b

サブネット:subnet-02cb24e380508f54e 

設定内容が正しいことを確認後、”作成”を押下してください。

以下のような画面になっていれば、問題なくCloud9の構築ができています。

続いて上記画面にて、”Cloud9で開く”を押下してください。

数分待つとCloud9の環境が立ち上がりました!

Cloud9でファイルの作成をする

ここからが本題です。

EC2を削除する前に、Cloud9上で特定のファイルを作成しておき”世界で一つだけのCloud9″にしましょう。

この意図として、復元後に該当ファイルの存在を確かめる作業を実施します。

“New File”を押下してください。

本文には以下のように入力して、ファイル名は”test.txt”とします。

これにてCloud9の準備完了です。

スナップショット取得編

EC2のAMIを取得する

Cloud9の実体であるEC2にアクセスします。”EC2インスタンスの管理”を押下してください。

静止点を設けるために、EC2の停止をしておきます。”インスタンスを停止”を押下してください。

AMIを作成するために、”イメージを作成”を押下してください。

イメージ名は、任意のもので大丈夫です。ここでは、”ami-cloud9-20231121″と入力しています。

“イメージを作成”を押下します。

数分後に、AMIが作成されていることを確認しましょう。

EC2削除編

EC2を削除する

では実際にEC2(=Cloud9)が一定期間起動していないものを削除する仕組みが動いていたと仮定して、EC2を削除してみましょう。

“インスタンスを終了”を押下してください。

“終了”を押下してください。

先ほどまで、ステークスが”準備完了”であったCloud9ですが、”エラー”になっていることが分かります。

“Cloud9で開く”を押下して、利用できないことを確認してください。

“Return to dashboard”を押下して、コンソールに帰ってきてください。

Cloud9の実体であるEC2が削除されてしまったため、Cloud9が利用できなくなっていますね。

復元編

Cloud9の実体となるEC2を削除してしまった場合は、新規にCloud9を作成し、ボリュームの入れ替えをすることが必須となります。  (※該当のCloud9環境は、何も利用できず抜け殻のような状態となります。)

復元の手順は、以下の通りです。

  1. 新しいCloud9を作成する
  2. ボリュームの入れ替えをする
  3. 復元の確認する

新しいCloud9を作成する

同様の手順で新しく別のCloud9を作成してください。

ここでは、名前を”cloud9-ver2-20231121″としています。

実際にCloud9を起動してみると、もちろん”test.txt”ファイルの存在しない初期状態のCloud9となります。

ボリュームの入れ替えをする

以下を参考に、新しいCloud9のルートボリュームに対して入れ替えを行っていきます。

Cloud9を停止することなく入れ替えを実施することが可能です。

以前のスナップショットを使用したボリュームの置き換え - Amazon Elastic Compute Cloud
Amazon EBS ボリュームを Amazon S3 に保存した以前のスナップショットのデータに置き換えます。

 

“cloud9-ver2-20231121″のEC2を選択して、”ルートボリュームを置き換える”を押下してください。

各自取得したAMIのイメージIDを選択してください。元のボリュームは必要ないので、チェックも入れておきます。

“置き換えタスクを作成”を押下します。

ルートボリュームの入れ替えに成功し、復元したいボリュームがアタッチされました。

復元後の確認

実際にCloud9を起動して、中身を確認していきましょう。

“test.txt”ファイルが存在することを確認できました。

後片付け

Cloud9の削除

古いCloud9は利用できないため、削除しておきましょう。

AMIとスナップショットの削除

AMIとスナップショットも料金がかかるので、削除しておきましょう。

まとめ

いかがだったでしょうか。これでEC2が削除されても、AMI・スナップショットを取得しておけば安心してCloud9を復元できます。

本記事が皆様のお役にたてば幸いです。

ではサウナラ~🔥

タイトルとURLをコピーしました