リソース予約は、ご利用の Application Load Balancer (ALB) インスタンスにベースラインとなる Load Balancer キャパシティユニット (LCU) を設定します。高負荷のシナリオにおいて、ALB は自動スケーリングを待つことなく、この予約容量を即座に使用してトラフィックの急増に対応します。これにより、サービスの可用性と安定性が向上します。ALB インスタンスは引き続き自動でスケーリングしますが、設定された予約容量に相当するパフォーマンスベースラインを保証します。予約した LCU の数に基づいて、1 時間ごとに課金されます。
リソース予約の利用シーン:
運用アクティビティを開始するにあたり、突発的なトラフィックの急増が予想され、イベント中に ALB がピークトラフィックをサポートできることを保証する必要がある場合。
ビジネスにバースト性があり、トラフィックの急増を効果的に予測できない場合。
サービスが公開または移行される際に、自動スケーリングを待つのではなく、最初から ALB が高いパフォーマンスを発揮する必要がある場合。
ビジネス要件を満たすために確定的なキャパシティを維持する必要がある場合。
Server Load Balancer (SLB) インスタンス間の移行を実行しており、ターゲットインスタンスのパフォーマンスをソースインスタンスと一致させたい場合。
適用範囲
リソース予約機能は、デフォルトでは有効になっていません。Quota Hub に移動して、特典クォータを申請できます。
リソース予約は、アップグレードされた ALB インスタンスでのみサポートされています。アップグレード前の ALB インスタンスでは、この機能はサポートされていません。ALB インスタンスのクローン作成機能を使用して、既存の ALB インスタンスからアップグレードされたインスタンスにサービスを手動で移行できます。
リソース予約は、Standard Edition および WAF 有効化 ALB インスタンスでのみサポートされています。Basic Edition の ALB インスタンスでは、この機能はサポートされていません。ALB インスタンスのエディションをアップグレードできます。
リソース予約の設定
リソース予約を設定するには、インスタンスに [実行中] 状態のリスナーが少なくとも 1 つ必要です。
インターネット向け ALB インスタンスは、デフォルトで Elastic IP アドレス (EIP) を介してパブリックネットワークアクセスを提供します。リソース予約には EIP の帯域幅予約は含まれません。より多くの帯域幅を取得するには、EIP を購入して 共有帯域幅インスタンスに追加します。Anycast EIP を使用する場合は、Anycast EIP のピーク帯域幅を増やすことができます。
予約された LCU キャパシティは、ALB インスタンスがデプロイされているゾーンに均等に分散されます。リソース予約で最適なパフォーマンスを得るには、ALB インスタンスを少なくとも 2 つのゾーンにデプロイし、各ゾーンに同数のバックエンドサービスを設定し、クロスゾーン負荷分散を有効にしてください。
コンソール
ALB コンソールで、対象のインスタンスを見つけてその ID をクリックします。[インスタンス詳細] ページで、[リソース予約] タブを選択し、[LCU リソース予約] をクリックします。
[予約キャパシティの見積もり] 方法を選択します:
参照値に基づく見積もり:過去のトラフィックデータがある場合は、[参照 SLB インスタンス] ドロップダウンリストから対象の ALB インスタンスを選択します。チャートには、過去の [ピーク LCU] が表示されます。[ピーク LCU] の値は、過去のトラフィックピーク時に ALB インスタンスが消費した最大処理性能を反映しています。
手動見積もり:過去のトラフィックデータがない場合は、ALB インスタンスのトラフィックを見積もり、[ピーク帯域幅] と [新規接続数] を入力します。システムが計算した [見積 LCU] を参照値として使用できます。
参照値に基づいて [予約 LCU 合計] を入力し、[OK] をクリックします。最小予約数は 100 LCU です。最大キャパシティは、ご利用のクォータによって制限されます。
金融取引などの遅延の影響を受けやすいシナリオがビジネスに含まれる場合、リソース予約は、より低い転送遅延を得るために、低遅延ネットワークポリシーまたは緩やかなアフィニティポリシーを持つデプロイメントセットのいずれかにリソースをデプロイすることをサポートします。アクセスをリクエストするには、アカウントマネージャーにお問い合わせください。
API
ModifyCapacityReservation を呼び出して、リソース予約を設定します。
リソース予約の表示
コンソール
ALB コンソールで、対象のインスタンスを見つけてその ID をクリックします。[インスタンス詳細] ページで、[リソース予約] タブを選択します。
[リソース予約] セクションでは、[予約ステータス] や [予約 LCU] などの情報を表示できます。
[ロードバランサーの LCU 使用量] セクションでは、[予約 LCU] と [ピーク LCU] を比較して、[予約 LCU] の使用状況を確認できます。
詳細については、「リソース予約のメトリクス」をご参照ください。
API
DescribeCapacityReservation を呼び出して、リソース予約のステータスをクエリします。
次の表に、リソース予約の取りうるステータス値を示します。
ステータス | ステータスの説明 | 変更またはキャンセル可能か |
保留中 | リソース予約が設定中です。 | いいえ |
準備完了 | 予約容量の準備が完了し、使用可能です。 | はい |
失敗 | 現時点ではリソース予約リクエストを完了できません。 | はい |
リバランス中 | ゾーンが追加または削除され、ロードバランサーがキャパシティをリバランスしています。 ALB インスタンスのゾーン数が変更されると、総キャパシティをゾーン間で均等に再配分するために、自動的にリバランスがトリガーされます。 | いいえ |
リソース予約の変更またはキャンセル
各 ALB インスタンスの予約容量のアップグレードは無制限に行えます。ただし、スペックダウンまたはキャンセルの合計は、1 日あたり最大 2 回までです。
予約容量に対応する基盤となるパフォーマンスメトリクスが、ALB インスタンスの自動スケーリングの最大パフォーマンスを超える場合、予約が準備完了になってから 7 日間は、スペックダウンまたはキャンセルはできません。
コンソール
ALB コンソールで、対象のインスタンスを見つけてその ID をクリックします。[インスタンス詳細] ページで、[リソース予約] タブを選択します。
予約 LCU キャパシティを変更するには、[LCU リソース予約] をクリックし、[予約 LCU 合計] に新しい値を設定してから、[OK] をクリックします。
リソース予約をキャンセルするには、[リソース予約のキャンセル] をクリックし、[OK] をクリックします。
API
ModifyCapacityReservation を呼び出して、リソース予約を変更またはキャンセルします。
課金詳細
ALB LCU 料金は 1 時間ごとに請求されます。課金サイクルは 1 時間です。課金サイクル内で 1 時間未満の使用量は、1 時間として請求されます。課金サイクル内で、システムは最初の予約 LCU 数と変更後の数を比較します。システムは最大値を使用して予約 LCU 料金を計算します。
実際の LCU 使用量 ≤ 予約 LCU 数の場合、請求には予約 LCU 料金のみが含まれます:
予約 LCU 料金 = 予約 LCU の単価 × 予約 LCU 数
実際の LCU 使用量 > 予約 LCU 数の場合、請求にはLCU 料金と予約 LCU 料金の両方が含まれます:
LCU 料金 = LCU の単価 × (実際の LCU 使用量 − 予約 LCU 数)予約 LCU 料金 = 予約 LCU の単価 × 予約 LCU 数
予約 LCU の単価は、LCU 単価と同じです。実際の価格は購入ページに表示されます。
リソースプランは、予約 LCU キャパシティの料金を相殺できません。リソースプランは、予約キャパシティを超えた LCU 使用量の料金のみを相殺できます。
次の表は、各課金サイクルにおけるさまざまな使用状況と予約構成に基づいた ALB インスタンスの課金例です。
課金サイクル | 主な操作とイベント | 実際の LCU 使用量 | 予約 LCU 数 | 料金 |
10:00:00–10:59:59 |
| 20 | - | この時間の LCU 料金 = 0.007 USD/ユニット × 20 = 0.14 USD |
11:00:00–11:59:59 |
| 30 | 100 | この時間の予約 LCU 料金 = 0.007 USD/ユニット × 100 = 0.7 USD |
12:00:00–12:59:59 |
| 150 | 100 | この時間の LCU 料金 = 0.007 USD/ユニット × (150 − 100) = 0.35 USD この時間の予約 LCU 料金 = 0.007 USD/ユニット × 100 = 0.7 USD |
13:00:00–13:59:59 |
| 110 | 120 | この時間の予約 LCU 料金 = 0.007 USD/ユニット × 120 = 0.84 USD |
14:00:00–14:59:59 |
| 30 | 120 | この時間の予約 LCU 料金 = 0.007 USD/ユニット × 120 = 0.84 USD |
クォータ
クォータの調整をリクエストするには、アカウントマネージャーにお問い合わせください。
クォータ名 | 説明 | デフォルト値 |
alb_quota_reserved_capacity_units_per_loadbalancer | ALB インスタンスあたりの最大予約 LCU キャパシティ | 5,000 |
alb_quota_reserved_capacity_units_per_region | リージョンあたりの最大予約 LCU キャパシティ | 20,000 |
よくある質問
予約する LCU キャパシティはどのように決定すればよいですか?予約量が多すぎたり少なすぎたりするとどうなりますか?
予約量が多すぎると、使用されていない予約 LCU に対しても支払いが発生するため、不要なコストがかかります。予約量が少なすぎると、トラフィックのピークを完全にカバーできず、一部のトラフィックが自動スケーリングを待つことになり、サービスの安定性に影響を与える可能性があります。「リソース予約の設定」で説明されているようにリソースを見積もり、これをストレステストと組み合わせて妥当な値を決定できます。観測された予約 LCU の使用状況に基づいて、後で値を調整できます。
リソース予約をスペックダウンまたはキャンセルした後、課金はいつ変更されますか?
スペックダウンまたはキャンセルが成功すると、次の課金サイクルの開始時に有効になります。たとえば、14:30 に予約をキャンセルした場合、14:00:00–14:59:59 の課金サイクルは、その時間帯にアクティブだった最も高い予約 LCU 数に基づいて請求されます。予約 LCU 料金は、15:00 以降は請求されなくなります。