コンシューマー向けに大規模ポータルサイトを運営する一部上場企業のお客様のコーポレートサイト運用事例をご紹介します。CMSはWordPressを採用し、スペックの高いEC2インスタンス1台構成で運用しています。
導入前の課題
コーポレートサイトはWordPressの本番環境1台とステージング環境1台のシンプルな構成です。WordPressのテンプレート修正を直接本番環境で行うと崩れてしまうことがあり、安全にリリースできるフローを作ることが課題でした。また、多くのユーザーが閲覧していたため、メンテナンスによるダウンタイムは極力避ける必要がありました。
ご提案内容
これまでのステージング環境は開発用途となってしまったため、ステージング環境を本番リリース前に本番環境と同一の挙動をするサーバーとして運用することをご提案させていただきました。そして、本番リリースにあたっては、ステージング環境を本番環境へ切り替えることで安全なリリースフローとしました。サーバーの切り替えはELB(Elastic Load Balancing)配下にEC2を用意することで無停止で切り替えられる状況としました。
また、今回構築したコーポレートサイトは外部からの攻撃に備えるために、お客様がお持ちのセキュリティアプライアンスを経由したアクセスを可能とする必要がありました。セキュリティアプライアンスを通過した後も、HTTPSの暗号化通信を行う必要があったためWebサイト側のELBにもSSL証明書を組み込んでいます。
構成
セキュリティアプライアンス
クライアントが準備されたセキュリティ製品です。通信内容に異常がないかを確認するため、SSLターミネーションの処理を行っています。その後、再度SSL化をしてWebサーバーへHTTPS通信を行っています。
ELB(ロードバランサ)
ELBを配置している理由は2点あります。1つ目は、WordPressのアップデート作業や改修時にサイトのダウンタイムなく、EC2インスタンスを入れ替えるためです。 2つ目はSSL証明書はクライアントから提供いただいているのですが、秘密鍵を共有することを避けたいポリシーがありました。そこで、AWSのACMを利用することで秘密鍵を預かることなく証明書の運用を行うこととしました。
EC2インスタンス
WordPressが稼働しているEC2インスタンスです。個人情報の取扱いもなく、大きな負荷も見込まれないことからコスト抑えるためにEC2の1台構成としています。 セキュリティアップデートを行う際は、本番環境のコピーを作成してアップデートおよび動作検証を行います。その後、本番マシンと付け替えを行うことでサイトのダウンタイムをなくしています。
導入の効果
メンテナンスによるダウンタイムゼロ
WordPressは脆弱性が発見されることも多く、メンテナンス頻度が高いCMSです。検証および本番反映フローを確立することで、サイトのダウンタイムをなくすことができました。
セキュリティの強化
WordPressの手前にセキュリティアプライアンスをかますことで、セキュリティを高めています。既にお持ちの資産を有効に活かすことができました。
セキュリティポリシーへの対応
クライアントのセキュリティポリシー上、SSL証明書の利用に必要な秘密鍵を受領することが難しい状況でした。構築および運用フローが複雑化する懸念がありましたが、AWS Certificate Managerを利用することで、秘密鍵を受領することなく、SSL証明書を複数配置することができました。
おわりに
ダウンタイムを極力なくすよう設計したWordPressの構築事例をお伝えしました。WordPressのアップデートは頻繁に発生しますが、運用体制をしっかり準備しておけば問題ありません。
また、SSL証明書の秘密鍵を受領できないポリシーに対し、ACMがよい対策となりました。既に持っている資産を有効に活用できるツールがたくさん揃っているAWSの良さが実感できた事例でした。
AWSやAzureへの移行作業を無料で
無料ではじめるAWS/Azure管理
クロジカガイドブック
- クラウド構築・運用の課題を解決
- クロジカAWS/Azure管理の主な機能
- 導入事例
- 導入までの流れ