2026年11月10日
2026年11月10日
WordPressのAWS ELBで負荷分散する方法
はじめに
WordPressサイトの負荷分散は、トラフィックが増加する際に重要です。特に大規模なイベントや広告キャンペーンなどのピーク時には、サーバーへの負担を軽減し、安定したパフォーマンスを保つために必要な対策となります。
症状・背景
このテーマが必要になる主な場面:
- ページの応答速度が低下している場合
- サービス停止やアクセス不能になった場合
- フェールオーバー機能を備えた高可用性システムを構築したい場合
- トラフィック増加に伴うサーバーコスト削減を目指す場合
手順・設定方法
ステップ1: AWS EC2インスタンスの準備
# WordPressサイトが動作しているEC2インスタンスを用意します。
aws ec2 run-instances --image-id ami-xxxxxxxx --count 3 --instance-type t2.medium --key-name MyKeyPair --security-group-ids sg-xxxxxxxx --subnet-id subnet-xxxxxxxx
# インスタンスの状態が稼働していることを確認
aws ec2 describe-instances --instance-ids i-xxxxxxxx
ステップ2: AWS Elastic Load Balancerの作成
# 新規ELBを作成します。
aws elb create-load-balancer --load-balancer-name wp-elb --listeners "Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80" --subnets subnet-xxxxxxxx subnet-yyyyyyyy
# ELBのDNS名を確認
aws elb describe-load-balancers --load-balancer-name wp-elb
ステップ3: EC2インスタンスへのトラフィックルーティング
# 作成したELBにEC2インスタンスを追加します。
aws elb register-instances-with-load-balancer --load-balancer-name wp-elb --instances i-xxxxxxxx i-yyyyyyyy i-zzzzzzzz
# ELBの状態とルーティング設定を確認
aws elb describe-instance-health --load-balancer-name wp-elb
ステップ4: ハートビートチェックの設定
# ELBの健康チェック設定を行います。
aws elb configure-health-check --load-balancer-name wp-elb --health-check Target=TCP:80,Interval=30,UnhealthyThreshold=2,HealthyThreshold=10,Timeout=5
# 設定内容を確認
aws elb describe-load-balancers --load-balancer-name wp-elb
注意事項
- バックアップやリポジトリの同期を定期的に行い、データの一貫性と可用性を確保すること。
- SSL証明書の設定やHTTPSによる通信を検討し、セキュリティ強化を行うこと。
- 高可用性のためにフェールオーバー機能を組み込むことを強く推奨します。
- ELBの性能に合わせて適切なインスタンス数を選択し、サーバーコストを管理すること。
まとめ
1. ELBの初期設定: ELBの作成とEC2インスタンスへの登録が完了したら、次のステップへ進む。
2. 健康チェック: インスタンスの状態を適切に監視し、障害発生時の対応を迅速に行う。
3. SSL証明書の設定: HTTPSでの通信を行うことでセキュリティを強化する。
4. 負荷分散の最適化: トラフィックパターンや利用状況に合わせてインスタンス数やELBの設定を見直す。
5. 定期的なバックアップ: データの一貫性と可用性を確保するために、頻繁なバックアップを実施する。
関連記事: