arrow_back

App Engine: Qwik Start - Java

参加 ログイン

App Engine: Qwik Start - Java

30分 クレジット: 1

GSP068

Google Cloud セルフペース ラボ

概要

App Engine を使用すれば、デベロッパーは最も得意な作業、つまりコードを書くことに集中できます。App Engine スタンダード環境は、Google のインフラストラクチャで実行されるコンテナ インスタンスに基づいています。コンテナは利用可能な各種ランタイム(Java 8、Python 3.7、Go、PHP)の一つを使って事前構成され、各ランタイムには App Engine Standard API をサポートするライブラリが含まれます。多くのアプリケーションでは、おそらくこのスタンダード環境のランタイムとライブラリがあれば十分でしょう。

App Engine スタンダード環境を使用すると、大量のデータがあって負荷が高い状態でも確実に実行できるアプリケーションを構築、デプロイできます。App Engine スタンダード環境には次の機能が含まれます。

  • クエリ、並べ替え、トランザクションが可能な永続ストレージ
  • 自動スケーリングと負荷分散
  • リクエストの範囲外の作業を行うための非同期タスクキュー
  • 指定のタイミングまたは一定間隔でイベントをトリガーするための、スケジュール設定されたタスク
  • 他の Google Cloud サービスと API との統合

アプリケーションは、セキュリティ保護されたサンドボックス環境で実行されます。このため App Engine スタンダード環境では、リクエストを複数のサーバーに分散でき、トラフィック需要に合わせてサーバーがスケーリングされます。サーバーのハードウェア、オペレーティング システム、物理的場所に関係なく、安全性と信頼性の高い独自の環境でアプリケーションが実行されます。

このハンズオンラボでは、簡単なメッセージを表示する小規模な App Engine アプリケーションを作成する方法について説明します。

演習内容

このラボでは、次の方法について学びます。

  • GitHub リポジトリからスターター コードをダウンロードする。
  • Cloud Shell セッションからアプリケーションをローカルで実行する。
  • Google App Engine を使ってアプリケーションをデプロイする。

設定

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

必要なもの

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
  • ラボを完了するために十分な時間

注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。

注: Chrome OS デバイスを使用している場合は、シークレット ウィンドウを開いてこのラボを実行してください。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Google Cloud Shell の有効化

Google Cloud Shell は、デベロッパー ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Google Cloud Shell では、コマンドラインで GCP リソースにアクセスできます。

GCP Console の右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

Cloud Shell アイコン

[続行] をクリックします。

cloudshell_continue

環境のプロビジョニングと接続には少し時間がかかります。接続すると、すでに認証されており、プロジェクトは PROJECT_ID に設定されています。例えば:

Cloud Shell 端末

gcloud は Google Cloud Platform のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

次のコマンドを使用すると、有効なアカウント名を一覧表示できます。

gcloud auth list

出力:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

次のコマンドを使用すると、プロジェクト ID を一覧表示できます。

gcloud config list project
	

出力:

[core]
project = <project_ID>
	

出力例:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Google App Engine Admin API を有効にする

App Engine Admin API を使用すると、デベロッパーは App Engine アプリケーションのプロビジョニングと管理を行えます。

  1. 左側のメニューで、[API とサービス] > [ライブラリ] をクリックします。

APIs_Library.png

  1. 検索ボックスに「App Engine Admin API」と入力します。
  2. [App Engine Admin API] をクリックします。

e170aa8a1eb36686.png

  1. まだ設定されていない場合は [有効にする] をクリックします。ページは以下のようになります。

api.png

Hello World アプリをダウンロードする

このラボでは、Java で書かれたシンプルな Hello World アプリを使用して、Google Cloud Platform へのアプリのデプロイをすぐにお試しいただけます。次の手順に沿って、一時的な Google Cloud Shell 環境に Hello World をダウンロードしてください。

  1. 次のコマンドを実行して、Hello World サンプルアプリ リポジトリのクローンを作成します。

git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git

出力:

Cloning into 'getting-started-java'...
remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 7608 (delta 17), reused 23 (delta 14), pack-reused 7567
Receiving objects: 100% (7608/7608), 50.79 MiB | 24.17 MiB/s, done.
Resolving deltas: 100% (4166/4166), done.
  1. 次に、サンプルコードを含むディレクトリに移動します。

cd java-docs-samples/appengine-java8/helloworld

このフォルダにある src ディレクトリに、シンプルな HTTP サーブレットを実装する com.example.appengine.helloworld というパッケージが含まれています。

