GCPのGoogle Cloud Load Balancer(GCLB)で特定のIPアドレスのみアクセスを許可したい場合がありますよね。あるとします。
GCPでIPアドレス制限したい場合は、ファイアウォール ルール を思い浮かべると思いますが、これはGCEに対しての設定であるため、GCLBには適用できません。
GCLBでIPアドレス制限をしたい場合は Cloud Armor を利用します。
本記事は Cloud Armor でGCLBのIPアドレス制限をする方法を紹介します。
Cloud Armorとは
主な機能としては以下が提供されています。AWS WAF と AWS Shield を合わせたものに近いですね。
- DDoS 対策(GA)
- IP 制限・Whitelist / Blacklist(Beta)
- 高度なルールでのアクセス制限(Alpha)
Cloud Armorの設定
ブラウザコンソール上の場所がやや分かりづらいのですが、「ネットワーク セキュリティ」から行くことができます。または検索窓からもいけます。
「ポリシーを作成」をクリックします。
1. ポリシーの設定
- 名前 : ポリシー名。ユニークである必要があります
- デフォルトのルール アクション : 後で設定するルールに該当しない場合のデフォルトアクション
- 拒否ステータス : デフォルトのルールアクションを拒否にした場合、Cloud Armorが返すHTTPステータスコードを指定できます
2. ルールの追加
許可やブロックするルールを追加します。
- 条件(IPアドレス/範囲): 許可または拒否するIPアドレスを指定します
- 1ルールあたり最大5つのIPアドレスが指定できます。5個以上指定したい場合はルールを追加します
- アクション : 指定したIPアドレスに対して許可または拒否するアクションを指定します
- プレビューのみ : チェックするとアクションを実行せず、Stackdriver Loggingにログが蓄積されます。ルールを適用せずに様子見したい場合に便利です
- 優先度 : ルールの優先度を設定します。1が最高です
3. ターゲットへのポリシー適用
作成したポリシーを適用するGCLB(のBackend Service)を指定します。