手順
IPアドレスフィルタ
-
[ IP Address ]->[ Create Condition ]
-
名前は対象とフィルタリングルールが分かるように
-
左側の[ Rule ]
-
[ dose ]->[ origin from an IP adress in ]->IPアドレスグループ
-
[ Web ACLs ]->[ Create web ACL ]
-
Web ACL name
-
Region
-
Resource type to associate with web ACL -> ALB
-
AWS resource to associate -> 付与するALB
-
[ Set up a web access control list (web ACL)]は、既にルールを作っているので、そのまま次へ
-
[ Create rules ]では作成済みのルールを選択->[ Add rule to ACLs ]
-
Action を Allow
-
Default Action を Block
-
設定内容を確認して作成する
テスト環境(1ルール):月額$6 小規模サイト(6ルール、58Mビュー):月額$46 中規模サイト(6ルール、260Mビュー):月額$167
参考
「AWS WAF」を導入してみた。- String matching編 - Qiita
「AWS WAF」を導入してみた。- IP addresses編 - Qiita
CloudFront経由でユーザのヘッダでアクセス制限したい
開発者がChromeなどで設定する特殊な設定のリクエストヘッダーを元にアクセス制限したい。 現在IPアドレスで制限をかけているがコワーキングスペースなどだと動作確認ができない。
AWS WAFを利用してCloudFrontのELBオリジンへ直接アクセスを制限してみた | Developers.IO を参考にWAFのACL設定を考えていく
注 上記のページの要件は「CloudFront経由のみのアクセスにしたい」という要件のため、 「CloudFrontのリクエストヘッダー設定に追加する」という手順になっている、が、今回のここのケースは、 今回の私の要件では、CloudFrontではなく、Mac上のChrome上で設定したい、となる。
またCloudFrontが特殊な設定のヘッダーを通過させてくれるか(現状、ヘッダーはALLで許可している)
リクエストヘッダーは(上記ページを参考に)「 x-pre-shared-key 」「 X-PRE-SHARED-KEY 」としてみる。
ACL設定
順番としては、左側のメニューから
- Condition(条件の作り方で複数ある)
- Rules
- ACL の順番で作成する