GCS+LB構成の静的サイトに対してIP制限をかけるために、Cloud Armor使ってハマった時の忘備録。
結論諦めました。何かいい方法知ってる人いたら教えてください。
やりたいこと
GCS+ロードバランサ構成の静的サイトに対して、IP制限を行いたい。
Cloud ArmorでGoogle Cloud Load Balancerへのアクセス元IPアドレスを制限する - 本日も乙
ふむふむ、どうやらこの記事を見るとロードバランサに対するIP制限はGoogle Cloud Armorというサービスを使えばできるみたい。
ちなみに
- GCS自体にIP制限はできない
- ファイアウォールはロードバランサに設定できない(GCEに対してのみできる)
さて、Cloud Armorで設定しよう!
つまったこと
Google Cloud Platformを開き、ポリシー作成画面を開く。
名前を入力して・・・ん?
あれ、ターゲットが指定できない・・・?
作成しているはずのロードバランサが入力欄に出てこない。
原因
バックエンドサービスとバックエンドバケットは別物
それぞれの違いを確かめる。
バックエンドサービス・・・GCEインスタンスグループまたはNEGから構成されるもの
バックエンドバケット・・・GCSから構成されるもの
紛らわしい!泣
バックエンドバケットは指定できないのか・・・しょんぼり。
SDKコマンドも確認したけど、バックエンドサービスに比べてバックエンドバケットは設定できるオプションが少ないみたい。
gcloud compute backend-buckets update | Cloud SDK のドキュメント
gcloud compute backend-services update | Cloud SDK のドキュメント
(今回だと [--security-policy=SECURITY_POLICY] のオプション指定)
その他ためしたこと
IPじゃなくてバケットの権限で登録したユーザだけ閲覧できるようにしようかなと試したけど、
オブジェクト同士の読み取りができないせいでcss等が当たらずレイアウトがひどい感じに・・・
解決策
多分VPCとかこの辺りの記事見たらできるのかも。(投げやり)
専用線経由でお手軽にGCSを使ってみる! | apps-gcp.com
自分はもうAWSに浮気します。ごめんなさい。
おしまい。