arrow_back

App Engine: Qwik Start - Java

ログイン 参加
Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the student account, which may cause extra charges incurred to your personal account.
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

App Engine: Qwik Start - Java

ラボ 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP068

Google Cloud セルフペース ラボのロゴ

概要

App Engine を使用すると、開発者は最も得意な作業、つまりコードを書くことに集中できます。App Engine スタンダード環境は、Google のインフラストラクチャで実行されるコンテナ インスタンスを基盤としています。コンテナは事前構成されており、利用可能なランタイム(Java、Python、Go、PHP)のうち、いずれか 1 つが含まれています。各ランタイムには App Engine Standard API に対応しているライブラリが含まれています。多くのアプリケーションでは、このスタンダード環境のランタイムとライブラリがあれば十分です。

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

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

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

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

目標

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

  • GitHub リポジトリからスターター コードをダウンロードする
  • Google App Engine を使ってアプリケーションをデプロイする

設定と要件

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

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

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

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

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

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

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

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

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

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

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

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

その後、このタブで Google Cloud コンソールが開きます。

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

Cloud Shell をアクティブにする

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

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

タスク 1. HTTP Server サンプルアプリをダウンロードする

Java で記述されたシンプルな HTTP Server アプリがあらかじめ作成されており、Google Cloud へのアプリのデプロイをすぐに試すことができます。HTTP Server のサンプルコードをダウンロードする手順は次のとおりです。

  1. Cloud コンソールの右上にある [Cloud Shell をアクティブにする] ボタンをクリックして、新しい Cloud Shell セッションを開きます。

  2. 新しい Cloud Shell ターミナルで次のコマンドを実行して、Google Cloud Storage からローカル ディレクトリにファイルをコピーします。

gcloud storage cp -r gs://spls/gsp068/appengine-java21/appengine-java21/* .

出力:

Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/http-server/src/main/java/com/example/appengine/Main.java to file://./helloworld/http-server/src/main/java/com/example/appengine/Main.java Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/pom.xml to file://./helloworld/pom.xml Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/settings.gradle to file://./helloworld/settings.gradle Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/java/com/example/appengine/java21/HelloAppEngine.java to file://./helloworld/src/main/java/com/example/appengine/java21/HelloAppEngine.java Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/webapp/WEB-INF/appengine-web.xml to file://./helloworld/src/main/webapp/WEB-INF/appengine-web.xml Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/webapp/WEB-INF/web.xml to file://./helloworld/src/main/webapp/WEB-INF/web.xml Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/test/java/com/example/appengine/java21/HelloAppEngineTest.java to file://./helloworld/src/test/java/com/example/appengine/java21/HelloAppEngineTest.java Completed files 20/20 | 54.2kiB/54.2kiB Average throughput: 40.0kiB/s
  1. 次に、サンプルコードが保存されているディレクトリに移動します。
cd helloworld/http-server

このフォルダにある src ディレクトリに、com.example.appengine というパッケージが保存されています。このパッケージには、HTTP Server アプリのソースコードが含まれています。

ソースコードは次のようになります。

package com.example.appengine; import com.sun.net.httpserver.HttpServer; import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; public class Main { public static void main(String[] args) throws IOException { // HttpServer のインスタンスを作成します。PORT 環境変数が存在する場合はそれによって定義されているポートにバインドし、 // PORT 環境変数が存在しない場合はポート 8080 にバインドします。 int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080")); HttpServer server = HttpServer.create(new InetSocketAddress(port), 0); // ルート URI のパスを設定します。 server.createContext("/", (var t) -> { byte[] response = "Hello World!".getBytes(); t.sendResponseHeaders(200, response.length); try (OutputStream os = t.getResponseBody()) { os.write(response); } }); // 別の URI のパスを作成します。 server.createContext("/foo", (var t) -> { byte[] response = "Foo!".getBytes(); t.sendResponseHeaders(200, response.length); try (OutputStream os = t.getResponseBody()) { os.write(response); } }); server.start(); } }

仕組み

このコードは、次の 2 つのアドレスに応答する基本的なウェブサーバーを Google App Engine に作成します。

  • /: (メインページ)「Hello World!」を表示します。
  • /foo: (特別なページ)「Foo!」を表示します。
  1. インポート: サーバーを作成し、リクエストを処理するツールを追加します。
  2. メイン関数: 実行時にアプリを起動します。
  3. サーバー作成:
    • 使用するポートを特定します(App Engine から取得、またはデフォルトの 8080)。
    • このポートをリッスンするウェブサーバーを作成します。
  4. リクエスト処理:
    • 2 つのルールが設定されています。
      • メインページ(/)にアクセスすると、「Hello World!」が表示されます。
      • /foo にアクセスすると、「Foo!」が表示されます。
  5. 開始: サーバーの実行が開始され、ウェブ リクエストに応答できるようになります。

App Engine は、サーバー管理、スケーリング、セキュリティを処理することで、ウェブアプリの開発を簡素化します。また、シンプルなウェブアプリをすばやく構築するのに適しています。

タスク 2. アプリをデプロイして表示する

このタスクでは、HTTP Server アプリを Google App Engine にデプロイします。

  1. 次のコマンドを実行して、App Engine 上にアプリケーションを作成します。
gcloud app deploy
  1. プロンプトが表示されたら、 に関連付ける数を入力します。「Y」と入力して続行します。

  2. アプリを表示するには、次のコマンドを使用します。

gcloud app browse

すぐに次の出力が表示されます(URL は異なります)。

Did not detect your browser. Go to this link to view your app: https://qwiklabs-gcp-00-3e8fa18ec9dc.uc.r.appspot.com
  1. リンクをクリックすると、デプロイされたアプリがウェブブラウザに表示されます。ウェブページは「Hello World!」というメッセージがあるシンプルなものになっています。

  2. 次に、アドレスバーの URL に「/foo」を追加して Enter キーを押します。ウェブページには「Foo!」というメッセージが表示されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

アプリをデプロイする

タスク 3. 理解度テスト

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

お疲れさまでした

これで完了です。このラボでは、シンプルな Java アプリを Google App Engine にデプロイする方法について学習しました。また、デプロイされたアプリをウェブブラウザで表示する方法についても学習しました。

次のステップと詳細情報

Google Cloud トレーニングと認定資格

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

マニュアルの最終更新日: 2025 年 2 月 6 日

ラボの最終テスト日: 2025 年 2 月 6 日

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

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

One lab at a time

Confirm to end all existing labs and start this one

Setup your console before you begin

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.