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. 定期的なバックアップ: データの一貫性と可用性を確保するために、頻繁なバックアップを実施する。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