こんにちは。山﨑です。
私は今、AWS re:Invent 2024でラスベガスに来ています!
2017年に初めて参加して以来、なんと7年ぶりの参加です。
この記事を執筆しているのがAWS re:Invent 2024の初日12/2なので、これから様々な発表があるのを楽しみにしているところです。
記事の目的
さて、この記事では、re:Invent前の2024年11月21日に発表された「AWS Application Load Balancer がヘッダー変更機能を導入し、トラフィック制御とセキュリティを強化」というニュースをご紹介するとともに、私の感想を書きたいと思います。
アップデートの内容
この変更には、ALBに対して3つの機能追加が含まれています。
- ロードバランサーが生成した特定のヘッダーの名前変更
- 特定のレスポンスヘッダーの挿入
- サーバーレスポンスヘッダーの無効化
この機能は、すべての商用AWSリージョン、AWS GovCloud(米国)リージョン、および中国リージョンのALBで利用できます。
これらの機能は、商用ロードバランサーにも備わっている機能です。
ヘッダー名の変更機能(TLS/mTLSヘッダー)
ALBは、6種類のmTLSヘッダーと2種類のTLSヘッダーの名前を変更することができるようになりました。これにより、特定のリクエストやレスポンスヘッダーを必要とするアプリケーションをサポートします。
参考:「HTTP header modification for your Application Load Balancer - Elastic Load Balancing」のRename Headers
多くの商用ロードバランサー(F5、BIG-IPなど)は、従来からこのような機能を提供していますが、AWSがALBの機能としてクラウドネイティブな形で提供することにより、柔軟な運用が可能になることが期待されます。
また、オンプレミスからAWSへアプリケーションを移行するとき、アプリケーションへの影響を最小限に抑えることが期待できます。
なお、一般的に、TLS/mTLSヘッダーの変更を必要とする主なケースとしては、次のようなものが挙げられます。ご参考までに。
- 既存アプリケーションとの互換性を維持したい
- 組織内で統一されたヘッダー命名規則を適用したい
- 使用しているプラットフォーム、クラウドプロバイダーを公開したくない
- マルチクラウド環境でヘッダー名を統一したい
セキュリティヘッダーの挿入(CORS、HSTS)
ALBがHTTPレスポンスに新しいレスポンスヘッダーを追加することができます。
セキュリティヘッダー、カスタム識別子、その他のメタデータの追加に特に有用です。
この機能もほとんどのエンタープライズ向けのロードバランサーでは対応されていますが、AWSがALBの機能として追加することにより、サーバーレスアーキテクチャとの統合が容易にできることが期待されます。
なお、CORS (Cross-Origin Resource Sharing) ヘッダーおよびHSTS (HTTP Strict Transport Security) ヘッダーが一般的にどのようなケースで利用されているかを参考として記載します。
CORSヘッダー
- ブラウザの同一オリジンポリシーを緩和し、許可された特定ドメインからのアクセスのみを安全に受け入れたい
- SPAやマイクロフロントエンド、APIなどで異なるドメイン間の通信を制御したい
- 意図しないクロスドメインリクエストによる情報漏洩やCSRF攻撃を防止したい
HSTSヘッダー
- HTTPSの使用を強制し、SSL Strippingなどの中間者攻撃を防止したい
- ブラウザに対して、ある期間中はHTTPSのみを使用するよう指示したい
- サブドメインを含めたすべての通信を暗号化したい
Serverレスポンスヘッダーの無効化
Serverレスポンスヘッダーは、HTTPレスポンスヘッダーの1つです。一般的にServerレスポンスヘッダーはWebサーバーのソフトウェアの種類やバージョン情報を示します。トラブルシューティングに役立ったりもしますが、外部からの攻撃のヒントになり得るため、無効化することで技術情報の無用な提供を防止し、セキュリティ強化に繋がります。
Serverレスポンスヘッダーの無効化機能も、商用ロードバランサーでは一般的な機能として存在していますが、AWSがALBの機能として提供することで、クラウドネイティブな環境において、Serverレスポンスヘッダーの無効化というセキュリティ対策の一元化が可能になります。
機能追加の意義
今回ALBに行われた機能追加には、以下に示すような意義があります。
クラウドネイティブな統合が容易になる
従来の商用ロードバランサーでも同様の機能は提供されていましたが、AWSのサービスとシームレスに統合できるため、導入が容易になります。
セキュリティ設定管理が簡素化される
アプリケーションのコードを変更することなく、セキュリティ設定を一元管理でき、クラウド環境での設定が、より直感的になります。
コスト効率が上がる
従来の商用ロードバランサーと比べて、必要な分だけ支払う料金体系になっているため、コスト効率が上がります。
おわりに
これらはALBの地味なアップデートのように見えるかもしれませんが、AWSのマネージドサービスの機能として提供されたことで、より多くのユーザーが容易にこれらの機能を利用できるようになったことが主な価値だと思います。