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

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

費用

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

始める前に

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

  1. Cloud SDK をダウンロードしてインストールします。

    SDK をダウンロード

    : Cloud SDK がすでにインストールされている場合は、次のコマンドを実行して更新します。

    gcloud components update
    
  2. 新しいプロジェクトを作成します。

    gcloud projects create [YOUR_PROJECT_ID] --set-as-default
    

    プロジェクトが作成されたことを確認します。

    gcloud projects describe [YOUR_PROJECT_ID]
    

    次のようなプロジェクトの詳細が表示されます。

    createTime: year-month-hour
    lifecycleState: ACTIVE
    name: project-name
    parent:
    id: '433637338589'
    type: organization
    projectId: project-name-id
    projectNumber: 499227785679
    
  3. プロジェクトで App Engine アプリを初期化し、そのリージョンを選択します。

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    プロンプトが表示されたら、App Engine アプリケーションを配置するリージョンを選択します。

  4. 次の前提条件をインストールします。

    • 次のコマンドを実行して、Go 1.9 用の 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(フランクフルト)
  • europe-west6(チューリッヒ)
  • asia-northeast1(東京)
  • asia-northeast2(大阪)
  • asia-east2(香港)
  • asia-south1(ムンバイ)
  • australia-southeast1(シドニー)

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

App Engine アプリケーションをすでに作成した場合は、gcloud app describe コマンドを実行するか、GCP Console の App Engine ダッシュボードを開くと、そのアプリケーションに設定されているリージョンを確認できます。App Engine アプリケーションのリージョンは http://[YOUR_PROJECT_ID].appspot.com に表示されます。

このクイックスタートでは、読者が Go プログラミング言語に精通しており、すでに Go がインストールされていることを前提としています。

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

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

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

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

    cd $GOPATH/src/github.com/GoogleCloudPlatform/golang-samples/appengine/helloworld
    

または、zip 形式のサンプルをダウンロードすることもできます。

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

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 1.9 アプリのデプロイをご覧ください。 . すべてのコマンドフラグの一覧については、gcloud app deploy リファレンスをご覧ください。

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

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

gcloud app browse

これで完了です。

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

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

クリーンアップ

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

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

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

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

次のステップ

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

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

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

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

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

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

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