【GoogleAppEngine】デプロイとSSL対応まで(PHPの場合)
言わずもがな、サーバーはクラウドを使う時代
ということで今までは先駆者であるAWSを使っていた。
ただ最近になってぐんぐん伸びているGoogle製のクラウド
こっちのが安いし、普通のWEBサービスなら簡単にデプロイ、運用管理までできるらしいのでGCPを使ってみることにしたという話。
その中でもGoogleがおすすめしているGAE(GoogleAppEngine)を使ってみたら、
本当に簡単だったのでここに記す。
今回言語はPHPを選択したが、他のでも大体は変わらないと思う。
■GoogleCloudPlatformの準備
・プロジェクト作成
IDができるのでメモしておく。デプロイ時に指定する。
gggggg-xxxxxx-111111111 みたいなやつ
・AppEngine > 言語選択 > PHP > asia-north-east1を選択
...1分待つ
■SDKインストール
curl https://sdk.cloud.google.com | bash
(そのままEnterかYなどで進んでいく…)
・シェルの設定ファイル再読込
source ~/.bash_profile
・確認
gcloud help
■アプリ作成
・ディレクトリ作成
mkdir webapp
cd webapp
・app.yamlの作成(ヤムル)
今回記載する条件
・画像は静的ファイル(PHPとして実行しない)として扱うように指定
・画像ファイル(拡張子が「.gif」「.png」「.jpg」)以外は、index.php にルーティング
runtime: php55 api_version: 1 handlers: - url: /(.+\.(gif|png|jpg))$ static_files: \1 upload: .+\.(gif|png|jpg)$ application_readable: true - url: /.* script: index.php
※基本的にYAMLでアクセス制限、スケジューリング指定をする。
その他記載方法参考
https://cloud.google.com/appengine/docs/standard/php/configuration-files
※YAMLの基本構文ルール
・インデントの縦を合わせる(インデント幅は慣習的にスペース2つ)
・キーと値の区切り文字「:」の後ろは必ず空ける(× name:foo、○ name: foo)
・構文エラーになる場合は、文字列をクォートしてみる
・index.phpプログラム作成
<?php echo 'Hello, World!';
■本番GAEへのデプロイ
・デプロイ
gcloud app deploy
・ブラウザで確認
gcloud app browse
■まとめ
これからはPaaSの時代だね!
例:GAEやHerokuなど