ステップ 3: アクセスを構成する
このセクションでは、MDE のインストールを完了するために必要なデプロイ後の手順について説明します。
GKE クラスタの Filestore ドライバを有効にする
1.4.0 以降、MDE GKE クラスタはファイル ストア インスタンスを使用して JVM ヒープダンプを保存します。これにより、エンジニアリング チームは顧客の問題をより効果的にトラブルシューティングできます。Terraform の制限により、以前のバージョンの Autopilot クラスタではこのアドオンが有効になっていない場合があります。Pod が起動せず、ContainerCreating 状態になっている場合は、次のコマンドを使用して Filestore の CSI ドライバを有効にする必要があります。
gcloud container clusters update CLUSTER_NAME \
--update-addons=GcpFilestoreCsiDriver=ENABLED --region REGION_NAME
Identity-Aware Proxy の構成
Identity-Aware Proxy(IAP)を使用すると、MDE API とウェブ インターフェースの内部 IP に安全に接続できます。また、外部ロードバランサ オプションを使用してデプロイした場合は、MDE ウェブ インターフェースへの外部アクセスを承認済みユーザーのみに制限できます。
IAP を使用するには、まず OAuth 画面を構成し、IAP サービス API を有効にする必要があります。
Google Cloud コンソールで、[IAP] に移動し、[API を有効にする] をクリックします。完了までに数分かかることがあります。
IAP の OAuth 同意画面を構成します。
Google Cloud コンソールで、[セキュリティ] > [Identity-Aware Proxy] ページに移動し、MDE デプロイ プロジェクトを選択します。
プロジェクトの OAuth 同意画面を構成していない場合、構成するように指示されます。
- [同意画面を構成] をクリックします。
- [外部] ユーザータイプを選択し、[作成] をクリックします。
- 表示するアプリケーション名(例:
MDE)を入力します。 - [ユーザー サポートメール] で、一般公開される連絡先として表示するメールアドレスを選択します。メールアドレスは、ログインしているユーザー アカウントに属しているか、ログインしているユーザーがマネージャーまたはオーナーである Google グループに属している必要があります。
- [デベロッパーの連絡先情報] に移動し、プロジェクトに対する変更を Google からお知らせする際に使用するメールアドレスを入力します。
- オプションの詳細を追加します。
- [保存] をクリックします。
プロダクト名やメールアドレスなど、OAuth 同意画面の情報を後で変更する場合は、上記の手順を繰り返して同意画面を構成します。
IAP 経由の SSH トンネリング
MDE サービスのプライベート IP に接続するには、SSH 経由でプロキシを介してトンネルを確立します。これにより、Postman などのローカルツールを使用して MDE API を操作できます。
始める前に
一般的な IAP 構成の手順を完了していることを確認します。
標準の MDE デプロイでは、mde-proxy というプロキシ VM が作成されます。このマシンは、MDE API ゲートウェイまたは MDE ウェブ インターフェースへの受信リクエストをプロキシできます。この VM にはプライベート IP のみがありますが、IAP を使用すると、TCP 転送用の Identity-Aware Proxy(IAP)を使用して、このマシンへの安全な SSH トンネルを作成できます。このセクションの残りの部分では、mde-proxy にトラフィックをトンネリングするように IAP を構成する方法と、ワークステーションから mde-proxy へのトンネルを作成する方法について説明します。
Google Cloud コンソールで、[IAP] に移動して、[SSH と TCP リソース] をクリックします。
IAP の使用を承認されたユーザーに、IAP 経由で
mde-proxyに接続する権限を付与します。ユーザーが IAP を使用して
mde-proxyに接続できるようにするには、次の手順でroles/iap.tunnelResourceAccessorロールを付与します。リストから [mde-proxy] を選択します。
右側のパネルで [プリンシパルを追加] をクリックします。
アクセス権を付与するプリンシパルのメールアドレスを入力します。
IAP-secured Tunnel Userロールを選択します。
次のコマンドを使用して、MDE API へのトンネルを作成します。
export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy" \ --format="value(zone)") gcloud compute ssh mde-proxy \ --zone "$MDE_PROXY_ZONE" --tunnel-through-iap \ -- -N -L 8080:api.mde.cloud.google.com:80コマンドを実行すると、MDE API に
http://localhost:8080でアクセスできるようになります。MDE ウェブ インターフェースへのトンネルを作成します。
手順 3 で MDE API へのトンネルを作成した場合は、後でコマンドを実行するために新しいターミナルを開くことができます。MDE API と MDE ウェブ インターフェースへの SSH トンネルは並行して実行できます。
export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy" \ --format="value(zone)") gcloud compute ssh mde-proxy \ --zone "$MDE_PROXY_ZONE" --tunnel-through-iap \ -- -N -L 8081:ui.mde.cloud.google.com:80コマンドを実行すると、MDE ウェブ インターフェースに
http://localhost:8081でアクセスできるようになります。
ウェブ インターフェースの外部 HTTP ロードバランサへのアクセスを構成する
このセクションでは、IAP を使用して MDE ウェブ インターフェースの外部 HTTP ロードバランサへのアクセスを構成します。
MDE ウェブ インターフェースで外部 HTTP ロードバランサを有効にした場合は、IAP を使用して、承認されたユーザーのみにアプリケーションへのアクセスを制限する必要があります。
始める前に
次の前提条件を満たしていることを確認してください。
- MDE ウェブ インターフェースを使用して MDE をデプロイした。
- 外部 HTTP ロードバランサを使用して MDE ウェブ インターフェースをデプロイしました。
- 一般的な IAP 構成の手順を完了している。
手順
- Google Cloud コンソールで、[IAP] に移動します。
- [アプリケーション] をクリック
mde/mde-ui-ext-serviceサービスを選択します。[有効にする] トグルをクリックします。
構成要件を読み、同意します。
[オンにする] をクリックします。このオペレーションには数分かかることがあります。
IAP の使用を承認されたユーザーに MDE ウェブ インターフェースへのアクセス権を付与します。
- 右側のパネルで [プリンシパルを追加] をクリックします。
- アクセス権を付与するプリンシパルのメールアドレスを入力します。
IAP-secured Web App Userロールを選択します。
MDE ウェブ インターフェースの DNS を構成する
MDE ウェブ インターフェースで外部 HTTP ロードバランサを有効にした場合は、input.tfvars の変数 MDE_UI_DOMAIN_NAME に割り当てたドメイン名の A レコードを、デプロイされた外部 HTTP ロードバランサの IP アドレスに設定して、Google マネージド SSL 証明書のプロビジョニングを完了する必要があります。
次のコマンドを使用して、外部 HTTP バランサの IP アドレスを調べることができます。
gcloud compute addresses list --filter="name~'.*mde-ui.*'" --format="value(address)" --global
A レコードの作成方法について詳しくは、DNS ホストにお問い合わせください。