リージョン 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 ランタイム環境をご覧ください。
始める前に
- App Engine アプリで Google Cloud プロジェクトを作成します。
- App Engine にデプロイできる状態の Node.js ウェブサーバーを作成します。
- Google Cloud CLI をインストールします。これには
gcloud
コマンドライン ツールが含まれています。デプロイ先の Google Cloud プロジェクトを使用するようにgcloud
が構成されていることを確認します。
要点
gcloud app deploy
と gcloud 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
ファイルで指定できます。名前を省略すると、default
として扱われます。デフォルトのサービスは、デプロイする最初のサービスにする必要があります。
サービスは、gcloud app deploy
コマンドを実行することで、いつでも更新できます。サービスをデプロイするたびに新しいバージョンが作成され、自動的に最新バージョンにトラフィックがルーティングされます。
サービスが作成されたこと、およびバージョンがデプロイされたことを確認するには:
Google Cloud コンソールで App Engine サービスを表示します。
default
という名前のサービスが 1 つ表示されます。このデフォルトのサービスは、次の URL で公開されています。https://PROJECT_ID.REGION_ID.r.appspot.com
バージョンを表示します。
デプロイに対応する、タイムスタンプ付きのバージョンが 1 つ表示されます。
特定のサービスおよびバージョンにリクエストを送信する方法については、リクエストのルーティング方法をご覧ください。
次のステップ
これで Node.js サーバーが App Engine 上で実行されている状態になったので、次はウェブサービスを更新する方法をご確認ください。