Amazon EC2 Ubuntuインスタンスが休止(ハイバネーション)に対応しました

Amazon EC2には、インスタンスのメモリ状態を保管したまま停止し、再開する休止(hibernation)機能が存在します。 これまでは、Amazon Linux 1のみ対応していましたが、この度、Ubuntu 18.04 LTSでも利用出来るようになりました。

Amazon EC2 Hibernation Now Available on Ubuntu 18.04 LTS

休止機能を利用するには、EBS のルートボリュームが暗号化されている必要があります。

約2ヶ月前のEBSアップデートにより、起動時にルートボリュームを簡単に暗号化できるようになりました。

Enable Hibernation on EC2 Instances when launching with an AMI without an Encrypted EBS Snapshot

休止機能を利用する手順が以前よりも簡略化されているため、改めて、Ubuntu を例に最新の休止手順を紹介します。

前提

休止機能を利用するためには、

  • 対応インスタンスタイプ
    • C3, C4, C5, M3, M4, M5, R3, R4, R5
  • 対応OS
    • Amazon Linux 1
    • Amazon Linux 2(2019/09/05〜)
    • Ubuntu 18.04 LTS(2019/07/30〜)
  • EBS
    • ルートボリュームが暗号化されていること
    • 休止時にRAMデータなどを保存するための空き容量があること

といった要件を満たす必要があります。

詳細は、次の URL を参照ください。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites

やってみた

  • インスタンスタイプ:m5.large
  • OS:Ubuntu 18.04 LTS(ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190722.1)

の組み合わせで、コンソールから実際に休止機能を利用してみます。

AMI の選択

AMI に、対応したばかりの「Ubuntu Server 18.04 LTS (HVM), SSD Volume Type」を選択します。

インスタンスタイプの選択

休止機能に対応した m5.large を選択します。

なお、AMD系(m5a.large) では、休止機能を利用できませんでした。

インスタンスの設定

休止に対応した AMI とインスタンスタイプを選択すると、休止シャットダウン動作 のチェックボックスが追加されるため、チェックします。

ストレージの追加

休止機能を利用するには、ルートボリュームが暗号化されている必要があります。

ボリュームをデフォルトの非暗号化状態のままにすると、次のキャプチャーのように、警告メッセージが表示されます。

暗号化列で、ボリュームの暗号に利用する KMS 鍵を選択します。

また、休止時に RAM を保存空き容量を確保するよう、ボリュームサイズを調整してください。

残りのステップはいつもどおりに設定してください。

休止(ハイバネーション)を実行

休止を有効にして起動したインスタンスの詳細を確認すると、「Stop - Hibernation behaviorEnabled」となっています。

アクションの停止処理は

  • Stop
  • Stop(Hibernate)

の2種類があります。

インスタンスを休止させる際は、Stop(Hibernate) を選択してください。

休止(ハイバネーション)状態からの再開

休止したインスタンスを再開するには、アクションから Start を選択してください。

最後に

Ubuntu Linux でHibernate 機能を利用する手順を紹介しました。

Ubuntu Linux でメモリをガッツリ使うようなデータ処理をやっている人には、嬉しい機能アップデートではないかと思います。

参考