Closed5
Cloud RunへのアクセスにIP制限をかける
Cloud RunでWebAppを公開しつつIP制限をかけるまで
Cloud Runにアプリをデプロイ
なんでもいいけど今回はNuxtアプリをデプロイする。
- 適当にNuxtアプリを作る
- Dockerfile作成
- Cloud Build を利用してContainer registryに格納しておく
gcloud builds submit --tag gcr.io/[PROJECT-NAME]/[APP-NAME]:[TAG] ./.
- Cloud Runにデプロイする
gcloud run deploy --image=gcr.io/[PROJECT-NAME]/[APP-NAME]:[TAG] --platform managed --port 3000
参考
Dockerfile
FROM node:14
WORKDIR /src
COPY . ./
RUN npm install typescript
RUN npm install
EXPOSE 8080
ENV HOST=0.0.0.0
ENV PORT=8080
RUN npm run build
CMD [ "npm", "run", "start" ]
Cloud Load Balancing の作成
1.「 HTTP(S) 負荷分散」を選択する
2. 「インターネットから自分の VM へ」を選択する
3. バックエンドの構成でバックエンドを作成する
4. フロントはHTTPSを指定し証明書を発行して、必要があれば静的IPを取得する
Cloud Armorで制限をかける
- ポリシーを作成を選択する
- ルールを追加する
- 拒否に全てのIP (優先度を最低にする)
- 許可に任意のIP(優先度を任意の値にする)
- ターゲットポリシーを作成したLBに設定する
上記の設定が済めば、Runへのアクセス時に許可されていないIPでは403が表示される
このスクラップは2021/08/28にクローズされました