はじめに

2025/8/25に国立研究開発法人理化学研究所様における Google Cloud を利用した Nextflow 実行環境の導入事例が公開されました。

アイレットはインフラ構築について支援させていただきました。
該記事はインフラ構築の裏側について解説する記事となります。
今回は Cloud Workstations におけるプライベートゲートウェイの構成 に関する内容となります。

事例に関連するその他記事はこちら:

概要

今回は Cloud Workstations におけるプライベートゲートウェイ型の選定理由と構成時の注意ポイントに関する内容となります。

Cloud Workstations とは

コンテナベースのマネージド開発環境サービスで、IDE、ツール、構成及びセキュリティが共通化されたワークステーションをデプロイすることができます。1 ワークステーションに対して複数ユーザで利用することや、ユーザ毎でワークステーションを利用することも可能です。

今回の利用目的

Nextflow を利用して rnaseq を動作させることを目的としており、またセキュアな環境で実行することを検討するにあたり、Cloud Workstations を採用しました。

プライベートゲートウェイ型とパブリックゲートウェイ型

プライベートゲートウェイ型 では Cloud Workstations の環境が VPC 内に構築される形になり、VPC 内から接続するか、Interconnect ないし VPN 経由で接続する必要があります。なお、パブリックゲートウェイ型はインターネット越しのアクセスが可能となります。
今回はセキュリティを担保するためにプラベートゲートウェイ型を採用させていただきましたが、共通での開発環境のみをお望みの場合、パブリックゲートウェイ型を選択することでより気軽に利用可能な環境となります。プライベートゲートウェイ型の詳細手順はVPC Service Controls と限定公開クラスタを構成するにも記載がありますが、いくつかのポイントを踏まえて、プライベートゲートウェイ型についてご紹介します。

構成

構成図

  • 他パブリッククラウド と VPN でつなぎ、他パブリッククラウドの仮想デスクトップ から Google Cloud の Cloud Workstations へ接続します
  • Cloud Workstations をプライベートゲートウェイ型として、VPC 内に構築しています
  • Cloud Workstations はインターネットには出られないため、Private Service Connect を利用した限定公開アクセスを利用しております。
  • 今回コンテナをカスタマイズしているため、Artifact Registry にカスタマイズしたコンテナを保存しております。

プライベートゲートウェイ型での構築ステップ

Cloud Workstations 構築

Cloud Workstations 構築は以下のステップで行います。

  • クラスタの作成
  • ワークステーションの構成の作成
  • ワークステーションの作成

周辺サービスも含めると以下の図のようになります。

前提

  • VPC はすでに作成されている
  • Google API 用 Private Service Connect は作成されている(限定公開クラスタ用ではない)

クラスタの作成


クラスタの作成では、どの VPC に作成するか、どのサブネットワークに作成するか、を設定し、ゲートウェイの種類を選択する必要があり、今回のケースではここをプライベートゲートウェイ型を選択します。

限定公開クラスタの接続の有効化


クラスタの作成後、クラスタの状態がデグレートとなることが想定されます。その場合、限定公開クラスタの接続を有効にする必要があります。

  • ワークステーションクラスタのサービスアタッチメント URI を対象とした PSC エンドポイントを作成します
  • 対象 URI が名前解決できるように DNS ゾーンを作成し、DNS レコードを作成します

ファイアウォールでの許可


ファイアウォール設定が厳しく行われている場合、ファイアウォールルールを構成するを参照し、ファイアウォールルールを設定しておく必要があります。内容としてはコントロールプレーンからの必要な通信の許可となります。

ワークステーションの構成


こちらでは実際に起動するコンテナ環境に関連する設定が多く含まれます。主要な項目としては以下となります。それぞれに主要と考えられる理由も補足しております。

  • 起動するマシンタイプ
    • 開発時に利用するアプリケーション、共同で利用するユーザ数に応じて必要なスペックのマシンタイプを選択します
  • 許可するポート
    • 暗号化するため、SSH でのアクセスが基本となりますが、ポート利用がほかで必要であれば、こちらで許可する必要があります(ファイアウォールで制御することも可能なので、主体を意識したほうが良いかもしれません)
  • パブリック IP アドレスを無効にする
    • プライベートゲートウェイ型の際に、外部からのアクセスは基想定しないケースが多いと思いますが、必要に応じて設定可能です
  • ネットワークタグ
    • ファイアウォールでコントロールプレーンからのアクセス許可をする必要があり、その際にネットワークタグ利用で許可することを考慮し項目としてあげています。
  • 利用するコンテナイメージ
    • ベースイメージを利用するか、カスタムを利用するかを設定する項目となるため、項目としてあげています。今回は開発者用の設定をしたコンテナを利用しているため、カスタムを設定しております。
  • サービスアカウント
    • セキュリティを意識する場合、デフォルトサービスアカウントを利用しないケースが多いと思いますが、その場合、適切な権限(コンテナ利用にあたり、Artifact Registry は必須とし、その他権限も用途に応じて必要 )を付与する必要があります。

ワークステーションの作成

ワークステーションの作成及び起動を行うことで、ワークステーションの構成で定義した内容をベースにワークステーションが構築されます。
作成後、ワークステーション利用者用に、ワークステーションのメニューからユーザを追加することで、そのユーザによる起動等を行うことが可能になります。

まとめ

当該記事ではプライベートゲートウェイ型を構築する際の注意ポイントを中心に設定のステップについて解説しました。一つ一つの対応手順については、Google Cloud のドキュメントを参照いただき、こちらは一連の内容としてプライベートゲートウェイ型で構築する際の全体像を見る際に閲覧いただければと思います。こちらで特に権限や通信制限周りでの起動不可原因に対して少しでも助けになれば幸いです。