このドキュメントでは、Google Compute Engine の Google Cloud Platform Node.js クライアント ライブラリを使用して、リクエストを承認する方法と Compute Engine 仮想マシン インスタンスの一覧を取得する方法について説明します。また、gcloud-node と google-api-nodejs-client の各ライブラリを使用して、仮想マシン インスタンスの内部と外部の両方から Compute Engine リソースにアクセスするサンプルも示します。このドキュメントでは、仮想マシン インスタンスの内部でアプリケーションを作成、実行する方法については説明していません。
他の Google クライアント ライブラリやサードパーティのオープンソース ライブラリを含む使用可能なすべてのクライアント ライブラリについては、クライアント ライブラリのページをご覧ください。
事前準備
最初に Node.js 開発用に環境を準備します。
Cloud プロジェクト
Google Cloud Platform Console でプロジェクトを作成し、課金を有効化します。このプロジェクトには、すべてのリソースが単一の名前空間に基づいて含まれます。また、課金は、プロジェクトでインスタンスを作成するために必要となります。
Cloud SDK
Cloud SDK には、Google Cloud Platform でのリソースの作成や管理を容易にするツールとライブラリが含まれています。お使いのプラットフォーム用の SDK を入手する方法については、Cloud SDK のインストール手順をご覧ください。
SDK のインストール後、デフォルト プロジェクトを認証して設定します。
$ gcloud init
Node.js 用の Google Cloud クライアント ライブラリを使う
@google-cloud/compute
ライブラリは、Google Cloud サービスにアクセスして操作するための、推奨される慣用的方法です。可能な限り、Google API クライアント ライブラリではなく、Google Cloud クライアント ライブラリを使用してください。Compute Engine API の Google Cloud クライアント ライブラリをインストールするには、次のコマンドを実行します。
$ npm install --save @google-cloud/compute
この演習の目的は、リクエストを承認する方法、および Google Cloud Node.js クライアント ライブラリで基本的な操作タスクを実行する方法を説明することです。
リクエストを承認する
このサンプルでは、OAuth 2.0 認証を使用します。OAuth 2.0 を使用してリクエストを承認する方法は多数ありますが、この例では、アプリケーションのデフォルト認証情報を使用します。この方法では、gcloud
ツールから認証情報を再利用できます。事前準備セクションで、このツールをインストールして承認しておく必要があります。
API を初期化する
リクエストを行う前に、まず Google Compute Engine サービスのインスタンスを初期化する必要があります。
インスタンスの一覧を取得する
承認されたインスタンスがあるので、クライアントを使用して Google Compute Engine API を呼び出すことができます。
プロジェクト内のインスタンスの一覧を取得するには、compute.getVMs()
を呼び出します。
全体の例を次に示します。
Node.js 用の Google API クライアント ライブラリを使う
google-api-python-client ライブラリには、Google API にアクセスするためのコア Node.js ライブラリが含まれており、OAuth 2.0 クライアント ライブラリも含まれています。このライブラリは Google REST API の低レベルラッパーであり、より慣用的な方法で Google Cloud Platform API にアクセスするには gcloud-node ライブラリを使用します。一般的なインストールは、次のように簡単なコマンドです。
$ npm install --save googleapis
ここでは、Google API Node.js クライアント ライブラリの使用方法として、リクエストを承認する方法と基本的な運用タスクを実行する方法を示します。
リクエストを承認する
このサンプルでは、OAuth 2.0 認証を使用します。OAuth 2.0 を使用してリクエストを承認する方法は多数ありますが、この例では、アプリケーションのデフォルト認証情報を使用します。この方法では、gcloud
ツールから認証情報を再利用できます。事前準備セクションで、このツールをインストールして承認しておく必要があります。
API を初期化する
リクエストを行う前に、まず Google Compute Engine サービスのインスタンスを初期化する必要があります。
インスタンスの一覧を取得する
クライアント インスタンスの承認が完了すると、クライアントから Google Compute Engine API の呼び出しが可能になります。
プロジェクト内のインスタンスの一覧を取得するには、compute.getVMs()
を呼び出します。
全体の例を次に示します。