本日も乙

ただの自己満足な備忘録。

Cloud ArmorでGoogle Cloud Load Balancerへのアクセス元IPアドレスを制限する

GCPのGoogle Cloud Load Balancer(GCLB)で特定のIPアドレスのみアクセスを許可したい場合がありますよね。あるとします。
GCPでIPアドレス制限したい場合は、ファイアウォール ルール を思い浮かべると思いますが、これはGCEに対しての設定であるため、GCLBには適用できません。

GCLBでIPアドレス制限をしたい場合は Cloud Armor を利用します。
本記事は Cloud Armor でGCLBのIPアドレス制限をする方法を紹介します。

Cloud Armorとは

cloud.google.com

主な機能としては以下が提供されています。AWS WAFAWS Shield を合わせたものに近いですね。

  • DDoS 対策(GA)
  • IP 制限・Whitelist / Blacklist(Beta)
  • 高度なルールでのアクセス制限(Alpha)

Cloud Armorの設定

ブラウザコンソール上の場所がやや分かりづらいのですが、「ネットワーク セキュリティ」から行くことができます。または検索窓からもいけます。

cloud-armor1

「ポリシーを作成」をクリックします。

cloud-armor2

1. ポリシーの設定

cloud-armor3

  • 名前 : ポリシー名。ユニークである必要があります
  • デフォルトのルール アクション : 後で設定するルールに該当しない場合のデフォルトアクション
  • 拒否ステータス : デフォルトのルールアクションを拒否にした場合、Cloud Armorが返すHTTPステータスコードを指定できます

2. ルールの追加

cloud-armor4

許可やブロックするルールを追加します。

  • 条件(IPアドレス/範囲): 許可または拒否するIPアドレスを指定します
    • 1ルールあたり最大5つのIPアドレスが指定できます。5個以上指定したい場合はルールを追加します
  • アクション : 指定したIPアドレスに対して許可または拒否するアクションを指定します
  • プレビューのみ : チェックするとアクションを実行せず、Stackdriver Loggingにログが蓄積されます。ルールを適用せずに様子見したい場合に便利です
  • 優先度 : ルールの優先度を設定します。1が最高です

3. ターゲットへのポリシー適用

cloud-armor5

作成したポリシーを適用するGCLB(のBackend Service)を指定します。

参考