Amazon Lightsail で構築する WordPress サイト - SSL 設定から CDN 配信まで
Lightsail で WordPress サイトを構築し、Let's Encrypt による SSL 設定と CDN 配信でグローバルに公開する。バックアップ戦略も紹介します。
WordPress ブループリントでの構築
Lightsail の WordPress ブループリントは Bitnami がパッケージ化した WordPress 環境を提供します。Apache、MySQL、PHP、WordPress が事前構成されており、インスタンス作成後すぐにブラウザから WordPress の管理画面にアクセスできます。初期パスワードは Lightsail コンソールのブラウザベース SSH から cat $HOME/bitnami_application_password で確認できます。プランは月額 3.50 USD (512 MB RAM) から選択でき、個人ブログなら最小プランで十分です。月間数万 PV 規模のサイトでは 5 USD プラン (1 GB RAM) 以上を推奨します。
SSL 設定とドメイン管理
HTTPS 化は Bitnami の bncert-tool で自動設定できます。SSH でインスタンスに接続し、sudo /opt/bitnami/bncert-tool を実行してドメイン名を入力するだけで、Let's Encrypt の SSL 証明書の取得、Apache の HTTPS 設定、HTTP から HTTPS へのリダイレクト、証明書の自動更新が一括で設定されます。ドメインの DNS 管理は Lightsail の DNS ゾーンで行えます。A レコードでインスタンスの静的 IP を指定し、CNAME レコードで www サブドメインを設定します。Lightsail の静的 IP は無料で、インスタンスにアタッチしている限り課金されません。
CDN 配信とバックアップ
Lightsail CDN は CloudFront ベースのコンテンツ配信機能で、ディストリビューションを作成してインスタンスをオリジンに指定するだけで有効化できます。画像、 CSS 、 JavaScript などの静的コンテンツが世界中のエッジロケーションにキャッシュされ、ユーザーに最寄りのロケーションから配信されます。月間 50 GB のデータ転送が無料枠に含まれます。バックアップは自動スナップショットを有効化し、日次で取得することを推奨します。スナップショットは最大 7 世代保持でき、障害時にスナップショットから新しいインスタンスを作成して復元します。手動スナップショットは保持期間の制限なく保存でき、大きな変更前のバックアップに使用します。 Lightsail の構成パターンを把握するうえで関連書籍 (Amazon)が参考になります。
WordPress 運用のコスト
WordPress サイトの運用コストは Lightsail プランの月額料金が中心です。2 GB メモリのプラン (月額 10 ドル) が小規模サイトの標準的な選択肢で、月間数万 PV 程度まで対応できます。Lightsail CDN は月額 2.50 ドルから利用でき、50 GB のデータ転送が含まれます。自動スナップショットは無料で、手動スナップショットは 1 GB あたり月額約 0.05 ドルです。EC2 + ALB + RDS の構成 (月額 50 ドル以上) と比較すると、Lightsail は大幅に低コストで WordPress を運用できます。
表示速度のチューニング
WordPress の表示速度は、キャッシュの活用で大きく改善します。ページキャッシュのプラグインを導入して生成済みの HTML を配信し、データベースへのアクセスを減らします。画像は適切なサイズに圧縮し、遅延読み込みを有効にすると初期表示が軽くなります。Lightsail CDN を前段に置けば、静的ファイルがエッジから配信され、インスタンスの負荷も下がります。プラグインを増やしすぎると逆に重くなるため、本当に必要なものだけに絞ることも、安定した速度を保つうえで欠かせない工夫です。
セキュリティ対策の基本
公開する WordPress は攻撃の対象になりやすいため、基本的な防御を固めます。WordPress 本体・テーマ・プラグインを更新された状態に保ち、既知の脆弱性をふさぎます。管理画面のログインは、強固なパスワードと試行回数の制限、二要素認証で保護します。Lightsail のファイアウォール設定で、必要なポートだけを開放します。万一に備え、自動スナップショットを有効にしておけば、改ざんや障害が起きても直前の状態へ復元できます。攻撃を完全には防げない前提で、復旧手段を用意しておくことが重要です。
スケールと本格構成への移行
アクセスが増えてプランの性能が不足してきたら、上位プランへ移行します。Lightsail は稼働中インスタンスの直接的なサイズ変更ができないため、スナップショットを取得し、それを元に大きいプランの新しいインスタンスを作成して切り替えます。さらに規模が大きくなり、可用性や柔軟性が必要になった段階では、EC2、RDS、ロードバランサーを組み合わせた構成への移行を検討します。データベースを分離し、複数台で負荷分散する構成にすると、単一インスタンスの限界を超えてスケールできます。
運用上の注意点と見極め
Lightsail の WordPress は手軽な反面、基本は単一インスタンス構成のため、そのサーバーが落ちるとサイト全体が停止します。冗長性が求められる商用サイトでは、この点が制約になります。定期的にスナップショットを取り、復旧手順を確認しておくことが、可用性の現実的な担保になります。トラフィックの増加で性能が頭打ちになったり、複数台構成や細かなネットワーク制御が必要になったりしたら、それが EC2 ベースの構成へ移行する見極めどきです。要件の成長に合わせて、無理なく構成を見直します。
まとめ
Lightsail は WordPress サイトを最小の手間とコストで構築・運用するための最適なプラットフォームです。ブループリントによる即時構築、bncert-tool による SSL 自動設定、CDN によるグローバル配信、自動スナップショットによるバックアップを組み合わせることで、本格的な WordPress サイトを月額数ドルで運用できます。