Webサイト制作等でWordPressが人気ですが、詳細を知らなかったので、
基盤エンジニア向けに重要ポイントをまとめました。
概要
・ホームページ制作の外注でよく利用される。
・ITの知識がなくても、管理画面から簡単に更新できる。
・プラグインを使えば、個人ホームページや予約システム、採用サイトなどを手軽に構築できる。
・アフィリエイトブログで収益化も可能。
※基本的な利用であれば、HTMLやCSSの知識不要でおしゃれなサイトが作れる。
実態
PHPで動くWebサーバ+MySQL系DBを使用。
WordPress自体がCMS(コンテンツ管理システム)であり、
データベースと連携して、管理画面・記事・予約画面等のHTMLを
サーバーサイドで動的に生成・配信。
詳細は以下記事参照
補足:カスタムhtmlを利用してYoutube、GoogleMap等を埋め込んだ場合、クライアント側で描画される。
→重い処理はクライアントで処理させて、WordPressサーバーの負担を軽減できる。
例:クライアント側から、API Gateway(要CROS)+ Lambda のAPI呼び出しも可能!
ただし、LambdaからLightsailのDB更新はちょっと大変。
AWSでたとえると
最小構成:
パブリックサブネットにEC2を1台公開し、その中にWordPressとDB(MySQL)をデプロイ。
✅ 簡単に構築可能。
❌ セキュリティや可用性に不安、レンタルサーバより少し高い。
強化構成(例):
CloudFront(CDN)+ ALB + Auto Scaling + EC2(Web)+ Aurora(DB、プライベートサブネット)+S3
✅ セキュリティ・冗長性が最高レベル。
❌ 考慮事項が多い。小規模サイトではオーバースペックで高コスト。
構築例:
現実構成
Lightsail利用
✅ 超簡単に構築可能。
✅ レンタルサーバ並みの料金(月5ドル) から開始可能。
✅ 月15ドルから マネージドDB利用可能。
✅ CDN+静的Webサイトホスティングも構築可能。
✅ 容易にバックアップ可能
✅ コンテナも利用可能。
❌ 高度な拡張は困難。
❌ Lightsail単独ではWAF利用不可。
❌ オートスケール不可。
CDN料金が気になる場合、CloudflareでCDNを設定すると無料で高機能。
構築方法:
リスク
WordPressは世界的に最も普及しているCMSであり、攻撃対象になりやすい。
-
プラグインやテーマの脆弱性
管理画面権限の奪取につながる既知の脆弱性が多く存在。
→アップデート設定が必要。 -
最小構成での負荷耐性の弱さ
CDNやオートスケーリングなしでは、大量アクセスに耐えられない。
→LightsailでCDN構成可能。
→CloudflareのCDN構成利用すると、低価格で高機能。
→LightsailでマルチAZで水平スケールも可能だが、オートスケールは不可。イベント等で予約集中が見込まれる場合は、一時メンテナンスモードにして、手動でスケールさせるのが無難。 -
管理画面へのブルートフォース攻撃
パスワード推測による不正ログインを防ぐWAFや2段階認証で防御。
→Login with CognitoプラグインでMFAを実装すると回避可能。
フロント+バックエンド分離型のサーバレス構成で同様のシステムを作成する場合
フロント:CloudFront+S3
バックエンド:API Gateway+Lambda+DynamoDB
コンテンツ更新(CI/CD):Slack+API Gateway + Lambda
✅ フロント・バックエンド分離のモダンな構成を実施可能。
❌ 複雑なAPI設計が必要。
❌ WordPressが持つ豊富なプラグインやSEO最適化機能を活かせない。
❌ Lightsailより高コスト。
構築例:
まとめ
WordPressでは基盤を意識せず、予約サイト等を簡単に作成できる。
IT知らない人でも容易にサイトを更新できるため便利。
AWSに構築する場合は、Lightsailを用いて最小コストで構築できる。
感想
WordPressについて調べることで、Webアプリの仕組みや、
Lightsailの利便性を知れてよかったです。
Webアプリに対する解像度がぐっと上がった気がします。
完全に閉域からでもLightsailのWordPressにアクセスできるか、
PoCしてみたいです。