はじめに
以前作成したマルチAZのWordpress環境を拡張したいと思い、本記事を投稿することにしました。
CloudFormationを使ってWordPress環境を構築
やることとしてはALBをオリジンとしたCloudFrontからWordpressを配信してコンテンツのキャッシュと最適化です。
システム構成
使用するAWSサービス
- CloudFront: ALBをオリジンとし、コンテンツのキャッシュと最適化
- ALB: EC2の負荷分散
- EC2 (WordPress Webサーバー): マルチAZ構成で配置
- RDS: マルチAZで配置
- S3 (メディアストレージ): WordPressのアップロードファイル保存
- Route 53: DNS管理、CloudFrontとの統合
- IAM: 必要な権限の管理
構成図
更なる拡張計画
上のシステムはCloudFront を活用した ALB 経由の WordPress 配信を行い、RDS をマルチ AZ 構成で運用であるが、
より高い可用性と耐障害性を確保するため、リージョンを東京(ap-northeast-1)と大阪(ap-northeast-3)で分散し、DR対策を強化する拡張計画も検討してみる。
【計画】
Aurora Global Databaseの導入
マルチAZ構成のRDSをAurora Global Databaseにしてリージョン間でのレプリケーション
EFSによるデータの一貫性確保
マルチリージョン構成にした際に一貫性を保ちたいのでEFSを活用
- EC2 インスタンス間でのリアルタイムなファイル共有
- マルチリージョンレプリケーションによる可用性向上
- ストレージのスケーラビリティと管理コストの削減
自動フェイルオーバー
Route 53のヘルスチェック機能でリージョン障害時には正常なリージョンへ自動でトラフィックを切り替える
CloudFrontのオリジングループを活用し、ALB(東京・大阪)の両方をオリジンとして自動フェイルオーバーを実施
構成図
最後に
次回は上の構成図をもとに東京リージョンで実際に構築してみる