2026年11月11日

2026年11月11日

AWS S3をバックアップ先にする方法(s3cmd)

はじめに

この記事では、WordPressサイトのバックアップをAWS Simple Storage Service (S3)バケットに保存するために、s3cmdを使用する方法を紹介します。s3cmdは無料で利用でき、簡単に設定して使用できるため、中規模までのサーバー運用に適しています。

症状・背景

  • WordPressサイトの定期的なバックアップが必要です。
  • バックアップデータをクラウドストレージに保存することで、物理的障害やサーバーダウンなどのリスクから重要データを保護します。
  • 便宜上、ローカルファイルシステムからS3バケットへの自動同期が必要です。

手順・設定方法

ステップ1: s3cmdのインストールと初期設定

# Ubuntu/Debian系
$ sudo apt-get install -y s3cmd

# CentOS/RHEL系
$ sudo yum install -y epel-release
$ sudo yum install -y s3cmd

# 初期設定ファイルを作成する
$ mkdir ~/.s3cfg

ステップ2: S3バケットへのアクセスキーとシークレットキーの設定

# .s3cfg ファイルにアクセスキーとシークレットキーを設定します。
[default]
access_key = YOUR_AWS_ACCESS_KEY_ID
secret_key = YOUR_AWS_SECRET_ACCESS_KEY

ステップ3: S3バケットの作成と初期化

# S3バケットを作成します(例:my-backup-bucket)
$ s3cmd mb s3://my-backup-bucket

# バケットにアクセスするためのパーミッションを設定します。

ステップ4: ファイル同期と定期的なバックアップ

# WordPressサイトのファイルをS3バケットに同期します(例:/var/www/html/myblog)
$ s3cmd sync /var/www/html/myblog s3://my-backup-bucket/

# または、特定のディレクトリのみを同期する場合
$ s3cmd sync /var/www/html/myblog/uploads s3://my-backup-bucket/uploads

# 一時的なエラーログを表示します。
--log-file=/tmp/s3cmd_log.txt --progress

ステップ5: シェルスクリプトで定期バックアップの自動化

#!/bin/bash

# WordPressサイトのバックアップディレクトリ
SOURCE_DIR="/var/www/html/myblog"

# S3バケットとバックアップファイル名
DEST_BUCKET="s3://my-backup-bucket/"
BACKUP_FILE=$(date +%Y%m%d%H%M%S)-backup.tar.gz

# バックアップディレクトリをtarで圧縮し、S3に同期します。
tar czf /tmp/$BACKUP_FILE $SOURCE_DIR
s3cmd put --guess-mime-type --progress /tmp/$BACKUP_FILE $DEST_BUCKET

# tarファイルの削除
rm -f /tmp/$BACKUP_FILE

# バックアップ完了通知メールを送信する(例)
echo "WordPress Backup Completed at $(date)" | mail -s "Backup Notification" admin@example.com

注意事項

  • AWSアクセスキーとシークレットキーは慎重に管理し、不正なアクセスを防ぐためのセキュリティポリシーを確立してください。
  • s3cmdを使用する際は常に最新バージョンを使用して脆弱性を回避します。
  • バックアップデータの保存期間を考え、適切なライフサイクル管理を実施することをおすすめします。

まとめ

1. s3cmdインストール: AWS S3バックアップに必要なツールをインストールします。

2. 初期設定: アクセスキーとシークレットキーでS3との接続を確立します。

3. S3バケット作成: バックアップデータを保存するS3バケットを作成します。

4. ファイル同期: WordPressサイトの重要データを定期的にS3にバックアップします。

5. 自動化: シェルスクリプトでバックアッププロセスを自動化し、管理効率を向上させます。

関連記事:

お気軽にご相談ください

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