ProxmoxVEでAWS S3に定期バックアップを取る方法

はじめに

Proxmox Virtual Environment(PVE)は、仮想マシン(VM)やコンテナの管理を容易にするオープンソースの仮想化プラットフォームです。データのバックアップは、システムの信頼性とビジネス継続性を確保する上で非常に重要です。AWSのS3(Simple Storage Service)をバックアップ先として利用することで、クラウド上に安全でスケーラブルなバックアップ環境を構築できます。

本記事では、AWS S3バケットの作成から、Proxmox VEにS3をディスクとして追加し、定期的にバックアップを取る方法を詳しく解説します。また、そのメリットとデメリットについても考察します。


AWS IAMユーザーの作成と権限設定

S3バケットにアクセスするためのIAMユーザーを作成し、必要な権限を設定します。

手順

1. 新しいユーザーの作成

• ユーザー名を入力します(例:proxmox-backup-user)。

• 「AWS マネジメントコンソールへのユーザーアクセスを提供する」のチェックマークを外します。


2. ポリシーのアタッチ

• 「既存のポリシーを直接アタッチ」を選択します。

• 新しいポリシーを作成するために、別タブでIAMの「ポリシー」を開きます。

• 「ポリシーを作成」をクリックします。

• JSONタブを選択し、以下のポリシーを貼り付けます。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::proxmox-backup-bucket"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::proxmox-backup-bucket/*"
      ]
    }
  ]
}

注意:proxmox-backup-bucketは先ほど作成したバケット名に置き換えてください。

• 「ポリシーの確認」をクリックし、名前を入力(例:ProxmoxBackupPolicy)し、「ポリシーの作成」をクリックします。

• ユーザー作成画面に戻り、作成したポリシーを検索して選択します。


3. アクセスキーの作成

• 作成したIAMユーザーを選択し、アクセスキーを作成

• アクセスキーIDとシークレットアクセスキーが表示されるので、安全な場所に保存します。


Proxmox VEでの設定準備(クラスタ構成の場合はそれぞれのノードで以下手順を実施)

必要なパッケージのインストール

Proxmox VEサーバーで、S3バケットをマウントするためのツールをインストールします。

sudo apt update
sudo apt install s3fs


s3fsを使用してS3バケットをマウント

1. 認証情報の設定

• 先ほど取得したAWSのアクセスキーIDとシークレットアクセスキーを/etc/passwd-s3fsに保存します。

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY | sudo tee /etc/passwd-s3fs
sudo chmod 600 /etc/passwd-s3fs

注意:ACCESS_KEY_IDとSECRET_ACCESS_KEYは実際の値に置き換えてください。


2. マウントポイントの作成

sudo mkdir /mnt/s3backup


3. S3バケットのマウント

sudo s3fs proxmox-backup-bucket /mnt/s3backup -o use_cache=/tmp -o allow_other -o url=https://s3.amazonaws.com

注意:proxmox-backup-bucketはバケット名に置き換えてください。

注意:urlオプションはリージョンによって変更が必要な場合があります(例:https://s3.ap-northeast-1.amazonaws.com)。


4. fstabへの追加(自動マウント設定)

• /etc/fstabに以下の行を追加します。

s3fs#proxmox-backup-bucket /mnt/s3backup fuse _netdev,allow_other,use_cache=/tmp,uid=0,gid=0,umask=0222,url=https://s3.amazonaws.com 0 0

注意:proxmox-backup-bucketはバケット名に置き換えてください。

• 設定後、sudo mount -aでマウントされることを確認します。


Proxmox VEでのバックアップ設定

バックアップストレージの追加

1. Proxmox VEのWeb GUIにログイン


2. ストレージの追加

• 左側のペインで「データセンター」を選択。

• 上部のメニューから「ストレージ」タブを選択。

• 「追加」ボタンをクリックし、「ディレクトリ」を選択。


3. ストレージの設定

• ID:任意の名前を入力(例:s3-backup)。

• ディレクトリ:/mnt/s3backupを指定。

• コンテンツ:VZDump backup fileを選択。

• その他の設定はデフォルトのままで、「追加」をクリック。


追加すると、約18EBのストレージとして認識されます。


バックアップジョブの作成

1. バックアップタスクの設定

• 「データセンター」→「バックアップ」タブを選択。

• 「追加」ボタンをクリック。


2. バックアップジョブの設定

• ノード:バックアップを行うノードを選択。

• スケジュール:バックアップの頻度と時間を設定。

• ストレージ:先ほど追加したs3-backupを選択。

• 仮想マシン/コンテナの選択:バックアップ対象を選択。

• モード:必要に応じて「スナップショット」や「停止」を選択。

• 保持期間:バックアップの保持数を設定。

• 「OK」をクリックしてジョブを作成。


メリット

1. 高い耐久性と可用性

• AWS S3は99.999999999%の耐久性を持ち、データを安全に保管できます。


2. スケーラビリティ

• ストレージ容量を必要に応じて自動的に拡張できます。


3. コスト効率

• 初期投資が不要で、使用量に応じた従量課金制です。


4. 災害対策

• オンプレミスの障害や災害時にもデータをクラウド上に保管しているため、迅速な復旧が可能です。


デメリット

1. パフォーマンスの制限

• ネットワークの帯域や遅延により、バックアップや復元に時間がかかる可能性があります。


2. セキュリティリスク

• インターネット経由でデータを転送するため、データの暗号化やアクセス制御が重要です。


3. コスト増加の可能性

• データ転送量や保存容量に応じてコストが発生するため、大量のデータを頻繁にバックアップすると費用が増加します。


まとめ

Proxmox VEでAWS S3をバックアップ先として利用することで、クラウドの利点を活かした柔軟なバックアップ環境を構築できます。しかし、パフォーマンスやセキュリティ、コストなどの課題も存在します。環境や要件に合わせて、最適なバックアップ戦略を策定することが重要です。


参考情報

• AWS S3のドキュメント:https://docs.aws.amazon.com/ja_jp/s3/index.html

• AWS IAMのドキュメント:https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction.html

• s3fs-fuse GitHub:https://github.com/s3fs-fuse/s3fs-fuse

• Proxmox VEバックアップと復元:https://pve.proxmox.com/wiki/Backup_and_Restore

コメント

タイトルとURLをコピーしました