Help us understand the problem. What is going on with this article?

【GCP】BeyondCorp Remote Accessを実装してみた

リモートワークが盛り上がってきておりますが、VPNの代替としてGoogleが提唱しているBeyondCorp Remote Access。
結局どんなサービスなの?何を実装すればGoogleの言う、ゼロトラストは実現するの?っていうところなんですが、正直、まだ答えは出ていません。

一番明確にしないといけないのは、「GKE ingressを使って何が違うのか?」ってこと。
Googleとしては、GKE ingressを使うこと推奨しているのですが、HTTPSロードバランサと何が違うの?ってのがわからない。。

GKE ingressを「使ったとき」「使わなかったとき」両方試したので、簡単にまとめました。
今後また内容を修正する可能性はあります。

GKE ingressを利用しなかった時の設定

1.お名前.comにて、検証用のドメインを取得。
2.GCE上にインスタンスを作成し、テスト用アプリケーションを構築する。
3.作成したインスタンスを非マネージドインスタンスグループに登録する。
4.Cloud LoadBalancingをHTTPS負荷分散で作成。
 バックエンドを作成した非マネージドインスタンスグループにする。
 フロントエンドをHTTPSとし、マネージドSSHを利用し、テストドメインを登録する。
 固定IPを取得し、フロントエンドのドメインとIPをひもづける
5.DNSサーバのAレコードに取得した固定IPをひもづける
6.Oauthに同意する。
7.ACMに特定のIPのみ許可する設定を入れる。
8.IAPを設定し、許可したいアカウントをユーザに登録し、アクセスレベルに設定したACMのルールを適用する。

GKE ingressを利用したときの設定

1.お名前.comにて、検証用のドメインを取得。
2.GCE上にインスタンスを作成し、テスト用アプリケーションを構築する。
3.作成したインスタンスを非マネージドインスタンスグループに登録する。
4.GKEのクラスタを作成。
5.Serviceとingressにて、種類がノードポートのものをチェックし、ingressを作成する。
 項目はすべてデフォルト
6.Cloud LoadBalancingが作成されていることを確認。
7.Cloud LoadBalancingにて以下を設定。
 バックエンドを作成した非マネージドインスタンスグループにする。
 フロントエンドをHTTPSとし、マネージドSSHを利用し、テストドメインを登録する。
 固定IPを取得し、フロントエンドのドメインとIPをひもづける
8.DNSサーバのAレコードに取得した固定IPをひもづける
9.Oauthに同意する。
10.ACMに特定のIPのみ許可する設定を入れる。
11.IAPを設定し、許可したいアカウントをユーザに登録し、アクセスレベルに設定したACMのルールを適用する。

コンテナに疎いので、GKEingressについても、かなり調べました。
L7ロードバランサに鳴るということなのですが、HTTPSロードバランサでもOKなのでは?と思ってしまうんですよね。
このへんは、もう少し調べます。

Mune_robo
自身の備忘録的な感じで勉強・実装したことを中心に記事を書いてきます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away