はじめに: なぜ VS Code でクラウド ML 開発が必要なのか

データサイエンティストや ML エンジニアであれば、ローカルの使い慣れた IDE でコードを書きつつ、大規模なデータ処理やモデル学習にはクラウドの高性能コンピューティングを利用したいと考えることは多いでしょう。しかし、環境の切り替えやノートブックの再設定、データの移動といった手間が発生し、開発効率を下げていました。

今回、Google Cloud が Workbench Notebooks 拡張機能 for VS Code をリリースし、この問題を解決しました。この拡張機能を使うことで、VS Code 内から直接 Google Cloud のスケーラブルなインフラを活用できます。ローカル開発環境の親しみやすさと、クラウドの強力なリソースを同時に手に入れることができるのです。

本記事では、拡張機能の主な機能、インストール方法、実務で役立つポイントをまとめます。

本編 1: Workbench VS Code 拡張機能の主な機能

クラウドノートブックを VS Code で管理

従来、Google Cloud の Workbench(旧 AI Platform Notebooks)を利用するには、ウェブ UI にアクセスする必要がありました。しかし、この拡張機能により、ローカルの VS Code から直接クラウドノートブックを作成、オープン、管理できるようになります。コードとノートブックが単一のインターフェースで統合され、コンテキストスイッチングの負担が大幅に軽減されます。

ML ライフサイクルの簡素化

この統合により、ML ライフサイクルがより柔軟になります。ローカルでの実験から、クラウドの高性能コンピューティングへの移行がシームレスに行えます。例えば、ローカルでデータ前処理やモデル設計を行い、学習はクラウドの GPU/TPU で実行するといった使い方が可能です。

オープンソースでコミュニティ主導の革新

Google Cloud はこの拡張機能を 完全オープンソース として公開しました。開発者コミュニティが直接機能を改善・拡張できることを意味します。これは単なるツール提供ではなく、エコシステム全体を発展させようとする意志の表れと言えるでしょう。

本編 2: インストールから実務適用まで – コードで見る

インストール方法

VS Code マーケットプレイスで「Google Cloud Workbench」を検索してインストールします。または、以下のコマンドで CLI からインストールできます。

# VS Code 拡張機能のインストール (ローカルターミナル)
code --install-extension google-cloud-workbench

クラウドノートブックの作成と接続

インストール後、Google Cloud プロジェクトに認証し、希望するマシンタイプを選択してノートブックインスタンスを作成できます。

# 例: Python でノートブックインスタンスを作成 (Google Cloud SDK を使用)
from google.cloud import notebooks_v1

client = notebooks_v1.NotebookServiceClient()

# インスタンス作成リクエストの例
request = notebooks_v1.CreateInstanceRequest(
    parent="projects/my-project/locations/us-central1",
    instance_id="my-workbench-instance",
    instance={
        "machine_type": "n1-standard-4",
        "install_gpu_driver": True,
        "metadata": {
            "proxy-mode": "service_account",
            "enable-oslogin": "TRUE"
        }
    }
)

operation = client.create_instance(request=request)
print("インスタンス作成中:", operation.operation.name)

ローカルでクラウドノートブックを実行

VS Code で拡張機能を通じてノートブックを開くと、カーネルをクラウドインスタンスに指定できます。これにより、ローカルでコードを書いても、実際の実行はクラウドで行われます。Jupyter ノートブックを扱うのと同じ感覚で、リソースはクラウドのものを使用します。

# ノートブックセルでクラウドリソースを確認
import os
print("現在の実行環境:", os.environ.get("GOOGLE_CLOUD_PROJECT"))
print("CPU コア数:", os.cpu_count())

これにより、ローカルマシンのスペックに制約されず、大規模なデータ処理やモデル学習をクラウドで実行できます。

本編 3: 注意点と高度なヒント

コスト管理

クラウドインスタンスは使用した分だけ課金されます。特に GPU を使用すると時間あたりのコストが高くなります。ノートブックを使用しないときはインスタンスを停止する習慣をつけましょう。VS Code 拡張機能にも停止ボタンがあるので、作業が終わったらすぐに停止することをお勧めします。

ネットワークとセキュリティ

クラウドインスタンスはデフォルトで VPC ネットワーク内にあるため、外部から直接アクセスできないように設定するのが良いです。IAM ロールを細かく調整し、OS Login を有効にして SSH キー管理も強化してください。

拡張機能の制限

まだ初期段階のため、一部の機能が制限されている場合があります。例えば、カスタムカーネルの使用や、特定のライブラリのインストール時にローカルとの互換性問題が発生することがあります。その場合は公式ドキュメントを参照するか、GitHub のイシューに貢献してみてください。

Google Cloud Workbench VS Code extension connecting local IDE to cloud AI infrastructure Algorithm Concept Visual

本編 1: Workbench VS Code 拡張機能の主な機能

クラウドノートブックを VS Code で管理

