カテゴリ: AWS 更新日: 2025/10/14

AWS WAFにレート制限(Rate-based Rule)を設定する方法

AWS WAFにレート制限(Rate-based Rule)を設定する方法
AWS WAFにレート制限(Rate-based Rule)を設定する方法

先生と生徒の会話形式で理解しよう

生徒

「先生、AWS WAFでアクセスが多すぎるときに制限をかける方法があるって聞いたんですが、それはどうやるんですか?」

先生

「いい質問ですね。それはレート制限、英語ではRate-based Rule(レート ベースド ルール)と呼ばれる仕組みです。短時間に大量のリクエストを送ってくるユーザーを制御するために使います。」

生徒

「それを使えばDDoS攻撃や不正アクセスを防ぐことができるんですか?」

先生

「そうです。完全に防ぐことは難しいですが、一定の制限をかけることで被害を減らすことができます。では、具体的な仕組みと設定方法を見ていきましょう。」

1. レート制限(Rate-based Rule)とは?

1. レート制限(Rate-based Rule)とは?
1. レート制限(Rate-based Rule)とは?

レート制限とは、一定の時間内に特定のIPアドレスから送られてくるリクエストの数を監視し、上限を超えた場合に自動的に制御する仕組みです。例えば「5分間に1000リクエストを超えたらブロックする」といったルールを設定できます。

AWS WAF(エーダブリューエス ワフ)はWeb Application Firewall(ウェブ アプリケーション ファイアウォール)の略で、こうしたルールを簡単に導入できるのが特徴です。

2. レート制限が必要な理由

2. レート制限が必要な理由
2. レート制限が必要な理由

Webアプリケーションは通常、多数のユーザーからアクセスされます。しかし攻撃者は短時間に大量のリクエストを送り、システムを負荷でダウンさせることがあります。このような行為を防ぐのがレート制限です。

具体的な攻撃例として、DDoS(ディードス)攻撃や総当たりログイン攻撃があります。こうした攻撃に対して、レート制限ルールを使うと安全性を大幅に高められます。

3. レート制限ルールの仕組み

3. レート制限ルールの仕組み
3. レート制限ルールの仕組み

レート制限ルールは「カウント」と「アクション」の組み合わせで動作します。

  • カウント(読み方はカウント)…指定時間内のリクエスト数を監視
  • アクション(読み方はアクション)…許可、ブロック、カウントを設定

例えば「5分間で2000リクエストを超えたらブロック」というように条件を指定できます。

4. AWSマネジメントコンソールでの設定手順

4. AWSマネジメントコンソールでの設定手順
4. AWSマネジメントコンソールでの設定手順

AWSマネジメントコンソールを使うと、初心者でも簡単にレート制限ルールを設定できます。手順は次の通りです。

  1. AWSマネジメントコンソールにログイン
  2. AWS WAFのダッシュボードを開く
  3. 「Web ACL(ウェブ アクセス コントロール リスト)」を選択
  4. 「ルールを追加」をクリック
  5. 「レートベースルール」を選択し、しきい値を入力(例:2000リクエスト/5分)
  6. アクションを「ブロック」または「許可」に設定
  7. 保存して有効化

この流れを押さえておけば、シンプルに制御を追加できます。

5. 実際に使える活用例

5. 実際に使える活用例
5. 実際に使える活用例

レート制限ルールはさまざまな場面で役立ちます。例えば以下のようなケースです。

  • ログインページに対する総当たり攻撃を防止
  • API(エーピーアイ)の呼び出し回数を制限
  • 特定のボットによるアクセスを制御

これにより、正規のユーザーを守りながら攻撃を最小限に抑えることができます。

6. レート制限と他ルールの組み合わせ

6. レート制限と他ルールの組み合わせ
6. レート制限と他ルールの組み合わせ

レート制限は単独で使うよりも、他のルールと組み合わせると効果的です。例えばIP制限ルールと併用して「特定の国からのアクセスは500回を超えたらブロック」といった制御が可能です。

また、カスタムルールやルールグループと組み合わせて使うと、よりきめ細かい防御が実現できます。

7. 運用時の注意点

7. 運用時の注意点
7. 運用時の注意点

レート制限は便利ですが、設定値を間違えると正規のユーザーまでブロックしてしまう恐れがあります。特にアクセスが集中するECサイトやイベントサイトでは注意が必要です。

まずは「カウント」モードでテストし、しきい値が妥当かどうかを確認してから「ブロック」に変更するのが安全です。

8. 初心者が押さえるべきポイント

8. 初心者が押さえるべきポイント
8. 初心者が押さえるべきポイント

初心者はまず、少し緩めの制限を設定して様子を見るのが良いでしょう。ログを活用して「どのくらいのアクセスが通常なのか」を把握することが大切です。その上で必要に応じて制限値を調整しましょう。

レート制限はAWS WAFを使ったセキュリティ対策の基本であり、他のセキュリティルールと組み合わせることで強力な防御が可能になります。

カテゴリの一覧へ
新着記事
New1
シェルとターミナル基礎
Linuxのシェルとは?初心者でもわかる役割と基本を完全解説
New3
Linux ディストリビューション
Linuxディストリビューションの選び方完全ガイド!初心者でも失敗しない選択基準とおすすめの選び方
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
S3(オブジェクトストレージ)
AWS S3イベント通知を設定してLambdaをトリガーする方法を初心者向けに解説!
No.4
Java&Spring記事人気No4
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.5
Java&Spring記事人気No5
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
No.6
Java&Spring記事人気No6
Direct Connect(専用線接続)
AWS Direct Connect Gatewayの使い方と制限事項を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.8
Java&Spring記事人気No8
Linux 基礎概要
Linuxとは何か?初心者向けに意味・特徴をわかりやすく解説