構成ファイル

サービスの各バージョンは、サービスの名前とバージョンを指定する .yaml ファイルで定義します。YAML ファイルは通常、その中で定義するサービスと同じ名前にしますが、必ずしもそうする必要はありません。複数のバージョンのサービスをデプロイする場合は、同じディレクトリ内に複数の yaml ファイルを(バージョンごとに 1 つずつ)作成します。

通常、サービスごとにディレクトリを作成し、そこにサービスの YAML ファイルと関連するソースコードを配置します。オプションのアプリケーションレベルの構成ファイル(dispatch.yamlcron.yamlindex.yamlqueue.yaml)は、最上位のアプリ ディレクトリに配置されます。以下の例には、3 つのサービスが示されています。service1service2 では、ソースファイルは YAML ファイルと同じレベルに配置されています。service3 には、2 つのバージョンの YAML ファイルがあります。

YAML サービスの階層グラフ

小さいシンプルなプロジェクトでは、すべてのアプリファイルを 1 つのディレクトリに配置します。

小さい YAML サービスの階層グラフ

すべての YAML ファイルには、バージョン パラメータを含める必要があります。デフォルト サービスを定義するには、service: default パラメータを明示的に記述するか、このパラメータをファイルに記述しないようにします。

サービスごとの構成ファイルによって、特定のサービスまたはバージョンのスケーリング タイプとインスタンス クラスを定義します。指定するスケーリング タイプに応じて、異なるスケーリング パラメータを使用します。スケーリングを指定していない場合は、デフォルトで自動スケーリングになります。スケーリングおよびインスタンス クラスの設定については、app.yaml リファレンスをご覧ください。

各サービスには、サーバー効率を高めるために、URL リクエストから特定のスクリプトへのマッピング設定や、静的ファイルを識別する設定を指定することもできます。このような設定も yaml ファイルに記述します。詳細については、app.yaml リファレンスをご覧ください。

デフォルト サービス

すべてのアプリケーションにはデフォルト サービスが 1 つあります。デフォルト サービスは、app.yamlservice: default 設定を使用して定義できますが、必ずしも定義する必要はありません。デフォルト サービスには、サービスに関連するすべての構成パラメータが適用されます。

オプションの構成ファイル

以下の構成ファイルを使うと、アプリのすべてのサービスに適用されるオプション機能を制御できます。

  • dispatch.yaml
  • queue.yaml
  • index.yaml
  • cron.yaml
  • dos.yaml

これらの構成ファイルの更新を App Engine にデプロイするには、そのファイルが配置されているディレクトリから次のコマンドを実行します。

    gcloud app deploy [CONFIG_FILE]

ウェブ リクエストを処理するデフォルト サービスと、モバイル リクエストとバックエンド処理を処理する 2 つのサービスの合計 3 つのサービスがあるアプリケーションの YAML ファイルを構成する例を示します。

最初に、すべてのウェブ関連のリクエストを処理する app.yaml という名前の構成ファイルを次の内容で定義します。

runtime: go
api_version: go1

この構成は既存の App Engine アプリケーションの構成と同一であり、自動スケーリングを備えたデフォルトのサービスが作成されます。公開アドレスは http://simple-sample.appspot.com です。

次に、モバイルウェブ リクエストを処理するサービスを作成する例を示します。この例ではモバイル ユーザーのために、最大保留待ち時間は 1 秒とし、常に少なくとも 2 つのインスタンスがアイドル状態であるようにします。これを構成するため、次の内容で mobile-frontend.yaml 構成ファイルを作成します。

service: mobile-frontend
runtime: go
api_version: go1

automatic_scaling:
  min_idle_instances: 2
  max_pending_latency: 1s

このファイルによって作成されるサービスは、http://mobile-frontend.simple-sample.appspot.com でアクセスできます。

最後に、静的なバックエンド処理を実行するため、my-service という名前のサービスを追加します。この処理は、Datastore から BigQuery にデータをエクスポートする継続的なジョブになります。処理量は比較的一定であるため、1 つの常駐サービスを用意するだけで十分です。また、これらのジョブは大容量のインメモリ処理を実行する必要があるため、サービスのメモリ構成を増やすこともできます。このように構成するには、次の内容で static-backend ディレクトリに my-service.yaml 構成ファイルを作成します。

service: my_service
runtime: go
api_version: go1

instance_class: B8
manual_scaling:
  instances: 1

このファイルによって作成されるサービスは、http://my-service.simple-sample.appspot.com でアクセスできます。

manual_scaling: の設定に注目してください。instances: パラメータは App Engine に対し、このサービスのために作成するインスタンスの数を指示します。

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

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

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