開発用サーバーを使用してアプリケーションをテストする

開発用サーバーを稼働させるために、Maven をダウンロードしてアプリのコンパイルと開発用サーバーの起動を管理します。

  1. 次のコマンドを実行して、Maven 環境を設定します。

  2. mvn clean
    mvn package
    
  3. 次の Maven コマンドを入力することにより、Maven をダウンロードしてインストールし、アプリを実行します。

mvn appengine:run

Maven のダウンロードとインストールには数分かかります。

次のような出力の最終行が表示されたら、開発用サーバーがポート 8080 でリクエストを待機している状態です。

[INFO] GCLOUD: INFO: Dev App Server is now running
  1. [ウェブでプレビュー] ボタン > [ポート 8080 でプレビュー] をクリックして、アプリを表示します。

55a6ae54ff8ca0f3.png

ページは次のようになります。

AppEngine_java_hello.png

ターミナル ウィンドウで Ctrl+C キーを押して開発用サーバーを停止します。

アプリケーションをデプロイする

  1. 次のコマンドを実行して、App Engine でアプリケーションを作成します。

gcloud app create

プロンプトが表示されたら、希望するリージョンを入力します。すぐに次の出力が表示されます。

Success! The app is now created. Please use `gcloud app deploy` to deploy your first app.
  1. 次のコマンドを実行して、pom.xml ファイルを開きます。

nano pom.xml
  1. 下記のセクションが表示されるまで、ページを下にスクロールします。


  <version>2.2.0</version>
  <configuration>
    <!-- can be set w/ -DprojectId=myProjectId on command line -->
    <projectId>myProjectId</projectId>
    <!-- set the GAE version or use "GCLOUD_CONFIG" for an autogenerated GAE version -->
    <version>GCLOUD_CONFIG</version>
  </configuration>
  1. myProjectId を Qwiklabs GCP プロジェクト ID に変更します。セクションが以下と同様に表示されていることを確認してください。


  <configuration>
    <!-- can be set w/ -DprojectId=myProjectId on command line -->
    <projectId>qwiklabs-gcp-02-47242f3ecbf9</projectId>
    <!-- set the GAE version or use "GCLOUD_CONFIG" for an autogenerated GAE version -->
    <version>GCLOUD_CONFIG</version>
  </configuration>
  1. CTRL + X --> YENTER の順に入力してファイルを保存し、nano を終了します。

  2. アプリケーションのデプロイでは、出力に含まれる gcloud app deploy コマンドは使用しません。代わりに、次のコマンドを実行してアプリをデプロイします。

mvn package appengine:deploy

次の出力が表示されます。

-------------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  38.848 s
[INFO] Finished at: 2019-01-15T17:42:49-08:00
[INFO] ------------------------------------------------------------------------

アプリケーションを表示する

ブラウザを起動するには、次のコマンドを入力してから、表示されたリンクをクリックします。

gcloud app browse

出力例(実際のリンクは異なります)

Did not detect your browser. Go to this link to view your app:
https://qwiklabs-gcp-5c823ee0b4c7fa19.appspot.com

アプリケーションがデプロイされ、ブラウザに次のような短いメッセージが表示されます。

AppEngine_java_hello.png

[進行状況を確認] をクリックして目的を確認します。

アプリケーションをデプロイする

理解度テスト

クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう(正しいものをすべて選択してください)。

お疲れ様でした

クエストの終了

41ab6fa0d099216d.png

ベースライン: デプロイと開発でクエストを続行してください。クエストとは学習パスを構成する一連のラボで、完了すると、成果が認められて上のバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントからリンクすることができます。このラボを終えてこちらのクエストに登録すると、すぐにクレジットを受け取ることができます。受講可能なその他の Qwiklabs のクエストもご覧ください

次のラボの受講

このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Starts」と呼ばれるラボシリーズの一部です。ラボカタログで Qwik Starts を検索し、興味のあるラボを探してみてください。

次のステップと詳細情報

Google Cloud Training & Certification

Google Cloud 技術を最大限に活用できるようになります。このクラスでは、必要な技術力とベスト プラクティスを習得し、継続的に学習することができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、仮想環境など、多忙なスケジュールに対応できるオプションが用意されています。認定資格を取得することで、Google Cloud の技術のスキルと知識を証明できます。

マニュアルの最終更新日: 2020 年 6 月 29 日
ラボの最終テスト日: 2020 年 6 月 29 日

Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。