2026年6月24日
2026年6月24日
WordPressのGCS(Google Cloud Storage)にバックアップ
はじめに
WordPressサイトの管理において、データの安全確保は非常に重要です。特に大規模なサイトやビジネスに関わるウェブサイトでは、バックアップを定期的に行うことは不可欠となります。Google Cloud Storage (GCS)を利用することで、効率的にバックアップを保存し、アクセスすることが可能になります。
症状・背景
このテーマが必要になる主な場面:
- サーバー上のデータが消失または破損した場合
- ハードディスクの故障やクラウドプロバイダーの問題によりデータにアクセスできなくなった場合
- バックアップを長期保存したり、頻繁に参照する必要がある場合
手順・設定方法
ステップ1: Google Cloud Platform (GCP) アカウントとプロジェクトの準備
# GCPのコンソールで新しいプロジェクトを作成します。
gcloud projects create my-wordpress-backup-project
# デフォルトプロジェクトを指定します。
gcloud config set project my-wordpress-backup-project
# スーパーアドминистрータロールを持つサービスアカウントを作成します。
gcloud iam service-accounts create wordpress-backup-sa --display-name "WordPress Backup Service Account"
# 新しく作成したサービスアカウントにストレージ管理者権限を付与します。
gsutil iam ch serviceAccount:wordpress-backup-sa@my-wordpress-backup-project.iam.gserviceaccount.com:roles/storage.admin gs://my-bucket
ステップ2: WordPressサイトのバックアップスクリプト作成とGCSへのエクスポート
# WordPressデータベースをダンプします。
mysqldump -u wordpress_user -p wordpress_database > backup.sql
# ファイルを圧縮します。
tar czvf wordpress_backup.tar.gz --exclude='./wp-content/uploads' ./wp-config.php ./backup.sql wp-content/themes wp-content/plugins
# GCSにバックアップファイルをエクスポートします。
gsutil cp wordpress_backup.tar.gz gs://my-bucket/wordpress-backup-$(date +%Y%m%d).tar.gz
ステップ3: カスタムスケジュールの設定と監視
# cronジョブを作成してバックアップを定期的に実行します。
0 1 * * * /path/to/backup-script.sh
# GCSのファイルリストを表示し、最新のバックアップが存在することを確認します。
gsutil ls gs://my-bucket/
ステップ4: バックアップ復元手順
# GCSから最新のバックアップファイルをダウンロードします。
gsutil cp gs://my-bucket/wordpress-backup-$(date +%Y%m%d).tar.gz /path/to/local/directory/
# 圧縮を解除してデータベースとファイルシステムを復元します。
tar xzvf wordpress_backup.tar.gz -C /var/www/html/
mysql -u wordpress_user -p wordpress_database < backup.sql
注意事項
- バックアップの完全性: バックアップスクリプトが正常に動作し、すべてのデータが含まれていることを確認してください。
- セキュリティ: サービスアカウントキーを安全に保管し、適切なアクセス権限を持つようにしてください。
- パフォーマンス: バックアップファイルサイズと頻度を管理して、ストレージコストやサーバーの負荷を最小限に抑えましょう。
まとめ
1. GCPプロジェクト作成: Google Cloud Consoleで新しいプロジェクトを作り、必要なサービスアカウントとロールを設定します。
2. バックアップスクリプトの作成: WordPressデータベースとファイルシステムのバックアップを取るためのスクリプトを作ります。
3. 定期的なバックアップ: cronジョブを使用して、バックアッププロセスを自動化し、定期的に実行します。
4. GCSへのエクスポート: サーバーからバックアップファイルをGoogle Cloud Storageにエクスポートします。
5. 復元のための手順: データが失われた場合やシステム障害発生時に、最新のバックアップデータを使用してWordPressサイトを復元する方法を準備します。
関連記事: