目次
手帳をテーマにしておいて、いきなり本ブログのシステムアーキテクチャについて、メモしておきます。
Astroで構築
本サイトは、Astroという静的サイトジェネレータを利用して構築されています。静的サイトジェネレーターを利用してブログ構築するのは初めてで、結構楽しいです。
通常、ブログをはじめるというと、WordPressを用いて構成したり、ちょっとブログとは違いますが、noteを利用したりするかと思います。
これらは、動的にサイトを返却するもの(ユーザーからリクエストがあったら、その場でサーバーがページを組み立てて返す)で、キャッシングやサーバーレスポンスの高速化などで工夫することで高速化は出来ますが、静的なサイトにしてしまえば、そもそもレスポンス速度は普通にやれば速いので、静的サイトジェネレータによるサイト構成をずっとやってみたかったです。やってみて、「おぉー、はやい」と言いたかったです(それで満足する)。
Github Actionsでmainブランチにマージしたら、自動でAWS S3にデプロイされるようにしており、記事の作成とデプロイは、CLIか、VSCodeのみで完結するように設定したので便利です。
初期設定はちょっとめんどかった
めんどくさかったのは、初期のAWSのS3 + CloudFront構成で、ちゃんとやったのは初めてだったので、なかなかめんどかったです。
- S3だけの静的ウェブホスティングでは、https通信できないので、CloudFrontを組み合わせる
- CloudFrontでSSL認証するための認証情報は、
ap-northeast-1じゃだめで、us-esst-1じゃなきゃだめ - CloudFrontのデフォルトオリジンパスは、サブディレクトリに使えない
- つまり、
hoge.jp/としたら、hoge.jp/index.htmlとしてくれるが、 hoge.jp/about/としたら、hoge.jp/about/index.htmlとしてくれない- これが、
Astroなどのビルド設定と、すでに構築したソースとの相性などが悪かった
- つまり、
- サブディレクトリで、デフォルトオリジンパスを設定するには、
Labmda@Edgeしかない
… と、めんどくさいです(まだあるのですが書くのもめんどくさくなってきたので、この辺で)
まぁ、一度設定してしまえば良いので(たぶん)、もう設定したので良いのですが…
・・・次からはちゃんと手帳に関するエントリ書きたいと思います…
(アイキャッチ画像は、Pixabayより)