Go App Engine スタンダード環境のクイックスタート

このクイックスタート ガイドでは、サンプルアプリを App Engine にデプロイする方法を紹介します。App Engine 向けのアプリのコーディングについて学習したい場合は、アプリの構築をご覧ください。

費用

このガイドの実行に伴う費用はありません。このサンプルアプリを実行するだけなら、無料の割り当てを超過することはありません。

始める前に

このクイックスタートを実行してデプロイする前に、次の手順で App Engine 用に GCP プロジェクトを設定し、Cloud SDK をインストールする必要があります。

  1. GCP Console を使用して、新しい GCP プロジェクトと App Engine アプリケーションを作成します。

    App Engine に移動

    プロンプトが表示されたら、App Engine アプリケーションを配置するリージョンを選択します。App Engine アプリケーションを作成すると、ダッシュボードが開きます。

  2. Cloud SDK をダウンロードしてインストールします。Cloud SDK ページの手順に従って、gcloud コマンドライン ツールで GCP プロジェクト ID を初期化して設定します。

    SDK をダウンロード

  3. 次のコマンドを実行して、Go 用の App Engine 拡張機能が含まれている gcloud コンポーネントをインストールします。

    gcloud components install app-engine-go
    

App Engine のロケーション

App Engine はリージョナルです。つまり、アプリを実行するインフラストラクチャは特定のリージョンに配置され、そのリージョン内のすべてのゾーンで冗長的に利用できるように Google によって管理されます。

レイテンシ、可用性、耐久性の要件を満たすことが、アプリを実行するリージョンを選択する際の主な要素になります。一般に、アプリのユーザーに最も近いリージョンを選択できますが、アプリで使用されている他の GCP プロダクトやサービスのロケーションを考慮する必要があります。使用するサービスが複数のロケーションにまたがっていると、アプリのレイテンシだけでなく、料金にも影響します。

App Engine は次のリージョンで利用できます。

  • northamerica-northeast1(モントリオール)
  • us-central(アイオワ)
  • us-west2(ロサンゼルス)
  • us-east1(サウスカロライナ)
  • us-east4(バージニア北部)
  • southamerica-east1(サンパウロ)*
  • europe-west(ベルギー)
  • europe-west2(ロンドン)
  • europe-west3(フランクフルト)
  • asia-northeast1(東京)
  • asia-east2(香港)
  • asia-south1(ムンバイ)
  • australia-southeast1(シドニー)

* サンパウロ リージョンをご利用のお客様には、すべてのリージョナル プロダクト SLA が引き続き有効です。ただし、北米と南米を対象とするマルチリージョン機能およびクロスリージョン機能は、可用性またはパフォーマンスが一時的に低下する可能性があります。

アプリのリージョンを設定した後で変更することはできません。

App Engine アプリケーションがすでに作成済みであれば、gcloud app describe コマンドを実行するか GCP Console の App Engine ダッシュボードを開くことで、リージョンを表示できます。App Engine アプリケーションのリージョンは http://[YOUR_PROJECT_ID].appspot.com に表示されます。

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

Google Cloud Platform にアプリをデプロイする感触をすぐに実感していただけるように、簡単な Go の Hello World アプリが用意されています。

Hello World アプリをローカルマシンにダウンロードするには:

  1. Hello World サンプルアプリのリポジトリとその依存関係を、ローカルマシンの helloworld という名前のディレクトリにダウンロードします。

    go get -u -d github.com/GoogleCloudPlatform/golang-samples/appengine/helloworld/...
    
  2. helloworld ディレクトリに移動します。

    cd helloworld
    

または、.zip ファイルとしてサンプルをダウンロードして、helloworld という名前のディレクトリに展開することもできます。

アプリケーションをテストする

SDK に含まれるローカル開発用サーバーを使用して、アプリケーションをテストします。

  1. アプリの app.yaml 構成ファイルが配置されている helloworld ディレクトリ内から、dev_appserver.py コマンドを実行してアプリをコンパイルし、ローカル開発用サーバーを起動します。

      dev_appserver.py app.yaml
    

    ローカルの開発用サーバーが起動し、ポート 8080 でリクエストを待機します。問題が発生する場合は、ここをクリックしてください。

  2. ウェブブラウザで http://localhost:8080/ にアクセスして、アプリケーションの動作を確認します。

