スタンダード環境で Java アプリを作成する
リージョン ID
REGION_ID
は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r
が App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。
詳しくは、リージョン ID をご覧ください。
このクイックスタートでは、サンプルアプリを App Engine にデプロイする方法を説明します。App Engine 向けアプリのコーディングに関する詳細については、アプリの構築をご覧ください。
App Engine が最適なコンピューティング オプションかどうか不明な場合は、Google Cloud 上でアプリケーションをホストするためのその他の方法をご覧ください。
費用
このガイドの実行に伴う費用はありません。このサンプルアプリを実行するだけなら、無料の割り当てを超過することはありません。
始める前に
このクイックスタートでは、Java SE 11 Development Kit(JDK)がインストール済みであることを前提としています。このクイックスタートは Java 17(プレビュー版)でも使用できます。- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Build API を有効にします。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Build API を有効にします。
- Google Cloud CLI をインストールします。
-
gcloud CLI を初期化するには:
gcloud init
追加の前提条件
プロジェクトで App Engine アプリを初期化し、そのリージョンを選択します。
gcloud app create --project=[YOUR_PROJECT_ID]
表示された指示に従って、App Engine アプリケーションを配置するリージョンを選択します。
次の前提条件をインストールします。
- Git をダウンロードしてインストールします。
- Maven 3.5 以降をダウンロードしてインストールします。このクイックスタートでは、Apache Maven バージョン 3.5 以降を使用してサンプルアプリを構築、実行します。
App Engine のロケーション
App Engine はリージョナルです。つまり、アプリを実行するインフラストラクチャは特定のリージョンに配置され、そのリージョン内のすべてのゾーンで冗長的に利用できるように Google が管理しています。
レイテンシ、可用性、耐久性の要件を満たすことが、アプリを実行するリージョンを選択する際の主な要素になります。一般的には、アプリのユーザーに最も近いリージョンを選択できますが、App Engine が使用可能なロケーションと、アプリが使用するその他の Google Cloud プロダクトおよびサービスのロケーションを考慮する必要があります。使用するサービスが複数のロケーションにまたがっていると、アプリのレイテンシだけでなく、料金にも影響する可能性があります。
設定したアプリのリージョンは変更できません。
すでに App Engine アプリケーションを作成している場合は、次のいずれかの方法でそのリージョンを表示できます。
gcloud app describe
コマンドを実行します。Google Cloud コンソールの App Engine ダッシュボードを開きます。ページの上部にリージョンが表示されます。
Hello World アプリをダウンロードする
Java 11 / 17 用のシンプルな Hello World アプリが用意されており、Google Cloud へのアプリのデプロイをすぐに試すことができます。
Hello World サンプルアプリ リポジトリのクローンをローカルマシンに作成します。
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
または、zip 形式のサンプルをダウンロードして、ファイルを抽出します。
サンプルコードが含まれているディレクトリに移動します。
cd java-docs-samples/appengine-java11/springboot-helloworld
ローカルマシン上で Hello World を実行する
ローカルのパソコンで Hello World アプリを実行するには:
- Spring Boot Maven プラグインを使用して、ローカルのウェブサーバーを起動します。
mvn spring-boot:run
ウェブブラウザに次のアドレスを入力します。
http://localhost:8080/注: Cloud Shell を使用する場合は、代わりにツールバーの [ウェブでプレビュー] をクリックし、[ポート 8080 でプレビュー] を選択します。
サンプルアプリから Hello World というメッセージがページに表示されます。ターミナル ウィンドウで Ctrl+C キーを押してウェブサーバーを終了します。
Hello World を App Engine にデプロイして実行する
アプリを App Engine スタンダード環境にデプロイするには:-
springboot-helloworld
ディレクトリで次のコマンドを実行して、Hello World アプリをデプロイします。gcloud app deploy
オプションのフラグをご覧ください。
共通の
gcloud
コマンドフラグ- アプリのバージョンを一意に識別する ID を指定するには
--version
フラグを含めます。このフラグを含めない場合は自動的に生成されます。例:--version [YOUR_VERSION_ID]
gcloud
ツールでデフォルトとして初期設定したものに代わる Cloud プロジェクト ID を指定するには、--project
フラグを指定します。例:--project [YOUR_PROJECT_ID]
例:
gcloud app deploy --version pre-prod-5 --project my-sample-app
コマンドラインからアプリをデプロイする方法について詳しくは、アプリのテストとデプロイをご覧ください。すべてのコマンドフラグの一覧については、
gcloud app deploy
リファレンスをご覧ください。 - アプリのバージョンを一意に識別する ID を指定するには
-
ブラウザを起動し、
https://PROJECT_ID.REGION_ID.r.appspot.com
にアクセスしてアプリを表示します。gcloud app browse
ここでPROJECT_ID
は、Google Cloud プロジェクト ID です。
今回、Hello World メッセージが表示されるページは、App Engine インスタンスで実行されているウェブサーバーから配信されます。
これで完了です。App Engine スタンダード環境に最初の Java 11 / 17 アプリをデプロイできました。
クリーンアップの詳細については、以下の説明をご覧ください。また、活用できる次のステップへのリンクも併せてご覧ください。
クリーンアップ
課金されないようにするには、Cloud プロジェクトを削除してプロジェクト内のすべてのリソースへの課金を停止します。
- Google Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
次のステップ
プラットフォーム全体について学習する
App Engine アプリの開発とデプロイについて概要を理解した後は、Google Cloud の残りの部分についても確認します。すでに Google Cloud CLI がインストールされているため、Cloud SQL、Cloud Storage、Firestore などのプロダクトを操作するツールを使用できます。
App Engine スタンダード環境について学ぶ
App Engine についてさらに理解を深めるためのトピックをご紹介します。