静的ページをホストできるサービスを調べた
ブログだったりポートフォリオだったりWeb上にHTMLを公開する時にどんなサービスが使えるのか調べてみました。
調べたモチベーションとしてはVPSとかをわざわざ契約したり、設定するのが面倒なのと、(ポートフォリオとかではない)適当なページを手軽にインターネット上で見られる方法がないかなと思ったところです。調べたら6つくらいしか見つかりませんでしたが、用途に合わせて使い分ければ快適でしょう。
各サービスの概要
GitHub Pages
言わずとしれたGitHubのWeb pageのホスティングサービス。
プロフィールやブログをGithubPagesに乗せている人は結構いる。
やり方はgithub.io 静的サイト
とかでググると大量に出てくる。
- https://<user-name>.github.io
かhttps://<user-name>.github.io/<repository-name>
に公開することができる。
- GithubのアカウントがあればOK
- 独自ドメインはCNAMEレコードを追加すれば良い
- サイトのサイズが1GB以下、毎月トラフィックが100GB以下である必要がある。
- 詳細: https://help.github.com/en/articles/what-is-github-pages
GitLab
GitLab上のホスティングサービス、大体GitHubと同じでオープンソースという点でGitHubとは異なる。
GCS
Google Cloud Storage。画像を含む静的コンテンツの配信にも使われている。GCPのプロジェクト単位で閲覧できる人を制限することができるので全世界に公開しなくてもよい。料金も大して容量を摂らなければ無料枠に収まるはずなのであまり気にする必要はなさそう(人に依る)
Google Cloud Storageを使う場合
- GCPのアカウントがあればOK
- 使用するドメインをGoogle Search Consoleで認証しておく必要がある。
- HTTPSで配信したい場合はCloud CDNでロードバランサで設定をする。
S3
Amazon S3。用途はGCSとほとんど同じ
S3を使うには、
- AWSのアカウントがあればOK
- 使用するドメインのネームサーバをRoute 53にするか、CNAMEレコードをGCP同様に追加する。
- HTTPSで配信したい場合はAmazon CloudFrontで設定をする。
Firebase
Netlify
- 無料ホスティングサービス
- GitHubやGitLab, Bitbucketから静的ページをデプロイできる。
- Gitを使わなくても直接アップロードも可能
<name>.netlify.com
が与えられる。- HTTPSも可能
Surge
- フロントエンドのホスティングサービス。
surge /path/to/build project.co
のようにビルドしたページとプロジェクト名を指定してコマンド一つでデプロイできる。- CNAMEでカスタムドメインの設定をする。
- HTTPSも可能
- 無料枠が存在しただページを公開するだけなら無料枠で可能。
- プロジェクトやHTTPSに強制したり、もろもろの機能が欲しいなら月30ドルで可能
早見表
サービス名 | HTTPS | 無料 | デプロイの手間 | 初期設定の手間 |
---|---|---|---|---|
GitHub Pages | o | o | 大 | 中 |
GitLab Pages | o | o | 大 | 中 |
GCS | △ | 規模次第 | 中 | 小 |
S3 | △ | 規模次第 | 中 | 小 |
Firebase | o | プラン次第 | 小 | 大 |
Netlify | o | プラン次第 | 小 | 大 |
Surge | o | プラン次第 | 小 | 中 |
まとめ
ページの規模が大きくなればNetlifyやFirebase,が楽になるという印象だった。とりあえずサイトを公開したいときとかはSurge, GCSやS3, GitHub Pagesなど自分の慣れたものを使ってサクッとできる。ポートフォリオの公開目的ならGitHub Pagesあたりを使ってもいいとおもう。 どれも小規模ならほとんど無料で利用できるので気になったものから試してみるのもいいかもしれない。 今回紹介したサービス以外にはZeit, Aerobatic, Heroku, neocitiesなどがある。