新機能のロードバランサーキャパシティユニット (LCU) 予約で、ALBの暖機を試みてみた
2024年11月20日、Elastic Load Balancing の アプリケーションロードバランサー (ALB)と、ネットワークロードバランサー (NLB) で、ロードバランサーキャパシティユニット (LCU) 予約機能がサポートされるようになりました。
従来、突発的なアクセス増加に備えるために必要だったAWSサポートへの暖機申請が、この機能により利用者側で設定、管理する事が可能になりました。
今回、キャパシティユニット予約を用いた暖機をALBで試みる機会がありましたので紹介させていただきます。
Load Balancer Capacity Unit Reservation for Application and Network Load Balancers
サービスクォーター
キャパシティユニット予約の利用にあたり、まずサービスクォーターを利用した上限緩和手続きを実施します。
- ALBの設定画面の「キャパシティ」タグから、サービスクォーターに遷移します。
- キャパシティ予約を行うALBと同じリージョンを指定します。
- Reserved Application Load Balancer Capacity Units (LCU) per Region」の引き上げリクエストを選択します
- キャパシティ予約の最小単位100LCUに合わせた値で、リクエストを申し込みました。
100LCUのリクエストは、申込後数分程度で完了しました。
大きな値としたリクエスト、AWSサポートからユースケースの確認が求められるなど時間がかかる場合があります。
段階的な拡張、なるべく余裕を持ったスケジュールで実施頂くことをおすすめします。
LCU予約
- ALBの設定画面の「キャパシティ」タグから、キャパシティ予約を実施しました。
- 過去一週間のLCUピーク値を参考に、キャパシティ予約値を指定します。
-
今回、キャパシティ予約値(Load Balancer Capacity Units ) は100 LCU を指定しました。
-
冗長 (Redundancy)指定の利用が推奨されていますが、今回のテスト環境、耐障害性は必要としないため省略しました。
-
Redundancy指定を実施する場合、この分を含めたサービスクォーターの申請が必要です。
-
今回予約を試みたELBは2つのAZを利用、1AZあたり50 LCUが割り当てられました。
‐ 3つのAZを利用するELBで100LCUを予約した場合、1AZに割り当てられるLCUは33.33になります。
確認
LCU100のキャパシティ予約実施後、ELBが利用するネットワークインターフェース(ENI)数、2から4に増加している事が確認できました。
ALBのノード追加による増強が実施されたものと推測されます。
- 予約前
- 予約後(LCU100)
キャンセル
キャパシティ予約のキャンセルを試みました。
予約のキャンセル、1日あたり2回の回数制限が存在。
超過した場合、翌日(UTC時間0時)を待つ必要がある点にご注意ください。
まとめ
ELBが備えるオートスケールでは間に合わない突発的なアクセス増加に備えるため、
従来、AWSサポートを利用した暖機申請相当が、今回のアップデートでユーザ側で完結する形で利用出来るようになりました。
また負荷試験を実施する際、ELBがボトルネックとなり試験に失敗する事態の回避対策としても効果が期待できると思われます。
キャパシティ予約を実施したALBは、予約コスト以外に、予約規模に比例して増強されるノードによりターゲットに対するヘルスチェック負荷や、サブネットで利用できるプライベートIPの圧迫などを引き起こす可能性があります。
特に大きなキャパシティ予約を実施される場合には、事前に検証環境でのリハーサルと、必要な性能が問題なく確保できている事について、負荷試験を実施して確認される事をお勧めします。
参考リンク