概要
Google Cloud Platform(以下GCP)のCloud Runを使って、独自ドメイン https:// 付きWebサーバを立てます。
Cloud Runは従量課金のPaaSで、無料枠もあり、アクセスの少ないサイトなら無料で公開できます。さらにManaged SSL証明書も無料で使えます。
HTML/CSSソースはGitHubに保存し、Commitをトリガーに自動デプロイを仕掛けます。
Cloud Run(フルマネージド)の料金
用意するもの
- クレジットカード - ドメインを購入したりGCPの課金を有効化する際に使います。
- Google Account - gmailアカウントでOK
- GitHub Account
手順
ドメイン取得
お名前.comにて、.workドメインが1円セールだったので、foobarbar.work ドメインを取得しました。
GitHubリポジトリ初期化
取得したドメインと同じリポジトリを初期化。.gitingore とかはお使いの言語に合わせて適宜追加してください。
local Git 初期化
というかクローン。
PS D:\Projects> git clone git@github.com:standardsystem/foobarbar.work.git
Cloning into 'foobarbar.work'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
PS D:\Projects> cd .\foobarbar.work\
PS D:\Projects\foobarbar.work> ls
Directory: D:\Projects\foobarbar.work
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2020/10/15 21:36 40 README.md
PS D:\Projects\foobarbar.work> git branch
* main
PS D:\Projects\foobarbar.work>
HTML投入
こちらからテンプレート頂きました。
https://colorlib.com/wp/template/mosh/
Dockerfile 追加
Cloud Run>ドキュメント>クイックスタート: ビルドとデプロイ から、Dockerfileのサンプルを持ってきます。COPYの所だけ、index.php から . へ変更。
# Use the official PHP 7.3 image.
# https://hub.docker.com/_/php
FROM php:7.3-apache
# Copy local code to the container image.
COPY . /var/www/html/
# Use the PORT environment variable in Apache configuration files.
RUN sed -i 's/80/${PORT}/g' /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf
# Configure PHP for development.
# Switch to the production php.ini for production operations.
# RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
# https://hub.docker.com/_/php#configuration
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
.dockerignoreも追加。
Dockerfile
README.md
vendor
Commit & Push
git add .
git commit -m 'First commit'
git push origin main
GCP Project 作成
https://console.cloud.google.com/ で新しいプロジェクトを作成します。
Cloud Run サービスの作成とCloud Buildの構成
メニューからCloud Runを選択、サービスの作成をクリックします。
フルマネージド、リージョンはTokyo。サービス名を入力し、未認証許可を選択。
「ソース リポジトリから新しいリビジョンを継続的にデプロイする」を選択。
「SET UP WITH CLOUD BUILD」をクリックし、2つのAPIを有効化します。
リポジトリを選択。
ブランチとビルド方法を選択。「作成」ボタンをクリックすると、Cloud Buildによりビルドが開始します。
テスト
Cloud Run機能に戻るとサービスができてます。
サービス名をクリックして詳細を表示するとURLが記載されているのでクリックします。
サイトができました。
独自ドメインの設定
カスタムドメインを管理。
マッピングを追加。
サービスを選択し、verify a new domain... で取得したドメインを入力。
ウェブマスターセントラルの指示に従い、TXTレコードをDNSに追加します。
追加したら数分待ち、ウェブマスターセントラルに戻って「確認」をクリックします。
マッピングの追加に戻り、ドメインを選択します。
表示されたDNSレコードを対象ドメインのゾーンレコードに追加します。
ドメインマッピングに戻り、ホスト名をクリックします。DNS浸透まで相応の時間がかかります。のんびり待ちましょう。
https://foobarbar.work/ が公開されました。
ソース
https://github.com/standardsystem/foobarbar.work