こんにちは。高瀬です。
今回は、「Amazon EC2 Auto Scaling Warm Pools は、休止状態のインスタンス、およびスケールイン時にインスタンスをWarm Pools に返すことをサポートしたようです」を解説します。
Amazon EC2 Auto Scaling Warm Pools とは
Amazon EC2 Auto Scaling Warm Pools は、起動時間が非常に長いアプリケーションなどを事前に稼働させておくことで、起動までのレイテンシを少なくすることができる機能です。
Warm Pools は、Auto Scaling グループの横にある初期化されたEC2インスタンスのプールであり、Warm Pools のインスタンスからAuto Scalingにインスタンスの容量を補充することができます。
Warm Pools のサイズは、Auto Scaling グループの最大容量から必要容量を差し引いた値が設定されます。最大準備容量が設定されている場合は、最大準備容量から必要容量を差し引いた値が設定されます。
Warm Pools にあるインスタンスの状態は、Stopped、Running、そして今回追加されたHibernated (休止状態) の3つがあります。
Stopped の状態でインスタンスをWarm Pools においておくと、コストが抑えられます。この場合にかかる費用は、ボリュームの料金とEIPの料金だけです。しかし、インスタンスの料金はかかりません。
インスタンスの状態をStoppedにする代わりに、メモリのコンテンツを削除せずに休止状態、つまりHibernated状態にすることができます。インスタンスが休止状態になるとき、OSは、メモリの内容をEBSルートボリュームに保存します。また、インスタンスが休止状態から再度Running 状態になるとき、EBSルートボリュームは以前の状態を復元し、メモリの状態を再度読み込みます。インスタンスが休止状態の間は、メモリのコンテンツを追加したEBSボリュームの料金と、EIPの料金だけかかります。
Hibernated オプションは、AWS CLI またはSDK を使用している場合にのみ使用できます。このオプションは、まだコンソールから使用できません。
スケールイン時の挙動 – インスタンス再利用ポリシー
Amazon EC2 Auto Scaling は、デフォルトの挙動だとスケールインする際にインスタンスを終了します。次に、新しいインスタンスをWarm Pools に起動して、終了したインスタンスを置き換えます。
インスタンスをWarm Pools に戻したい場合は、今回追加された、インスタンスの再利用ポリシーを利用できます。これにより、トラフィックを処理するようすでに構成されているインスタンスを再利用することができます。
インスタンスの再利用ポリシーは、AWS CLI またはSDK を使用している場合のみです。まだコンソールからは利用できません。