NetlifyからAWSに移管しました


当サイトはこれまでNetlifyから配信していましたが、このたびAWSに移管しました。

この記事では、移管にあたって実施した事項の概略について記述します。なお、詳細につきましては技術文書としてまとめました

https://images.prismic.io/penguinone/13e6334e-251f-47e9-a0c4-74a6315049bd_before_20210201.png

これまで利用していたNetlifyのフリープランでは、サーバの所在地が限定されており、日本国内からのアクセスはシンガポール国内のサーバに転送されてしまいます。このためもあり、アクセスからページの表示までにやや時間がかかる状況が発生していたため、AWSに再構築を行いました。

はじめに、高速化策の検証と、それが不十分であった場合のAWS移管の準備のため、CloudFrontディストリビューションを準備し、DNSレコードをそちらに向ける作業を実施しました。

https://images.prismic.io/penguinone/a3c06e88-d259-4c08-bc37-51986c42fe9e_20210201_to_0204.png

結果、多少の高速化は図れましたが、依然として読み込みに数秒かかる状況であったため、AWS移管を実施することとしました。

Cover Image

従来のNetlifyと同様の環境を構築するために、以下を実施し、2月4日夜より運用を開始致しました。

  • GitHubからCodePipelineでソースコードを取得する設定
  • CodeBuildでGatsbyJSのコードをHTML化し、S3にコピーする設定
  • CloudFrontのコンテンツ取得先を、上記でコピー対象となるS3バケット(静的Webページ公開機能)に変更
  • Prismic CMSからのWebhookを受け入れるため、CodeBuildを実行するLambda関数およびそれに対するAPI Gatewayのエンドポイントを作成