Amazon LightsailのロードバランサーでHTTPSへのリダイレクトが簡単に設定出来るようになり、セキュリティポリシーも選択出来るようになりました

2022.04.27

いわさです。

Amazon Lightsailではロードバランサーの機能を使ってSSLオフロードが出来ます。
本日2つのアップデートがあり、HTTPS周りの機能が強化されました。

HTTPSへのリダイレクト

従来までもHTTPSのオフロード自体は出来ていました。
しかし、HTTPアクセス時にHTTPSへリダイレクトさせたい場合は、ALBなどのようにロードバランサーの機能でリダイレクトさせることは出来ず、ミドルウェア側でのリダイレクト設定が必要でした。

例えば、WordPressインスタンスであればbncertツールを使って設定していました。

今後はLightsailのロードバランサーで実現出来るようになります。

やってみる

LightsailでPHPインスタンスを作成しHTTPSへのリダイレクトを設定してみます。
作成直後はカスタムドメインもロードバランサーも何も設定されていないので、割り当てられたIPアドレスでHTTPでのみアクセスが出来る状態です。

では、ここからまずはロードバランサーを構成し、HTTPSとカスタムドメインの構成を行います。
ネットワーキングタブからロードバランサーを作成しターゲットインスタンスをアタッチします。

インバウンドトラフィックタブで証明書を作成し、DNSホストゾーンへCNAMEレコードを登録して検証を行います。 検証後にHTTPSリスナーへの証明書の割り当てが出来るようになります。
ロードバランサー作成時にあわせてカスタムドメインにCNAMEレコードの登録もすませておきます。

検証出来たらHTTPS構成出来るようになるのですが、今回のオプションではHTTPからHTTPSへのリダイレクトを有効化出来るオプションが追加されています。
この機能はいつでもON/OFFが出来ます。

有効化してみます。
HTTPSでのアクセス時は通常どおりアクセス出来ます。

HTTPでアクセスするとリダイレクトされていますね。
このように、ミドルウェアに手を加えずにリダイレクトが実現出来るようになりました。

$ curl -I http://lightsail.tak1wa.com/ 
HTTP/1.1 301 Moved Permanently
Server: awselb/2.0
Date: Wed, 27 Apr 2022 00:24:44 GMT
Content-Type: text/html
Content-Length: 134
Connection: keep-alive
Location: https://lightsail.tak1wa.com:443/

TLSセキュリティポリシー

今回のアップデートでTLSセキュリティポリシーが設定出来るようになりました。
従来までは、Lightsailでは以下のようにセキュリティポリシーが設定出来ませんでした。

Application Load Balancer では、使用可能なオプションからセキュリティポリシーを選択できます。このオプションを使用すると、ロードバランサーに不要な TLS バージョンを無効にすることができます。Lightsail ロードバランサーはこの機能を提供しません。

Lightsail または Amazon EC2 を使用する際の考慮事項

そのため、TLS1.2が使えない古いブラウザへの対応など、不要なTLSバージョンの無効化が出来ない状態でした。
ちなみに、ELBではこれまでもセキュリティポリシーの設定は可能です。

やってみる

先程のロードバランサーのインバウンドトラフィックタブに「TLSセキュリティプロトコル」の項目が追加されています。

ここでは、TLSバージョン1.0, 1.1, 1.2かTLSバージョン1.2のみかを選ぶことが出来ます。
ここでは、TLS1.2のみに変更しTLS1.2を無効化したブラウザでアクセスしてみます。

Internet ExplorerのインターネットオプションでTLS1.2を無効化してアクセスしてみましょう。

アクセスできないですね。

では、ブラウザの設定でTL1.2を有効化するとどうなるでしょうか。

こちらは期待どおりアクセスが出来るようになりました。

さいごに

本日はLightsailに追加されたHTTPS関連のアップデートを2つご紹介しました。

まずは、より簡単にHTTPからHTTPSへのリダイレクトが出来るようになりました。
こちらは今後はALBのようにデフォルトで使われていくと思います。

また、TLSセキュリティポリシーが選択出来るようになったことで、コンプライアンスやセキュリティ標準によって特定のTLSプロトコルバージョンを無効にする必要があり、いままでLightsailが選択できなかったシーンでも今後は利用出来るようになる可能性が出てきましたね。