2026年8月19日
2026年8月19日
WordPressのAzure Blob Storageにバックアップする方法
はじめに
WordPressサイトのデータは日々増え続け、その重要性も高まっています。そのため、定期的なバックアップが必須となります。Azure Blob Storageは信頼性とスケーラビリティを備えたクラウドストレージサービスで、WordPressサイトのバックアップにとって最適な選択肢です。
症状・背景
このテーマが必要になる主な場面:
- <データ損失リスクが高い場合>
- <大量のメディアファイルを持つ場合>
- <地域外にバックアップを保存したい場合>
- <コスト効率よく大容量のバックアップを必要とする場合>
手順・設定方法
ステップ1: Azure Blob Storageアカウントを作成する
# ポータルで新しいストレージアカウントを作成します。
az storage account create --name mystorageaccount --resource-group myResourceGroup --location eastasia --sku Standard_LRS
# ストレージアカウントに接続キーを取得します。
STORAGE_CONNECTION_STRING=$(az storage account show-connection-string --name mystorageaccount --resource-group myResourceGroup --output tsv)
ステップ2: Blob Storageにバックアップファイルを作成する
# WordPressの全データをバックアップフォルダにエクスポートします。
wp db export /tmp/backup.sql --path=/var/www/html/
tar -czvf /tmp/wordpress_backup.tar.gz -C /var/www/html/ ./
# Azure Blob Storageに接続して、バックアップファイルを作成します。
az storage blob upload --container-name mycontainer --file /tmp/backup.sql --name wordpress-backup-$(date +%Y%m%d%H%M%S).sql
az storage blob upload --container-name mycontainer --file /tmp/wordpress_backup.tar.gz --name wordpress-tarball-$(date +%Y%m%d%H%M%S).tar.gz
ステップ3: バックアップスケジューリングを設定する
# クレデンシャルファイルを作成します。
cat <<EOF > ~/.azure/credentials
[default]
subscription_id = YOUR_SUBSCRIPTION_ID
client_id = YOUR_CLIENT_ID
client_secret = YOUR_CLIENT_SECRET
tenant_id = YOUR_TENANT_ID
EOF
# cronで定期的にバックアップを実行するジョブを設定します。
echo "0 2 * * * /usr/bin/wp db export /tmp/backup.sql --path=/var/www/html/ && tar -czvf /tmp/wordpress_backup.tar.gz -C /var/www/html/ ./" > ~/cronjobs
echo "15 2 * * * az storage blob upload --container-name mycontainer --file /tmp/backup.sql --name wordpress-backup-$(date +%Y%m%d%H%M%S).sql" >> ~/cronjobs
echo "30 2 * * * az storage blob upload --container-name mycontainer --file /tmp/wordpress_backup.tar.gz --name wordpress-tarball-$(date +%Y%m%d%H%M%S).tar.gz" >> ~/cronjobs
# cronジョブをインポートします。
crontab ~/cronjobs
ステップ4: バックアップの復元とトラブルシューティング
# Blob Storageからバックアップファイルをダウンロードしてサイトを復元します。
az storage blob download --container-name mycontainer --file /tmp/wordpress_backup.tar.gz --name wordpress-tarball-20230517143000.tar.gz
tar -xzvf /tmp/wordpress_backup.tar.gz -C /var/www/html/
# MySQLデータベースの復元を行います。
wp db import /tmp/backup.sql --path=/var/www/html/
注意事項
- <実践的な注意点1>: バックアップファイルをダウンロードする際は、サイトが停止していることを確認してください。これは特に大量のメディアデータがある場合に重要です。
- <実践的な注意点2>: パスワードやアクセスキーなどの重要な情報は必ず適切なセキュリティ設定で管理してください。
- <セキュリティ上の注意>: クレデンシャルファイルを安全に保護し、必要最小限の権限を持つユーザーのみがアクセスできるようにしましょう。
- <パフォーマンス/運用上の注意>: 定期的なバックアップはサイト性能に影響を与える可能性があるため、適切な時間帯と頻度を選択することが重要です。
まとめ
1. 信頼性: Azure Blob Storageを使用することで、WordPressデータの保護が容易になります。
2. スケーラビリティ: ストレージ容量を自由に増減できるため、任意の規模のサイトに対応可能です。
3. セキュアなバックアップ: クライアントから独立した場所で保存されるため、データが守られます。
4. 自動化: cronジョブを使用することで、定期的なバックアップが手間なく実行されます。
5. コスト効率: 高い信頼性とスケーラビリティを提供しながらも、必要な分だけ課金されるため経済的です。
関連記事: