リソース予約を設定することで、Application Load Balancer (ALB) インスタンスのロードバランサーキャパシティユニット (LCU) のキャパシティベースラインを確立できます。高負荷のシナリオにおいて、ALB はこの予約されたキャパシティを即座に使用してトラフィックのピークを管理できます。これにより、自動スケーリングを待つ必要がなくなり、サービスの可用性と安定性が向上します。ALB インスタンスは引き続き自動的にスケーリングしますが、そのパフォーマンスは予約されたキャパシティを下回ることはありません。予約された LCU 数に対して時間単位で課金されます。
リソース予約は、次のようなシナリオに最適です。
急激なトラフィックスパイクを引き起こす運用アクティビティを開始する予定があり、イベント中に ALB インスタンスがピークトラフィックを処理できることを保証したい場合。
ビジネスにバースト性があり、トラフィックスパイクを効果的に予測できない場合。
公開または移行中のサービスで、自動スケーリングを待つのではなく、最初から ALB インスタンスに高いパフォーマンスが求められる場合。
サービス要件を満たすために確定的なキャパシティを維持する必要がある場合。
Server Load Balancer インスタンス間の移行を実行しており、ターゲットインスタンスのパフォーマンスをソースインスタンスと一致させたい場合。
適用範囲
リソース予約機能は、デフォルトでは有効になっていません。この機能を使用するには、アカウントマネージャーに連絡してアクセスをリクエストしてください。
リソース予約は、アップグレードされた ALB インスタンスでのみサポートされています。ALB インスタンスのクローン作成機能を使用して、アップグレードされていない ALB インスタンスからアップグレードされたインスタンスにサービスを手動で移行できます。
標準および WAF 対応の ALB インスタンスのみがリソース予約をサポートします。Basic ALB インスタンスはサポートしていません。ALB インスタンスのエディションをアップグレードできます。
リソース予約の設定
リソース予約を設定するには、インスタンスに少なくとも 1 つのリスナーが [実行中] 状態である必要があります。
インターネット向け ALB インスタンスは、デフォルトで Elastic IP アドレス (EIP) を介してインターネットアクセスを提供します。リソース予約には EIP の帯域幅予約は含まれません。帯域幅を増やすには、EIP を購入し、Internet Shared Bandwidth インスタンスに追加してください。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 を呼び出して、リソース予約のステータスを照会します。
次の表に、リソース予約の取りうるステータス値を示します。
ステータス | ステータスの説明 | 変更またはキャンセルできます |
Pending | リソース予約が設定中です。 | いいえ |
Ready | 予約されたキャパシティは準備が完了し、使用可能です。 | はい |
Failed | 現時点ではリソース予約リクエストを完了できません。 | はい |
Rebalancing | ゾーンが追加または削除され、Server Load Balancer インスタンスがキャパシティをリバランスしています。 ALB インスタンスがデプロイされているゾーンの数に変更があると、自動リバランスがトリガーされ、総キャパシティがゾーン間で均等に再分散されます。 | いいえ |
リソース予約の変更またはキャンセル
各 ALB インスタンスの予約キャパシティのスペックアップは無制限に行えます。ただし、スペックダウンまたはキャンセルは、1 日あたり合計で最大 2 回までです。
予約キャパシティの基盤となるパフォーマンスメトリックが ALB インスタンスの最大自動スケーリングパフォーマンスを超える場合、予約が正常に作成されてから 7 日間はスペックダウンまたはキャンセルができません。
コンソール
ALB コンソールで、対象インスタンスの ID をクリックします。[インスタンス詳細] ページで、[リソース予約] タブを選択します。
予約 LCU キャパシティを変更するには、[LCU リソース予約] をクリックし、[予約 LCU 合計] に新しい値を設定して、[OK] をクリックします。
リソース予約をキャンセルするには、[リソース予約のキャンセル] をクリックし、[OK] をクリックします。
API
ModifyCapacityReservation を呼び出して、リソース予約を変更またはキャンセルします。
課金の詳細
ALB LCU 料金は時間単位で課金されます。課金サイクルは 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 の最大数に対して課金されます。予約に対する課金は 15:00 に停止します。