Amazon EC2のT2インスタンスタイプを休止状態にできるようになりました!

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術1課の小倉です。
2020/3/19にアップデートがあり、Amazon EC2のT2インスタンスタイプを休止状態(ハイバネーション)にできるようになりました!

Amazon EC2 Hibernation で、T2 インスタンスタイプのワークロードを一時停止および再開できるようになりました

今まではM3、M4、M5、C3、C4、C5、R3、R4、R5のインスタンスタイプで休止状態にできていましたが、ここにT2が追加されました。利用用途としては、EC2上で稼働しているアプリケーションが起動に10分とか時間がかかるなど起動時間を短縮してサービスを再開することができます。料金は、休止状態ではインスタンスの料金はかかりません(EBSやEIPは停止の時と同様に料金は発生します)。

Amazon EC2 休止状態(ハイバネーション)とは

Amazon EC2 休止状態(ハイバネーション)とは、EC2を一時停止、再開できる機能です。
一時停止する前の状態(アプリケーションが起動しているなど)を保持して停止し、再開時には一時停止前と同じ状態で起動します。WindowsやMacのスリープ状態と同じです。動作としてはメモリ上に保管されているデータをルートEBSボリュームに格納されたファイルに保存して、一時停止前の状態を保持しています。

休止状態を使用するにあたり、いくつか制限事項があるため、以下に記載します。

対応OS

Amazon Linux
Amazon Linux 2
Ubuntu 16.04 および 18.04 LTS
Windows Server 2012、2012R2、2016、2019

対応EC2インスタンスタイプ

M3、M4、M5、C3、C4、C5、R3、R4、R5、T2

EBSボリューム

ルートEBSボリュームにメモリ分の空き容量があることと暗号化が必須
※暗号化が必要な理由は、メモリ上に機密情報が含まれていた場合、その情報を保護するため

EC2インスタンスのメモリサイズ

Windows の場合 最大 16 GB のメモリのインスタンス
その他のオペレーティングシステムの場合 メモリ が 150 GB 未満のインスタンス

設定手順

休止状態を使うためにはEC2の新規作成でしか設定ができないため、既存のEC2で利用するためにはAMIを取得して再作成が必要です。

EC2作成手順

マネジメントコンソールにログインして、EC2のコンソールを開きます。
https://console.aws.amazon.com/ec2/

左メニューの[インスタンス]をクリックして、[インスタンス作成]をクリックします。

ステップ 1: Amazon マシンイメージ (AMI)画面で、OSを選択します(今回はAmazon Linux 2を選択)。

ステップ 2: インスタンスタイプの選択画面で、インスタンスタイプを選択します(今回はt2.microを選択)

ステップ 3: インスタンスの詳細の設定画面で、EC2を作成するネットワークやサブネットを指定し、[停止 – 休止動作]にチェックを入れます。

ステップ 4: ストレージの追加画面で、EBSボリュームのサイズと暗号化の設定をします。
※暗号化についてのメッセージが表示されていますが、暗号化の設定をすると消えます。

ステップ 5: タグの追加画面で、必要に応じてタグを追加します(今回はタグ設定なし)。

ステップ 6: セキュリティグループの設定画面で、EC2に使用するセキュリティグループを指定します(今回は新規作成して22ポートを許可する設定にしています)。

ステップ 7: インスタンス作成の確認画面で、設定内容を確認して[起動]をクリックします。

キーペアの選択画面で、キーペアを指定して、[インスタンスの作成]をクリックします。
もしキーペアが無い場合は[新しいキーペアの作成]を選択して、[キーペアのダウンロード]をクリックして、ダウンロードが終わってから、[インスタンスの作成]をクリックします。

画面右下の[インスタンスの表示]をクリックして、EC2インスタンス一覧を表示します。
作成したEC2インスタンスを選択し、画面下の説明タブを選択し、下にスクロールすると休止状態の設定を確認できます。

休止状態へ変更

休止状態にするには、対象のEC2インスタンスを選択し、[アクション] – [インスタンスの状態] – [停止 – 休止]をクリックします。

確認画面で、[はい、停止 – 休止動作を有効化します]をクリックします。

ちょっと待つと、インスタンスのステータスがstoppedになり、状態遷移の理由メッセージに User initiated hibernateというメッセージが表示されます。

休止状態から再開

停止しているEC2からの起動と手順は一緒です。
対象のEC2インスタンスを選択し、[アクション] – [インスタンスの状態] – [起動]をクリックします。

確認画面で、[開始する]をクリックすると起動します。

ステータスチェックが2/2になるのは時間がかかりますが、インスタンスの状態がrunningになったらログイン可能で、休止状態にする前と同じ状態になっていました。
また、今回はEIPではなくパブリックIPアドレスを使っていましたが、休止状態にしてから起動したらIPアドレスは変更されていました。

まとめ

EC2上で起動に時間のかかるアプリケーションなどを使っている場合に休止状態を使うことで、起動時間を短縮することができます。今のところ、新規作成しか設定方法がありませんが、起動時間にお悩みの方は利用してみてはいかがでしょうか。

また、本ブログの内容は2020/3/25(水) 12:00よりYouTube Liveで配信される「30分でわかる AWS UPDATE!」でも取り上げる予定ですので、ぜひご覧ください!
もしリアルタイムで見逃しても、アーカイブ動画から内容を確認できます。

AWS運用自動化サービス「Cloud Automator」