Verticaのオンラインバックアップで、AWSのS3に直接バックアップを取得する方法
はじめに
VerticaをAWSで使用している場合、S3に直接バックアップを取得することが可能です。
以下に、バックアップユーティリティ(vbr.py)を使用してS3に直接バックアップを取得する方法をご紹介します。
※Vertica8.1.1からの機能です。

Verticaのバックアップに関しては以下の情報を参照ください。
https://www.ashisuto.co.jp/cm/analytics-database/backup-restore-summary.html
権限の設定
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)を使用してオンラインバックアップを取得します。
■バックアップ構成ファイルの確認
$ 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からです)