オンデマンドの Linux インスタンスを休止状態にする

インスタンスを休止すると、Amazon EC2 によってオペレーティングシステムに休止の実行 (suspend-to-disk) が指示される。休止状態に入ると、インスタンスメモリ (RAM) に置かれていた内容が、Amazon Elastic Block Store (Amazon EBS) のルートボリュームに保存される。インスタンスの EBS ルートボリュームとアタッチされた EBS データボリュームは、Amazon EC2 により保持される。インスタンスを再起動すると、以下のようになる。

  • EBS ルートボリュームは前の状態に復元される。
  • RAM の内容が再ロードされる。
  • インスタンスで以前に実行されていたプロセスが再開される。
  • 以前にアタッチされていたデータボリュームが再アタッチされ、インスタンスがそのインスタンス ID を保持する。

インスタンスは、休止が有効になっており、休止の前提条件を満たしている場合のみ、休止状態にすることができる。

インスタンスまたはアプリケーションが、ブートストラップし、メモリフットプリントを構築して完全に生産性を発揮するのに時間がかかる場合は、休止を使用してインスタンスを事前ウォーミングできる。インスタンスを事前ウォーミングするには、次の操作を行う。

  1. 休止を有効にしてインスタンスを起動する。
  2. インスタンスを必要な状態に移行。
  3. 休止状態にして、必要なときにいつでも望ましい状態に回復されるようにする。

休止したインスタンスが stopped 状態にある場合、インスタンスの使用量に対して料金は発生しない。RAM の内容が EBS ルートボリュームに転送されて、インスタンスが stopping 状態にある間は、インスタンスの使用量に対して料金が発生する。(この点は、休止せずにインスタンスを停止した場合と異なる。) データ転送に対して料金は発生しない。ただし、EBS ボリュームのストレージに対しては、RAM の内容のストレージも含めて、料金が発生する。

休止の前提条件

  • サポートされる Linux AMI
    • 休止状態をサポートする HVM AMI である必要がある
      • CentOS、Fedora、Red Hat Enterprise Linux の場合、休止状態は Nitroベースのインスタンスでのみサポート
  • サポートされるインスタンスファミリー
    • 特定のリージョンで休止状態をサポートする利用可能なインスタンスタイプを表示するには

      aws ec2 describe-instance-types –filters Name=hibernation-supported,Values=true –query “InstanceTypes[*].[InstanceType]” –output text | sort

  • インスタンスサイズ
    • ベアメタル インスタンスはサポートされていない
  • インスタンスの RAM サイズ
    • 150 GB 未満である必要がある
  • ルートボリュームタイプ
    • EBS ボリュームにする必要がある
  • EBS ルートボリュームサイズ
    • RAM の内容を保存し、OS やアプリケーションなどの予想される使用量に対応できる容量にする必要がある
  • サポートされている EBS ボリュームタイプ
    • 汎用 SSD (gp2 および gp3)
    • プロビジョンド IOPS SSD (io1 および io2)
  • EBS ルートボリュームの暗号化
    • 休止時にメモリ内にある機密性の高いコンテンツを保護するためにルートボリュームを暗号化する必要がある
  • 起動時に休止状態を有効にする
  • 購入オプション
    • オンデマンドインスタンスでのみ使用可能。これには、リザーブドインスタンスの請求の割引が適用されているインスタンスも含まれる。