こんにちは、技術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ボリュームのサイズと暗号化の設定をします。
※暗号化についてのメッセージが表示されていますが、暗号化の設定をすると消えます。
ステップ 6: セキュリティグループの設定画面で、EC2に使用するセキュリティグループを指定します(今回は新規作成して22ポートを許可する設定にしています)。
キーペアの選択画面で、キーペアを指定して、[インスタンスの作成]をクリックします。
もしキーペアが無い場合は[新しいキーペアの作成]を選択して、[キーペアのダウンロード]をクリックして、ダウンロードが終わってから、[インスタンスの作成]をクリックします。
画面右下の[インスタンスの表示]をクリックして、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!」でも取り上げる予定ですので、ぜひご覧ください!
もしリアルタイムで見逃しても、アーカイブ動画から内容を確認できます。
https://youtu.be/b1kQYQSE8hg
小倉 大(記事一覧)
アプリケーションサービス部ラーニングエクスペリエンス課 札幌在住
AWSトレーニングの講師をしています。
最近は5歳の息子と遊ぶのが楽しいです!
Twitter: @MasaruOgura