チェックポイント
Deploy a Go App
/ 5
App Engine: Qwik Start - Go
GSP070
概要
App Engine を使用すれば、デベロッパーは最も得意な作業、つまりコードを書くことに集中できます。App Engine スタンダード環境は、Google のインフラストラクチャで実行されるコンテナ インスタンスに基づいています。コンテナは利用可能な各種ランタイム(Java 8、Python 2.7、Go、PHP)の一つを使って事前構成され、各ランタイムには App Engine Standard API をサポートするライブラリが含まれます。多くのアプリケーションでは、おそらくこのスタンダード環境のランタイムとライブラリがあれば十分でしょう。
App Engine で Go 言語を使用する場合、2 つの環境から選択できます。どちらの環境でもコード中心のデベロッパー ワークフローが採用されており、素早く効率的にスケーリングして需要の増加に対応できます。また、Google の実績あるサーバー技術を利用することにより、オペレーション上のオーバーヘッドを最小限に抑えながらウェブ、モバイル、IoT のアプリケーションを短期間で構築できます。2 つの環境には多くの共通点がありますが、重要な違いがいくつかあります。
App Engine スタンダード環境
では、高負荷で大量のデータを処理する場合でも確実に動作するアプリケーションを簡単に構築し、デプロイできます。アプリケーションは、ハードウェア、オペレーティング システム、サーバーの物理的な場所に関係なく、セキュリティで保護された信頼性の高い独自の環境で実行されます。スタンダード環境では Go 1.11
がサポートされます。
App Engine フレキシブル環境
は Google Compute Engine を基盤としており、負荷分散を行いながらアプリのスケールアップやスケールダウンを自動的に行います。
このハンズオンラボでは、簡単なメッセージを表示する小規模な App Engine アプリケーションを作成する方法について説明します。
内容
-
アプリケーションをダウンロードする
-
アプリケーションをテストする
-
アプリケーションをデプロイする
設定
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
必要なもの
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。
注: Chrome OS デバイスを使用している場合は、シークレット ウィンドウを開いてこのラボを実行してください。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。
-
[ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。
重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後このタブで Cloud Console が開きます。
Google Cloud Shell の有効化
Google Cloud Shell は、デベロッパー ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Google Cloud Shell では、コマンドラインで GCP リソースにアクセスできます。
GCP Console の右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。
[続行] をクリックします。
環境のプロビジョニングと接続には少し時間がかかります。接続すると、すでに認証されており、プロジェクトは PROJECT_ID に設定されています。例えば:
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 アプリケーションのプロビジョニングと管理を行えます。
- 左側のメニューで、[API とサービス] > [ライブラリ] をクリックします。
- 検索ボックスに「App Engine Admin API」と入力します。
- [App Engine Admin API] をクリックします。
- [有効にする] をクリックします。
Hello World アプリをダウンロードする
ここでは、事前に用意された Go 用のシンプルな Hello World アプリを使用して、Google Cloud Platform へのアプリのデプロイをすぐに試すことができます。次の手順に沿って、Hello World を Google Cloud インスタンスにダウンロードしてください。
-
Cloud Shellセッションを開き、次のコマンドを入力して、Hello Worldサンプルアプリリポジトリを複製します。
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
-
サンプルコードのあるディレクトリに移動します。
cd golang-samples/appengine/go11x/helloworld
アプリケーションをデプロイする
-
アプリを App Engine にデプロイするには、app.yaml ファイルが保存されているアプリケーションのルート ディレクトリ内から次のコマンドを実行します。
gcloud components install app-engine-go
gcloud app deploy
(出力例)
Please choose the region where you want your App Engine application
located:
[1] europe-west2 (supports standard and flexible)
[2] us-east1 (supports standard and flexible)
[3] us-east4 (supports standard and flexible)
[4] asia-northeast1 (supports standard and flexible)
[5] asia-south1 (supports standard and flexible)
[6] australia-southeast1 (supports standard and flexible)
[7] southamerica-east1 (supports standard and flexible)
[8] us-central (supports standard and flexible)
[9] europe-west3 (supports standard and flexible)
[10] europe-west (supports standard and flexible)
[11] cancel
Please enter your numeric choice:
- リージョンの番号を入力します。
(出力例)
Creating App Engine application in project [qwiklabs-gcp-58a2268dafa9e708] and region [asia-south1]....done.
Services to deploy:
descriptor: [/home/gcpstaging8142_student/helloworld/app.yaml]
source: [/home/gcpstaging8142_student/helloworld]
target project: [qwiklabs-gcp-58a2268dafa9e708]
target service: [default]
target version: [20171117t080909]
target url: [https://qwiklabs-gcp-58a2268dafa9e708.appspot.com]
Do you want to continue (Y/n)?
- 入力を求めるメッセージが表示されたら、「Y」と入力してサービスのデプロイを確定します。
(出力例)
Beginning deployment of service [default]...
Some files were skipped. Pass `--verbosity=info` to see which ones.
You may also view the gcloud log file, found at
[/tmp/tmp.4CytrNBIMQ/logs/2017.11.17/08.06.15.720314.log].
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 2 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...done.
Waiting for operation [apps/qwiklabs-gcp-58a2268dafa9e708/operations/27b6d801-9018-4a86-b8c0-6082f78fb09f] to complete...done.
Updating service [default]...done.
Deployed service [default] to [https://qwiklabs-gcp-58a2268dafa9e708.appspot.com]
You can stream logs from the command line by running:
$ gcloud app logs tail -s default
To view your application in the web browser run:
$ gcloud app browse
アプリケーションを表示する
次のコマンドを入力して、ブラウザを起動します。
gcloud app browse
表示されるリンクをクリックします。
サンプル出力(実際のリンクは異なることに注意してください):
アプリケーションがデプロイされ、ブラウザに短いメッセージが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
理解度チェック
クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう(正しいものをすべて選択してください)。
まとめ
クエストの終了
ベースライン: デプロイと開発でクエストを続行してください。クエストとは学習パスを構成する一連のラボで、完了すると、成果が認められて上のバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントからリンクすることができます。このラボを終えてこちらのクエストに登録すると、すぐにクレジットを受け取ることができます。受講可能なその他の Qwiklabs のクエストもご覧ください。
次のラボの受講
このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Starts」と呼ばれるラボシリーズの一部です。dラボカタログで「Qwik Starts」を検索し、興味のあるラボを探してみてください。
次のステップと詳細情報
- App Engine の詳細については、App Engine の概要をご覧ください。
- App Engine スタンダード環境で Flask を使ってみるで、App Engine の別の利用方法もお試しください。
Google Cloud Training & Certification
Google Cloud 技術を最大限に活用できるようになります。このクラスでは、必要な技術力とベスト プラクティスを習得し、継続的に学習することができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、仮想環境など、多忙なスケジュールに対応できるオプションが用意されています。認定資格を取得することで、Google Cloud の技術のスキルと知識を証明できます。
マニュアルの最終更新日: 2019 年 10 月 15 日
ラボの最終テスト日: 2019 年 10 月 15 日
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。