サイトを VPS から Amazon S3 に移行した話
コンテンツ
このサイトを VPS から Amazon S3 に移行した話.クラウドストレージサービスへ移行の理由や Amazon S3 を選択した理由など.
追記 2016-9-27(Tue)
Apex ドメインでも利用できる Firebase に移行しました
VPS からクラウドストレージ系への移行の理由
一言でいえばサーバレスな環境にして身軽になりたいよね,という理由.自宅サーバからVPS移行して身軽になったように VPS からストレージ系サービスに移行してさらに身軽になる作戦である.
今まで,このサイトは VPS に Linux インストールして HTTP サーバ起動して Web サイトを提供していた.ただ最近,次のような状況であった.
- サーバの管理が面倒
- セキュリティ対応のためのパッケージアップデートやHTTPサーバの正しい設定など,結構面倒だった.
- サーバとしてほぼ利用しなくなった
- 静的なWebサイトなので,phpとかの環境が不要になった.
- 以前は wordpress を利用していたので php の実行環境が必要だった.サイト構築を hugo に移行したので HTTP サーバだけで十分な環境となった.
そこで今流行のクラウド系サービスを利用してサーバレスなウェブサイトに移行しようと考え始めた.
Amazon S3 を選択した理由
独自ドメインと https でサイトを提供できる(Amazon CloudFront, いわゆる CDN サービス,と併用すれば),という理由で S3 を選択した.
Google Cloud Storage と Github Pages も候補だったが,どちらも単体では独自ドメインかつ https はできないようだった.ちなみに,両方とも CloudFlare (別の CDN サービス)と併用すれば独自ドメインと https を提供できるようだが, NSレコードの変更が必要なようだったこと, Amazon S3 の場合は Amazon 内で完結するという理由で Amazon を選択した.
Apex domain で CloudFront などが利用できない問題
Apex ドメインは example.jp
や example.com
などのサブドメインを含まないドメイン名のこと.このサイトは Apex ドメインとサブドメイン www
でサイトを運用していた.ホスト名が短いほうが好きなので.
しかし,この Apex ドメインでは CNAME の設定が必要な CloudFront のようなサービスを利用できないことがある.これは Apex ドメインに CNAME が設定できないから.
Apex ドメインは NS レコードを設定する必要があるが, CNAME レコードは他のレコードと共存できないから.
A CNAME record is not allowed to coexist with any other data. 2.4 CNAME records, RFC1912
仕方がないので, Apex ドメインは使用しない方針として,当面の間はApex ドメインに VPS の IP アドレスを割り当て 301 リダイレクトすることにした.
以下 Apex ドメインと CNAME に関する補足リンク
Amazon S3 で静的Webサイトを構築する参考リンク
最後に参考にしたリンクをいくつかのっけておく.
- https://kuune.org/text/2016/05/12/static-website-hosting-using-aws-s3-and-cloudfront/
- S3 + CloudFront で構築,画像があり分かりやすい,日本語
- https://blog.yujinakao.com/2016/02/01/blog-migrated-to-hugo-on-s3-and-cloudfront/
- S3 + CloudFront + Hugo で構築,日本語
- https://agop.me/post/https-enabled-portfolio-hugo-s3-cloudfront.html
- S3 + CloudFront + Hugo で構築,英語
- https://lustforge.com/2016/02/27/hosting-hugo-on-aws/
- S3 + CloudFront + Hugo で構築,英語
- https://blog.riywo.com/2015/09/migrate-to-huge-and-s3/
- S3 + Hugo で構築,日本語
- https://blog.riywo.com/2016/01/switch-to-cloudfront-and-https/
- 上記エントリーの続きで https 化
- http://blog.jigyakkuma.org/2015/08/06/hugo_wercker_s3/
- S3 + Hugo + wercker, CIとの連携,日本語
作成者 Toru Mano
最終更新時刻 2023-01-01 (c70d5a1)