概要
App Engine
をGCP学習の一環で触ってみたので機能をまとめてみる
App Engine(GAE)とは
- 自動でスケーリングして負荷分散してくれる
- インフラの管理を全て自動でやってくれる
- カスタムドメインにデフォルトでSSL証明書を利用できる
- 各プロジェクトで1つだけ存在できる
App Engine は、大規模なウェブ アプリケーションを開発およびホスティングするための、フルマネージド型のサーバーレス プラットフォームです。アプリの開発では複数の一般的な言語、ライブラリ、フレームワークからの選択が可能で、開発したアプリのインスタンスのサーバー プロビジョニングとスケーリングは App Engine によってオンデマンドで行われます。
GAEの構築
app.yaml
の作成
- 今回は
PHP7
系のアプリケーションを構築する
app.yaml
# 使用する言語
runtime: php72
# url: xxxxにアクセスされたときの挙動を定義
handlers:
# Serve a directory as a static resource.
- url: /stylesheets
# 静的ディレクトリの設定
static_dir: stylesheets
# Serve images as static resources.
- url: /(.+\.(gif|png|jpg))$
# 静的ファイルの設定
static_files: \1
# gif、png、jpg の拡張子を持つファイルを静的リソースとして提供
upload: .+\.(gif|png|jpg)$
# Serve your app through a front controller at index.php or public/index.php.
- url: .*
script: auto
動作させるPHPファイルを生成
index.php
<?php
echo "hogehoge";
開発サーバを起動する
# サーバー上でPHP7環境を動かすのでCGIをインストール
sudo apt-get update
sudo apt-get install php7.0-cgi
# アプリを実行する
dev_appserver.py --php_executable_path=/usr/bin/php-cgi .
# GAEを作成
gcloud app create
[1] asia-east1 (supports standard and flexible)
[2] asia-east2 (supports standard and flexible and search_api)
[3] asia-northeast1 (supports standard and flexible and search_api)
[4] asia-northeast2 (supports standard and flexible and search_api)
[5] asia-northeast3 (supports standard and flexible and search_api)
[6] asia-south1 (supports standard and flexible and search_api)
[7] asia-southeast1 (supports standard and flexible)
# ikaryaku
Please enter your numeric choice: Please enter a value between 1 and 24:
# リージョンを選べって言われているのでasia-east1(東京)を指定 1
Success! The app is now created. Please use `gcloud app deploy` to deploy your first app.
# デプロイ
gcloud app deploy
[gae-demo-340017]
target service: [default]
target version: [20220201t184254]
target url: [https://gae-demo-340017.de.r.appspot.com]
target service account: [App Engine default service account]
Do you want to continue (Y/n)? y
WARNING: PHP 7.2 is no longer supported by the PHP Group as of November 2020. We recommend you to upgrade to the latest version of PHP runtime as soon as possible. For details on upgrading, see https://cloud.google.com/appengine/docs/standard/php7/runtime.
Updating service [default]...done.
Setting traffic split for service [default]...done.
# 以下のURLにアクセスするとindex.phpの内容が出力されます
Deployed service [default] to [https://gae-demo-340017.de.r.appspot.com]
You can stream logs from the command line by running:
$ gcloud app logs tail -s default
To view your application in the web browser run:
$ gcloud app browse
まとめ
今回はApp Engine
の構築〜デプロイまでまとめました
いいねしていただけると記事執筆の励みになりますので、参考になったと思った方は是非よろしくお願いします!