今後のライブストリーミングイベントに向けて、トラフィックの増加、予期しないトラフィック、不正なトラフィックに Amazon CloudFront で対処できるようにしたいと考えています。さらに、ディストリビューションのセキュリティを維持したいです。
解決策
ライブストリーミングのワークロードにおける配信設定を最適化する
ライブストリームのキャッシュとコンテンツ配信を最適化するには、キャッシュ動作設定 (例: パスパターン、ビューワープロトコルポリシー、許可する HTTP メソッド) を構成します。選択したリクエストヘッダーに基づいてキャッシュを行うよう、オプションを構成することもできます。
CloudFront がオブジェクトをキャッシュする期間を制御するには、オリジンでキャッシュコントロールヘッダー (例: Cache-Control: max-age、Cache-Control: no-cache) を設定します。
ライブストリームを提供するキャッシュ動作の最小保持期間 (TTL) 値を増やしてもかまいません。この調整を行うと、オリジンのトラフィック負荷が軽減され、CloudFront エッジキャッシュが処理できるリクエスト数を増やすことができます。
圧縮ファイルを提供するとダウンロードを高速化できます。データを表示できるアプリケーションを制限するには、フィールドレベルの暗号化を使用します。
オリジンのインフラストラクチャのスケーリングとプロビジョニング
予想されるトラフィックの急増に対処するには、要件に応じて、追加のオリジンサーバーまたはロードバランサーを構成します。予想される負荷に対処できるように、オリジンのインフラストラクチャがスケーリングされていることを確認してください。
セキュリティ対策を実装する
ライブストリーミングイベント中に、分散型サービス拒否 (DDoS) 攻撃やその他のセキュリティ脅威から保護するには、次の推奨事項を実施してください。
- AWS WAF をディストリビューションと統合してレート制限ルールを使用し、ボットや不正なトラフィックによるリクエストレートの増加を軽減します。
- AWS WAF Bot Control を使用し、有益なボット (例: 検索エンジンのクローラー) と、コンテンツをスクレイピングしたり悪意のあるアクティビティを行ったりする有害なボットを区別します。
- AWS Shield Advanced を使用し、CloudFront ディストリビューションとオリジンリソースに対する DDoS 攻撃からの保護を強化します。
コストの詳細については、「AWS Shield の料金」および「AWS WAF の料金」を参照してください。
重要なディストリビューションでリアルタイムログを有効にする
重要なディストリビューションでは、リアルタイムログを使用してトラフィックパターンを監視し、問題を迅速に特定します。
ディストリビューションをテスト、検証する
ライブストリーミングイベントの前に、潜在的な問題やボトルネックに対処するために、トラフィックの多い状況をシミュレートして配信とオリジンのインフラストラクチャをテストします。推奨事項のリストについては、「CloudFront の負荷テスト」を参照してください。
コンテンツ配信と可用性を最適化する
地理的制限とオリジンフェイルオーバーを利用すると、ライブストリーミングイベントの要件に合わせてコンテンツの配信と可用性を最適化できます。
予期しないトラフィックの急増に対処する
ライブストリーミングイベント中に予期しないトラフィックの急増や不正なトラフィックが発生した場合は、次の対策を講じてください。
想定されるトラフィックを予測する
イベントの前に、予想されるトラフィック負荷をできるだけ正確に予測します。
ライブストリーミングイベントの前にサポートケースを作成し、AWS サポートまたはテクニカルアカウントマネージャー (TAM) にトラフィック予測に関する通知を行ってください。ケースサマリーでは、必要な帯域幅と、ライブイベント中に予想される 1 秒あたりのピークリクエスト数を見積もってください。さらに、イベント中に使用する予定のディストリビューション ID も記載してください。
イベント期間中のディストリビューションを監視する
イベント中は、ディストリビューションのキャッシュマッチ、キャッシュミス、リクエスト総数、転送データ合計、エラー率などのメトリクスを入念に監視してください。パフォーマンスの低下や予期しないトラフィックの急増が検出された場合は、設定を調整してください。
関連情報
CloudFront と AWS Media Services でビデオストリーミングを配信する
Amazon CloudWatch で CloudFront メトリクスを監視する