リモートワークが盛り上がってきておりますが、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なのでは?と思ってしまうんですよね。
このへんは、もう少し調べます。