ローカルの開発用サーバー(dev_appserver.py)を実行する

ローカルの開発用サーバーを実行するには、ディレクトリをフルパスで指定して dev_appserver.py を実行するか、PATH 環境変数に dev_appserver.py を追加します。

  • 元の App Engine SDK をインストールした場合、ツールは次の場所に配置されています。

    [PATH_TO_APP_ENGINE_SDK]/dev_appserver.py
    
  • Google Cloud SDK をインストールした場合、ツールは次の場所に配置されています。

    [PATH_TO_CLOUD_SDK]/google-cloud-sdk/bin/dev_appserver.py
    

    ヒント: Google Cloud SDK ツールを PATH 環境変数に追加し、シェルでコマンドの補完を有効にするには、次のコマンドを実行します。

    [PATH_TO_CLOUD_SDK]/google-cloud-sdk/install.sh
    

ポート番号の変更方法など、ローカルの開発用サーバーの実行について詳しくは、ローカルの開発用サーバーのリファレンスをご覧ください。

変更を加える

ローカルの開発用サーバーは、プロジェクト ファイルの変更を監視しています。ソースコードを更新すると、アプリが再コンパイルされて起動されます。

  1. では試してみましょう。開発用サーバーを起動したまま hello.go ファイルを編集して、Hello, world! を 別の文字列に変更します。
  2. http://localhost:8080/ を再読み込みして変更を確認します。

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

App Engine にアプリをデプロイするには、app.yaml ファイルが配置されているアプリケーションのルート ディレクトリ内から次のコマンドを実行します。

gcloud app deploy

詳細については、オプションのフラグをご覧ください。

一般的な gcloud コマンドフラグ

  • アプリのバージョンを一意に識別する ID を指定するには --version フラグを含めます。これを含めない場合、自動的に生成されます。例: --version [YOUR_VERSION_ID]
  • gcloud ツールでデフォルトとして初期設定したものに代わる GCP プロジェクト ID を指定するには、--project フラグを含めます。例: --project [YOUR_PROJECT_ID]

例:

gcloud app deploy --version pre-prod-5 --project my-sample-app

コマンドラインからアプリケーションをデプロイする方法の詳細については、Go アプリのデプロイをご覧ください。すべてのコマンドフラグのリストについては、gcloud app deploy リファレンスをご覧ください。

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

ブラウザを起動して http://[YOUR_PROJECT_ID].appspot.com でアプリを表示するには、次のコマンドを実行します。

gcloud app browse

これで完了です。

このクイックスタートは以上です。

クリーンアップの詳細については、以下の説明をご覧ください。また、活用できる次のステップへのリンクも併せてご覧ください。

この Hello World アプリについて詳しくは、Hello World コードレビュー セクションをご覧ください。

クリーンアップ

プロジェクトに対する課金を有効にしている場合は、GCP プロジェクトを削除すれば、そのプロジェクト内のすべてのリソースへの課金を停止できます。

  1. GCP Console で [プロジェクト] ページに移動します。

    プロジェクト ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[プロジェクトの削除] をクリックします。 プロジェクト名の横にあるチェックボックスを選択し、[プロジェクトの削除] をクリックする
  3. ダイアログにプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ

プラットフォーム全体について学ぶ

App Engine アプリの開発とデプロイの概要を理解したところで、Google Cloud Platform の残りの部分についても学習しましょう。App Engine だけでなく、Cloud Platform の他のプロダクトを使用したアプリケーションの作成方法を学ぶチュートリアルについては、「アプリの構築」ガイドをご覧ください。このガイドでは、このクイックスタートで学んだことを踏まえ、ユーザーが投稿をアップロードして保存できる簡単なブログ アプリケーションをデプロイする方法を説明しています。

App Engine スタンダード環境の詳細

App Engine についてさらに理解を深めるためのトピックをご紹介します。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Go の App Engine スタンダード環境