[アップデート] Windows Server EC2 AMI で高速起動機能を有効化する際に、デフォルト VPC や起動テンプレートの準備が不要になりました
いわさです。
Windows Server EC2 インスタンスの AMI は起動速度を高速化する、高速起動というオプションがあります。
特に、オートスケーリング環境での Windows インスタンス立ち上がりを高速化するオプションのひとつとして有効なこの機能ですが、利用にあたってデフォルト VPC が必要、もしくはカスタム起動テンプレートが必要という制約がありました。
- 設定を構成する際に起動テンプレートを使用しない場合は、EC2 Fast Launch を使用しているリージョンで、デフォルトの VPC が設定されていることを確認します。
- デフォルト以外の VPC を指定するときは、Windows Fast Launch を設定するときに、起動テンプレートを使用する必要があります。
Windows 用に EC2 Fast Launch を設定するための前提条件 - Amazon Elastic Compute Cloud
これが今朝のアップデートで起動テンプレートやデフォルト VPC 不要で高速起動機能の有効化ができるようになりました。
本記事では実際に使用し、有効化時にどういう挙動になるのかを確認しましたので紹介します。
使ってみる
有効化の方法は冒頭の柴田さんのブログのとおりです。
Shutdown with Sysprep で設定する必要があります。
で、通常の Windows AMI を作成後に AMI コンソールから対象 AMI を選択し、アクションメニューから「高速起動を設定」を選択します。
高速起動テンプレートの有効化画面は大きくは変更はないのですが、各表記が少し変わっています。
まず、以下は以前の画面(柴田さんのブログ執筆時点のもの)です。
[アップデート] Windows Server EC2の初回起動速度を最適化するオプションが共有AMIでも可能になりました | DevelopersIO
「デフォルト VPC を削除した場合は起動テンプレートを指定すること」が注意書きされています。
一方で本日時点での画面は次のようになっています。
起動テンプレートを指定していない場合、デフォルト VPC を使うのではなく、システムが VPC や起動テンプレートを自動的に構成する旨が記載されています。ほう。
こちら、挙動としては CloudFormation スタックが作成されるようになっています。VPC、サブネット、セキュリティグループ、起動テンプレートが作成されていますね。
そして有効化後は一時的に EC2 インスタンスが起動されスナップショットの作成などが行われるのですが、その実行環境が従来のデフォルト VPC ではなく、上記スタックで作成されたシステム管理用の VPC で起動されるようになっています。
しばらく経つと一時的に立ち上がった EC2 インスタンスたちは削除されます。
一方で、高速起動有効化用に作成された VPC を含むスタックたちは残り続けていました。
EC2FastLaunch-Setup-DO-NOT-DELETE を消してみた
上記スタックが残っているということはこの高速起動用の VPC が残り続けるということです。
個人的には余計な VPC は管理したくないので不要になったら消したいのですが、このスタックは削除しても大丈夫なのでしょうか。
スタック名から「消すなよ、絶対に消すなよ」という強めのメッセージを感じます。
以前はデフォルト VPC を削除した場合は高速起動有効化時にエラーとなっていましたが、果たして。
ということで消してみました。
そして削除後に別の AMI でまた高速起動を有効化してみると...
問題なく高速起動の有効化リクエストが処理されていました。
そして CloudFormation スタック一覧を見てみると、新たに高速起動用の VPC 一式のスタックが作成されています。
公式ドキュメント上明記されていませんが、なければ毎回作ってくれるみたいなので、不要だなと思ったら削除しても大丈夫そうです。
さいごに
本日は Windows Server EC2 AMI で高速起動機能を有効化する際に、デフォルト VPC や起動テンプレートの準備が不要になったので試してみました。
この機能を使いたいがためにデフォルト VPC を残さざるえなくなったという方は、これを機にデフォルト VPC の整理をすると良いですね。