何となく新しい Elastic Beanstalk を作成したら、自動的に Windows Server 2016 になっていることに気が付きました。RTM になってから半年以上かかってますが、喜ばしいです。
設定を弄らなかったので Windows Server 2016 で作られるのは、少し注意した方が良いかもしれないです。ちなみに Server Core もちゃんと用意されています。
Release Notes を調べると 3 日ほど前に追加されたとありました。一瞬だけ Windows Server 2016 が Platform History に表示されたことはありましたが、ちゃんと作業は進んでいたようです。
Added support for Windows Server 2016.
The following new platforms are provided:Release: AWS Elastic Beanstalk support for Windows Server 2016 on June 26, 2017 : Release Notes : Amazon Web Services
- 64bit Windows Server 2016 v1.2.0 running IIS 10.0
- 64bit Windows Server Core 2016 v1.2.0 running IIS 10.0
環境を作成する時にドロップダウンリストから、Windows Server 2016 と Windows Server Core 2016 が選べるようになっています。バージョンは v1.2.0 のみ用意されてます。
後から Windows Server 2016 や Windows Server Core 2016 に切り替えることは出来ないので、新しい環境を作る必要があります。切り替える機能が欲しいです。
Windows Server 2016 の環境が意図せず出来てしまったので、一応リモートデスクトップで入って確認しておきました。普通の Windows Server 2016 が入っています。
これまでの EC2Config は入っておらず、代わりに EC2Launch を使って設定をする必要があります。インストールされているモジュールは 2012 R2 と同じでした。
ついに IIS 10.0 が使えるようになり、Request Filtering などのモジュールが最新になっています。最新の Request Filtering を使うと、簡単に Server ヘッダーを削除する機能が付いてます。
removeServerHeader を True にすると、レスポンスから Server ヘッダーが消えます。
地味に消すのが大変だった Server ヘッダーですが、IIS 10.0 からは簡単に消せました。他にも HTTP2 対応などがありますが、Elastic Beanstalk で HTTP2 を使うには ALB を利用する必要がありそうです。