Kuropen

NetlifyからAWSに移管しました

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

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

移管の背景

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

ステップ1: CloudFrontの構築

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

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

ステップ2: AWS環境の構築

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

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