プロジェクトでの変化
- 構成管理Terraform でIaC化
- キャッシュ配信CloudFront + ACM で高速化
- 環境staging / production 分離
課題
医科大学のWebサイトは、長く使われることが前提です。構成を変えるときも、障害から戻すときも、同じ手順で再現できる状態にしておく必要がありました。来訪者から見た課題は表示速度です。コンテンツの多いページほど、待たされるのが目立っていました。教育機関ですからコストの制約もあります。構成管理の再現性と、キャッシュによる高速化。限られた予算で両方を成立させることが求められました。
アプローチ
- 01 既存のWebサイト構成を棚卸しし、Terraform でIaC化する範囲を特定しました
- 02 AWS リソースをモジュール単位で Terraform 管理しました
- 03 CloudFront + ACM を導入し、コンテンツ配信のキャッシュと SSL 終端を一元化しました
- 04 staging / production を同一の Terraform コードで構成し、本番反映時の不整合を排除しています
- 05 キャッシュ戦略(パス別TTL・キャッシュキー)をコンテンツ特性に合わせて設計しました
成功要因
- IaC化による属人排除
- Terraform で構成をコード化し、変更履歴と再現性を担保しました。
- CloudFront によるキャッシュ高速化
- コンテンツのキャッシュ配信で来訪者向けの表示速度を改善しました。
- 環境の同一構成管理
- staging / production を同じTerraformコードで管理し、本番反映時の不整合リスクを下げました。
- SSL証明書の一元管理
- ACMで証明書の更新・適用を自動化し、運用負荷を構造的に抑えました。
ソリューション
AWS のインフラは Terraform でコードにし、staging と production を同じコードベースから作れるようにしました。手順書ではなくコードが正になるので、時間が経っても同じものが再現できます。配信は CloudFront + ACM に寄せ、SSL証明書の管理も一本化しました。表示速度の改善は、この構成変更がそのまま効いています。