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

リージョン ID

REGION_ID は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。既存のアプリでは省略可能ですが、まもなく、新しいアプリのすべてにおいて App Engine の URL に REGION_ID.r を含めることが必須となる予定です。

移行がスムーズに行われるように、リージョン ID を使用するよう App Engine を徐々に更新しています。Google Cloud プロジェクトがまだ更新されていない場合、アプリにリージョン ID が表示されません。ID は既存のアプリでは省略可能なため、リージョン ID が既存のアプリで使用可能になったときに、URL の更新や他の変更を行う必要はありません。

詳しくは、リージョン ID をご覧ください。

このページでは、短いメッセージを表示する基本的な App Engine アプリケーションをデプロイする方法を説明します。App Engine での Go の概要については、アプリの作成をご覧ください。

App Engine が最適なコンピューティング オプションかどうか不明な場合は、Google Cloud 上でアプリケーションをホストするためのその他の方法をご覧ください。

料金

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

始める前に

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

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

    SDK をダウンロード

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

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

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

    [YOUR_PROJECT_ID] は、プロジェクトを一意に識別する文字列に置き換えます。例: my-project-24

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

    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. プロジェクトで課金が有効になっていることを確認します。アプリケーションを App Engine にデプロイするには、課金アカウントをプロジェクトにリンクする必要があります。

    課金を有効にする

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

    • 次のコマンドを実行して、Go 1.11 用の App Engine 拡張機能を含む gcloud コンポーネントをインストールします。

      gcloud components install app-engine-go
      

App Engine のロケーション

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

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

設定したアプリのリージョンは変更できません。

すでに App Engine アプリケーションを作成している場合は、次のいずれかの方法でそのリージョンを表示できます。

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

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

Go 用のシンプルな Hello World アプリが用意されており、Google Cloud Platform へのアプリのデプロイをすぐに試すことができます。次の手順に沿って Hello World をローカルマシンにダウンロードしてください。

サンプルアプリをダウンロードし、アプリのディレクトリに移動するには:

  1. Hello World サンプルアプリ リポジトリのクローンを作成します。

    go get -u -d github.com/GoogleCloudPlatform/golang-samples
    

    または、zip ファイルとしてサンプルをダウンロードし、ファイルを解凍します。

  2. サンプルコードが入っているディレクトリに移動します。

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

App Engine に Hello World をデプロイする

  1. golang-samples/appengine/go11x/helloworld ディレクトリから次のコマンドを実行し、Hello World アプリを App Engine にデプロイします。

    gcloud app deploy
    
  2. https://PROJECT_ID.REGION_ID.r.appspot.com で公開されているライブアプリを表示します。

    gcloud app browse
    

Hello, World! メッセージが、App Engine インスタンス上で実行されているウェブサーバーによって配信されます。

これで完了です。App Engine に Go ウェブサービスが正常にデプロイされました。

クリーンアップ

App Engine の学習を続ける場合は、Cloud プロジェクトを維持し、アプリのビルドの手順を進めてください。

あるいは、Cloud プロジェクトを削除して、そのプロジェクト内のすべてのリソースへの課金を停止することもできます。

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

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

次のステップ

App Engine にウェブサービスをデプロイすることができました。次にアプリの作成を参照して、App Engine での Go のさらに詳しい手順を理解しましょう。