Googleが提供する「Cloud SDK」と「Cloud Tools」を使うことで、Visual Studioを使っていつもの操作感でGoogleのクラウド環境を利用できるかを見てみよう。
連載「Visual Studioで始めるGoogle Cloud Platformプログラミング」
Google Cloud Platform(以下、GCP)は、Googleが内部で利用しているインフラと同等なインフラを利用してサードパーティーがクラウド上でさまざまなプログラムやサービスを開発/運用するためのプラットフォームだ。
そして、開発マシンからGCPが提供する各種サービスにアクセスするために必要となるのが、Cloud SDKやCloud Tools for Visual Studio(以下、Cloud Tools)といったツール類になる(前回に取り上げたNuGetパッケージもCloud Toolsの一部)。
今回はCloud SDKとCloud Toolsがどんなものか、その概要を見ていこう。
Cloud SDKは「GCP上で実行されるプログラムや、そこに展開される各種リソースを操作、管理するためのコマンドラインツール群」のこと。Windowsに限らず、macOS/Linux向けのCloud SDKも提供されている(が、本稿ではWindowsでのみ動作を確認している)。後述するCloud Toolsでも使用されているので、Visual Studio(以下、VS)を利用してGoogleのクラウド環境にWebアプリを展開しようと考えているのであれば、Cloud SDKとCloud Toolsの両者が必要になることには注意しよう。
Cloud SDKが提供するコマンドは以下の3つ。
gcloudがメインのコマンドだ。このコマンドには、GCPが提供するさまざまなサービス(やサービスが提供する機能)を「グループ」として指定して、そのグループに対してどんな操作を行うかを「コマンド」として指定する。大枠としては「gcloud グループ コマンド」となり、ここにさらにさまざまなオプションを指定していくことになる。例えば、自分が関連しているプロジェクトを一覧するには「gcloud projects list」とする(上の画面でこれを行っている)。さらに細かく「gcloud compute images list」のようにグループとコマンドが連続する場合もある(このコマンドはGoogleが提供する仮想マシンサービスのCompute Engineで、仮想マシン作成に使えるOSイメージを一覧表示するもの)。
bqは、Googleが提供するビッグデータ解析サービス「BigQuery」に対するインタフェースとなるコマンド。gsutilは、Googleが提供するクラウド上のストレージ「Google Cloud Storage」を管理するためのコマンドだ。
本稿ではこれらのコマンドについて詳細には取り上げないが、先に述べた通り、VSからGoogleのクラウド環境にアクセスするには必須なので、忘れずにインストールしておこう。
Cloud Toolsは、「ASP.NETアプリをGoogleが提供するクラウド上の仮想マシンやアプリのホスティングサービスなどへ展開するために必要な機能」をVSに統合したものだと考えられる。
Googleのクラウド環境でWebアプリを実行するには、「App Engine」と呼ばれる「Webアプリやモバイルアプリのバックエンドなどを実行するためのPaaS」と、「Compute Engine」と呼ばれる「仮想マシンを実行するためのIaaS」、コンテナ環境である「Kubernetes Engine」がその選択肢となる。Cloud Toolsがあれば、VS内部からそれらの環境に対してASP.NETアプリを展開したり、そのために必要なリソースを管理したりといったことが簡単に行える。
VSに統合されているので、その操作感もVSの一般的なツール類と同様だ。つまり、ソリューションエクスプローラーでプロジェクトを右クリックすることで、GCP上のWebアプリホストサービスにアプリを発行したり、[Google Cloud Explorer]でクラウド上のリソースを表示、管理したりできる。使い慣れたVSを使って、いつもと同じ操作感で(Azureではない)Googleのクラウドサービスにシームレスに接続できるのがCloud Toolsのよいところといえるだろう。VSに統合されたCloud SDKの簡易的なシェルといってもよい(できることはCloud SDKの方が多いとは思うが)。
VS内部からGCP上の仮想マシンにASP.NETアプリを展開するには、VS側でASP.NETプロジェクトが、GCP側でASP.NETプロジェクトをホストするためのプロジェクトが必要だ。そして、GCP側のプロジェクトは前述のCloud SDKのgcloudコマンドで作成したり、Webブラウザを開いてGCPのコンソール画面から作成したりする必要がある(全てをVSで完結させられないという点では少し残念なところだ)。
以下では、これら2つのツールをインストールして、VSからGoogleのクラウド環境に仮想マシンを作成して、そこにASP.NETアプリを発行する手順を見てみよう。
Copyright© Digital Advantage Corp. All Rights Reserved.