ウェブサービスのデプロイ

リージョン ID

REGION_ID は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r は App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。

詳しくは、リージョン ID をご覧ください。

このセクションでは、gcloud CLI を使用して Node.js ウェブサービスを App Engine にデプロイする方法を説明します。Node.js ランタイム環境の詳細については、Node.js ランタイム環境をご覧ください。

始める前に

  1. App Engine アプリで Google Cloud プロジェクトを作成します
  2. App Engine にデプロイできる状態の Node.js ウェブサーバーを作成します
  3. Google Cloud CLI をインストールします。これには gcloud コマンドライン ツールが含まれています。デプロイ先の Google Cloud プロジェクトを使用するように gcloud が構成されていることを確認します。

要点

gcloud app deploygcloud app browse を使用して、サービスをデプロイして表示します。

サービスをデプロイする

ターミナルで、app.yaml ファイルがある my-nodejs-service フォルダに入り、次のコマンドを実行します。

gcloud app deploy

ソースファイルが Google Cloud Storage にアップロードされます。Cloud Build がアプリをビルドし、App Engine にデプロイします。

アプリをビルドしてデプロイするほかの方法については、アプリのテストとデプロイをご覧ください。

.gcloudignore ファイルがない場合、node_modules フォルダをアップロードしないようにするために、このファイルが作成されます。

package.json ファイルと package-lock.json ファイルに記載されている Node.js モジュールがクラウドにインストールされ、npm start を使用してサービスが開始されます。

複数のサービスのデプロイ

プロジェクトに複数のサービスを追加するには、各サービスの app.yaml ファイルを作成します。各 app.yaml ファイルに service 属性を追加して、サービスの名前を指定します。複数のサービスを使用してアプリを構造化する方法については、App Engine でのウェブサービスの構造化をご覧ください。

複数のサービスをデプロイするには、こちらの手順に従ってください。デプロイされた各サービスには、独自の URL が割り当てられます。

サービスの表示

ブラウザを速やかに起動して https://PROJECT_ID.REGION_ID.r.appspot.com でウェブサービスにアクセスするには、次のコマンドを実行します。

gcloud app browse

サービスとバージョン

App Engine でサービスを作成してデプロイしました。サービスの名前は、app.yaml ファイルで指定できます。名前を省略すると、defaultdefault として扱われます。デプロイする最初のサービスを、デフォルトのサービスにする必要があります。

サービスは、gcloud app deploy コマンドを実行することで、いつでも更新できます。サービスをデプロイするたびに新しいバージョンが作成され、自動的に最新のバージョンにトラフィックがルーティングされます。

サービスが作成されたこと、およびバージョンがデプロイされたことを確認するには:

  1. Google Cloud コンソールで App Engine サービスを表示します。

    サービスを表示

    default という名前のサービスが 1 つ表示されます。このデフォルトのサービスは、次の URL で公開されています。

    https://PROJECT_ID.REGION_ID.r.appspot.com

  2. バージョンを表示します。

    バージョンを表示

    デプロイに対応する、タイムスタンプ付きのバージョンが 1 つ表示されます。

特定のサービスおよびバージョンにリクエストを送信する方法については、リクエストのルーティング方法をご覧ください。

次のステップ

これで Node.js サーバーが App Engine 上で実行されている状態になったので、次はウェブサービスを更新する方法をご確認ください