Closed5

Cloud RunへのアクセスにIP制限をかける

kozkoz

Cloud RunでWebAppを公開しつつIP制限をかけるまで

kozkoz

Cloud Runにアプリをデプロイ

なんでもいいけど今回はNuxtアプリをデプロイする。

  1. 適当にNuxtアプリを作る
  2. Dockerfile作成
  3. Cloud Build を利用してContainer registryに格納しておく
    • gcloud builds submit --tag gcr.io/[PROJECT-NAME]/[APP-NAME]:[TAG] ./.
  4. Cloud Runにデプロイする
    • gcloud run deploy --image=gcr.io/[PROJECT-NAME]/[APP-NAME]:[TAG] --platform managed --port 3000

参考

https://ja.nuxtjs.org/docs/2.x/deployment/deployment-cloud-run

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" ]
kozkoz

Cloud Load Balancing の作成

1.「 HTTP(S) 負荷分散」を選択する
2. 「インターネットから自分の VM へ」を選択する
3. バックエンドの構成でバックエンドを作成する

4. フロントはHTTPSを指定し証明書を発行して、必要があれば静的IPを取得する

kozkoz

Cloud Armorで制限をかける

  1. ポリシーを作成を選択する
  2. ルールを追加する
    • 拒否に全てのIP (優先度を最低にする)
    • 許可に任意のIP(優先度を任意の値にする)
  3. ターゲットポリシーを作成したLBに設定する
kozkoz

上記の設定が済めば、Runへのアクセス時に許可されていないIPでは403が表示される

このスクラップは2021/08/28にクローズされました