あくまで参考値ですが、ちょっと計測してみた。
準備
- pgbench でデータを投入する
$ pgbench -i -s 1000 -U awsuser -h aurora-postgres124.cluster-********.ap-northeast-1.rds.amazonaws.com -d postgres dropping old tables... creating tables... generating data (client-side)... 100000000 of 100000000 tuples (100%) done (elapsed 191.64 s, remaining 0.00 s) vacuuming... creating primary keys... done in 329.99 s (drop tables 0.02 s, create tables 0.06 s, client-side generate 194.82 s, vacuum 43.61 s, primary keys 91.49 s).
- CTAS でデータサイズを10倍にする
$cat > ctas_pgbench_accounts.sql << 'EOF' create table pgbench_accounts_1 as select * from pgbench_accounts; create table pgbench_accounts_2 as select * from pgbench_accounts; create table pgbench_accounts_3 as select * from pgbench_accounts; create table pgbench_accounts_4 as select * from pgbench_accounts; create table pgbench_accounts_5 as select * from pgbench_accounts; create table pgbench_accounts_6 as select * from pgbench_accounts; create table pgbench_accounts_7 as select * from pgbench_accounts; create table pgbench_accounts_8 as select * from pgbench_accounts; create table pgbench_accounts_9 as select * from pgbench_accounts; create table pgbench_accounts_10 as select * from pgbench_accounts; EOF
$ nohup psql "host=aurora-postgres124.cluster-********.ap-northeast-1.rds.amazonaws.com user=awsuser dbname=postgres port=5432" -f ctas_pgbench_accounts.sql &
- Aurora クラスターを選択して、[モニタリング]タブの"[請求済み]使用されたボリュームのバイト数(GiB)"を確認する
- 140GiB 使用している
- スナップショットを取得
- マネジメントコンソールで Aurora PostgreSQL の Writer インスタンスを選択し、[アクション]-[スナップショットの取得]をクリック
- [スナップショット]-[手動]タブで作成したスナップショットの詳細を確認すると約4分でスナップショットが作成されていた
スナップショットのサイズは 140 GiB
リストア時間計測
- 約26分でリストアが完了
- データサイズを400GiBに増やしても約26分でリストア完了したため、データが増加した場合のリストア時間の増加率は低そう