作成したプログラムをデプロイし実行させるためには『app.yaml』というファイルを作成し、インスタンスの様々な設定、コンテンツをどう配信するかなどを書かなければなりません。作成してデプロイしています。デプロイする際、その記述方法について色々と調べましたが、古い情報ばかりであったり正しく動作しないことが多く苦戦しました。ご紹介していきたいと思います。例まずは、実際に私が使用しているものを少しシンプルにした、基本的なものをご紹介します。'password'解説では、軽く解説していきたいと思います。F1まずはインスタンス設定です。『runtime』で使用する言語を指定します。Go言語を使用するので『go』と書きます。言語バージョン『api_version』で使用する言語のバージョンを指定します。Go言語の場合、バージョン1.6を使うなら『go1.6』を指定し、1.8なら『go1.8』を指定します。サポートされている最新バージョンを使用する場合は『go1』を指定します。Go言語が使用されます。『env』でインスタンスの種類を指定します。インスタンスには大きく分けて2種類あり、1つは使用出来るライブラリ等が大きく制限されますが、自動スケーリング性能に優れた『スタンダード環境』で『standard』と指定することで選べます。1つは、スケーリング性能はスタンダードに比べると劣りますが、ライブラリなどの制限がほぼ無い『フレキシブル環境』で『flex』と指定することで選べます。ウェブサーバーやアプリのためのサーバー、それらであれば大量のアクセスが来ても柔軟に対処しやすい『スタンダード環境』がオススメです。スレッドセーフ『threadsafe』でスレッドセーフにするかを選ぶことが出来ます。これをオフにしていると、アクセスに対する処理が順番待ちになるようです。処理時間が長くなるアクセスが来てしまった場合、他の処理が順番待ちとなるので通常はオンにしておくと良さそうです。インスタンスクラス『instance_class』で使用するインスタンスクラスを指定します。これを指定しなかった場合、デフォルトで『F1』クラスが選択されるようです。インスタンスクラス名の頭文字が『F』だと自動スケーリングされ、『B』だとスケーリングはベーシックか、手動で行う必要があります。インスタンスクラス名の数字は上がる程、性能が良くなります。スタンダード環境であれば『1日28インスタンス時間』までであれば無料となり、超えた分のみ課金されます。出来る限りスタンダード環境で動作するように設計するとお得になりますし、アクセスが少ない初期の頃には助かる仕様となっています。インスタンス時間というのは、例えば28インスタンス時間であれば『F1』クラスで1日28時間起動した時間となります。1日は24時間なのにどうして28時間なのかと言うと、F1を2つ起動した場合なども考えられているからです。2つ起動し、14時間使用したら28インスタンス時間となります。性能と料金が2倍になっている『F2』を14時間起動しても28インスタンス時間となります。あれば7時間の起動で28インスタンス時間です。301次にアクセスの振り分けです。ごとの処理を書きます。ルートに対するアクセスであれば『/.*』と指定します。ファイルといった静的ファイルの配信も可能です。同じフォルダに対象ファイルなどを置きます。当ブログでは以下のようなフォルダ構成にしています。/favicon.ico』という静的ファイルを配信しています。ファイルのアップロードを行うには『static_files』と『upload』で指定します。アップロードされ、『/favicon.ico』というアドレスでサーバーにアクセスすれば取得出来るようになります。ディレクトリごとアップロードディレクトリ単位で行うためには『static_dir』でアップロードするフォルダ名を指定します。Goプログラムへ振り分け作成したプログラムへの振り分けは『script』と書き、Goプログラムへは『_go_app』を指定します。always』と書きます。HTTPレスポンスコードを指定するには『redirect_http_response_code』を書き、次のコード番号を指定します。環境変数を指定するためには『env_variables』と書き、それ以下に名前と値を書き込んでいきます。書き方の紹介と解説は以上です。コードの中にコードの解説。コンテンツの転載は固くお断りいたします。