はじめに
VerticaをAWSで使用している場合、S3に直接バックアップを取得することが可能です。以下に、バックアップユーティリティ(vbr.py)を使用してS3に直接バックアップを取得する方法をご紹介します。
※Vertica8.1.1からの機能です。
Verticaのバックアップに関しては以下の情報を参照ください。
http://vertica-tech.ashisuto.co.jp/backup-restore-summary/
権限の設定
EC2からS3にバックアップを取得できるようにするには、以下のいずれかの方法で権限の設定を行う必要があります。●AWS credential file
~/.aws/credentialsファイルを作成し、ファイルに以下の設定を行います。
[default]
aws_access_key_id = AWSのアクセスキー
aws_secret_access_key = AWSのシークレットキー
●IAM role
AWSのIAM(Identity and Access Management)ロールで、EC2からS3にI/Oできる設定をします。
●Environmental variables
以下の環境変数を設定します。
export AWS_ACCESS_KEY_ID=AWSのアクセスキー
export AWS_SECRET_ACCESS_KEY=AWSのシークレットキー
実行例
バックアップユーティリティ(vbr.py)を使用してオンラインバックアップを取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
■バックアップ構成ファイルの確認 $ cat db_backup.ini [S3] s3_backup_path = s3://vbackup1/ ★S3のバックアップ出力先を設定 s3_backup_file_system_path = <IPアドレス>:/home/dbadmin/work ★バックアップの処理で使用するディレクトリを設定 [Database] dbName = vdb [Misc] tempDir = /tmp/vbr restorePointLimit = 1 passwordFile = /home/dbadmin/work/backup/db_backup.pass ■パスワードファイルの確認 $ cat db_backup.pass [Passwords] dbPassword = <パスワード> ■バックアップの初期化 $ /opt/vertica/bin/vbr --task init --s3-force-init -c db_backup.ini Initializing backup locations. Backup locations initialized. ■バックアップを取得 $ /opt/vertica/bin/vbr --task backup -c db_backup.ini Starting backup of database vdb. Participating nodes: v_vdb_node0001. Snapshotting database. Snapshot complete. Approximate bytes to copy: 8150666229 of 8150666229 total. [==================================================] 100% Copying backup metadata. Finalizing backup. Backup complete! ■バックアップが取得されていることを確認 $ /opt/vertica/bin/vbr --task listbackup -c db_backup.ini backup backup_type epoch objects include_patterns exclude_patterns version file_system_type backup_snapshot_20190219_144206 full 546 v9.2.0-4 [Linux] |
S3にバックアップされていることを確認
S3の「vbackup1」にバックアップされていることが確認できます。検証バージョンについて
この記事の内容はVertica 9.2で確認しています。(S3に直接バックアップをできるのは、Vertica8.1.1からです)