従来、Google Cloud の Workbench(旧 AI Platform Notebooks)を利用するには、ウェブ UI にアクセスする必要がありました。しかし、この拡張機能により、ローカルの VS Code から直接クラウドノートブックを作成、オープン、管理できるようになります。コードとノートブックが単一のインターフェースで統合され、コンテキストスイッチングの負担が大幅に軽減されます。

ML ライフサイクルの簡素化

この統合により、ML ライフサイクルがより柔軟になります。ローカルでの実験から、クラウドの高性能コンピューティングへの移行がシームレスに行えます。例えば、ローカルでデータ前処理やモデル設計を行い、学習はクラウドの GPU/TPU で実行するといった使い方が可能です。

オープンソースでコミュニティ主導の革新

Google Cloud はこの拡張機能を 完全オープンソース として公開しました。開発者コミュニティが直接機能を改善・拡張できることを意味します。これは単なるツール提供ではなく、エコシステム全体を発展させようとする意志の表れと言えるでしょう。

本編 2: インストールから実務適用まで – コードで見る

インストール方法

VS Code マーケットプレイスで「Google Cloud Workbench」を検索してインストールします。または、以下のコマンドで CLI からインストールできます。

# VS Code 拡張機能のインストール (ローカルターミナル)
code --install-extension google-cloud-workbench

クラウドノートブックの作成と接続

インストール後、Google Cloud プロジェクトに認証し、希望するマシンタイプを選択してノートブックインスタンスを作成できます。

# 例: Python でノートブックインスタンスを作成 (Google Cloud SDK を使用)
from google.cloud import notebooks_v1

client = notebooks_v1.NotebookServiceClient()

# インスタンス作成リクエストの例
request = notebooks_v1.CreateInstanceRequest(
    parent="projects/my-project/locations/us-central1",
    instance_id="my-workbench-instance",
    instance={
        "machine_type": "n1-standard-4",
        "install_gpu_driver": True,
        "metadata": {
            "proxy-mode": "service_account",
            "enable-oslogin": "TRUE"
        }
    }
)

operation = client.create_instance(request=request)
print("インスタンス作成中:", operation.operation.name)

ローカルでクラウドノートブックを実行

VS Code で拡張機能を通じてノートブックを開くと、カーネルをクラウドインスタンスに指定できます。これにより、ローカルでコードを書いても、実際の実行はクラウドで行われます。Jupyter ノートブックを扱うのと同じ感覚で、リソースはクラウドのものを使用します。

# ノートブックセルでクラウドリソースを確認
import os
print("現在の実行環境:", os.environ.get("GOOGLE_CLOUD_PROJECT"))
print("CPU コア数:", os.cpu_count())

これにより、ローカルマシンのスペックに制約されず、大規模なデータ処理やモデル学習をクラウドで実行できます。

Developer using VS Code with Google Cloud Workbench to run ML notebooks Developer Related Image

本編 3: 注意点と高度なヒント

コスト管理

クラウドインスタンスは使用した分だけ課金されます。特に GPU を使用すると時間あたりのコストが高くなります。ノートブックを使用しないときはインスタンスを停止する習慣をつけましょう。VS Code 拡張機能にも停止ボタンがあるので、作業が終わったらすぐに停止することをお勧めします。

ネットワークとセキュリティ

クラウドインスタンスはデフォルトで VPC ネットワーク内にあるため、外部から直接アクセスできないように設定するのが良いです。IAM ロールを細かく調整し、OS Login を有効にして SSH キー管理も強化してください。

拡張機能の制限

まだ初期段階のため、一部の機能が制限されている場合があります。例えば、カスタムカーネルの使用や、特定のライブラリのインストール時にローカルとの互換性問題が発生することがあります。その場合は公式ドキュメントを参照するか、GitHub のイシューに貢献してみてください。

Data science workflow with Google Cloud Workbench and Gemini Agent Platform Development Concept Image

まとめ: 実務での活用アドバイス

Google Cloud Workbench VS Code 拡張機能は、ローカル開発環境とクラウドインフラの間の障壁を取り除く革新的なツールです。特にデータサイエンスチームのコラボレーションにおいて、各自がローカルで作業したコードをクラウドで同じように実行できるため、再現性と生産性が大幅に向上します。

次のステップとして、この拡張機能を実際のプロジェクトに導入してみてください。簡単なデータ分析から始めて、徐々にモデル学習へと拡張することをお勧めします。また、チーム内で共有できるワークフローを作成するとさらに良いでしょう。

あわせて読みたい記事:

最後に、この拡張機能はオープンソースで開発されているため、コードを直接見て改善に参加することもできます。Google Cloud の機能を最大限に活用してください。

本コンテンツは、信頼性の高い情報源をもとにAIツールを活用して作成され、編集者によるレビューを経て公開されています。専門家によるアドバイスの代替となるものではありません。