この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
実現したい事
CloudFormationを利用して、下記の構成図をもとに高可用性のあるブログ作成
WordPressサイトの構成図
構成図の目標内容
- ACMを利用して暗号化された通信を使ってドメイン名でアクセスできること
- マルチAZ構成でWebサーバーを稼働し、高可用性を実現すること。
- マルチAZ構成でデータベースサーバーを稼働し、高可用性を用意すること
- KMSを利用してストレージやデータベースのデータに不正にアクセスされても、解読できないように暗号化されていること
- EC2に障害が起きた時は通知をだし、自動的に復旧すること
- EBSの使用率や、ALBとEC2の死活監視をおこない、閾値を超えた時は通知を出すこと
- WordPressの画像をS3にアップロードすること
- DLMを利用し、EBSのスナップショットを自動作成すること
利用するAWSリソース
サービス名 | 利用目的 |
---|---|
EC2 (Elastic Compute Cloud) | Webサーバーとして使用するため |
RDS (Relational Database Service) | DBサーバーとして使用するため |
EFS (Elastic File System) | WordPressのインストールファイルをEC2間でファイル共有を行うため |
S3 (Simple Storage Service) | WordPressの画像をアップロードするため |
IAM (Identity and Access Management) | ・EC2にCWAgent用の権限を与えるため ・EC2にS3用の権限を与えるため |
KMS (Key Management Service) | RDS、EBSなどの暗号化のために暗号化鍵の作成と管理を行うため |
ALB (Application Load Balancer) | 二つのEC2にヘルスチェックを行いながらリクエストを振り分け、高可用性を実現するため |
Route53 | 名前解決のため |
ACM(AWS Certificate Manager) | https通信を行うための証明書の作成/利用のため |
CloudWatchAgent | ディスク使用率の監視メトリクスをCWAlarmに発行するため |
SNS (Simple Notification Service) | アラーム発生時のメール送信先トピックを作成するため |
CloudWatchAlarm | ・システムエラー、EC2とALBの死活状態、ディスク使用率の監視を行うため ・閾値を超えればメールで通知し、システムエラーが起きた時にオートリカバリーをするため |
DLM(Data Lifecycle Manager) | EBSのスナップショット自動作成で使用するため |
WordPress環境構築手順
1.概要
2.VPCなど基盤構築
3.データベース・ファイルシステム・インスタンス構築
- CloudFormationによる【KMS】の構築
- CloudFormationによる【RDS】の構築
- CloudFormationによる【EFS】の構築
- CloudFormationによる【EC2】の構築
4.ネットワーク構築
5.WordPress設定とhttps設定
6.監視システム構築
7.スナップショットの自動作成
8.S3の利用
以上の手順で構築を進めていきます。
これでWordPressサイトの構築の目次と概要の説明を終わります。