AWS Black Belt Online Seminar「Amazon Aurora with PostgreSQL 」の資料およびQA公開
こんにちは、プロフェッショナルサービスの宮本です。
先日開催致しました AWS Black Belt Online Seminar 「Amazon Aurora with PostgreSQL」の資料を公開いたしました。当日参加者の皆様から頂いたQAの回答と併せてご紹介致します。
今後のAWS Black Belt Online Seminarのスケジュールは こちら です。皆様のご参加をお待ちしております。
【Q&A】
1. RDS for PostgreSQLのスナップショットから移行可能とのことですが、どのバージョンからでも移行可能でしょうか。
本資料のP.59に記載の通り、RDS for PostgreSQL 9.6.1 以降のバージョンからの移行がサポートされております。
下記のドキュメントも合わせてご確認ください。
DB スナップショットを使用した PostgreSQL DB インスタンスから Amazon Aurora PostgreSQL DB クラスターへのデータ移行
2. 全てのデータ型に対応していますか?
はい、PostgreSQL 9.6 でサポートされているデータ型および、RDS for PostgreSQL 9.6.3 でサポートされる拡張モジュールによって追加されているデータ型をご利用いただけます。
3. Aurora DB Clusterですが、通常のRDSのMulti-AZ + リードレプリカと異なる点は何でしょうか。
本資料のP.14,27,40,41,44 のスライドをご確認いただければと思います。
4. フェイルオーバーで復旧するのにどのくらいかかりますか?
本資料のP.30 にフェイルオーバーにおけるプロセスが記載されております。こちらにも記載されている通り、通常 30秒以内にフェイルオーバーが完了します。ですが、お客様のワークロードやDNS の伝播状況などによって異なる場合もございますので、実際に検証いただければと思います。
また、以下のドキュメントにフェイルオーバーをより高速に行うためのプラクティスが記載されておりますので、合わせてご確認ください。
Amazon Aurora PostgreSQL を使用する際のベストプラクティス
http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.BestPractices.html
5. ストレージ料金を削減する目的で、容量を削除することはできますか?(容量が減った場合はどうなりますか?)
現在のところ、一度利用したストレージ容量を削減することはできません。なお、データ削除後の空き領域については、再利用されます。
6. 課金はコピーも含めた容量に基づくものでしょうか?(例えば10GBのデータの場合、60GB分が課金される?)
いえ、あくまでも使用量のみに基づきます。そのため、挙げていただいた例の場合は、10GBがストレージ料金として課金されます。
7. SSDで今までだと容量により、クレジットやIOPSの変化があったと思いますがAuroraストレージの場合はどうなりますか?
Aurora ストレージでは、Amazon Elastic Block Store (Amazon EBS)と異なり、上記のような概念はございません。
8. calculatorのサイトで、auroraが見当たらないのですが、試算はできないでしょうか?
AWS Simple Monthly Calculator(https://calculator.s3.amazonaws.com/index.html) についてのご質問という前提で回答いたします。
上記サイト内の[Amazon RDS]をクリック後、”DB Engine and License”の選択肢より[Aurora – PostgreSQL Compatible]をご選択いただくことで試算できます。
9. vacuumやreindexはやはり必要なのでしょうか?autovacuumに任せきりで問題ないでしょうか?
基本的には、PostgreSQL と同様に考えていただければと思います。Vacuum については PostgreSQL のマニュアルでも推奨されているとおり、まずは autovacuum のご利用を検討いただくと良いかと存じます。その上で、お客様のユースケースに合わせて、autovacuum 関連のパラメータをご設定ください。24.1. 定常的なバキューム作業(外部サイト:PostgreSQL マニュアル)
https://www.postgresql.jp/document/9.6/html/routine-vacuuming.html
また、CloudWatch にてトランザクションID の監視が可能ですので、こちらも合わせてご確認ください。【AWS Database Blog】Amazon RDS for PostgreSQL でトランザクションID周回の早期検知のための実装
最後に蛇足となりますが、reindex では、ACCESS EXCLUSIVE ロックをという排他的ロックをとります。Aurora 及びRDS for PostgreSQL 9.6.3では、拡張モジュールである pg_repack もサポートしておりますので、こちらの利用もご検討ください。
pg_repack 拡張機能の使用
10. RDS のストレージ暗号化機能を利用している場合、RDS for PostgreSQL から Aurora への移行機能がサポートされていないということですが、その場合どのように移行すればよいでしょうか?( 移行時にRDS暗号化している場合の対応はどうすればいいでしょうか?)
例えば、以下のような方策がとれるかと存じます。
RDS for PostgreSQL からpg_dump や copy文などでデータをダンプいただき、Aurora へインポートする
参考:http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html
AWS Database Migration Service を利用し、データロードを行う
11. オンプレのオラクルからAuroraPostgressに移行する際の留意点はありますか?
すべての観点における留意点を網羅しているとは限りませんが、下記の資料が参考になるかと存じます。
動画:https://www.youtube.com/watch?v=sSa4tC7eFA4
資料:https://d1.awsstatic.com/events/jp/2017/summit/slide/D3T2-2_v2.pdf
12. Amazon Aurora からRDS for PostgreSQLへの移行は可能でしょうか?
Amazon Aurora with PostgreSQL Compatibility では、PostgreSQL のクライアントツールが利用可能ですので、Aurora からpg_dump や ¥copy文などでデータをダンプいただき、そのほかのPostgreSQL へインポートいただくことは可能です。
13. 単一の重たいクエリを優先度を下げて実行することは可能ですか?(ワークロード管理)
記載いただいた機能はサポートされておりませんが、Aurora レプリカを複数作成いただき、そのうちの1台を集計など重たいクエリを行う専用のインスタンスとしていただくことでワークアラウンドになるかと存じます。その場合、レプリカへアクセスする際、リーダーエンドポイントを利用するのではなく、インスタンスエンドポイントを利用いただき、アプリケーション側でSQL をそれぞれのレプリカインスタンスに振り分けるなどの工夫が必要となります。
14. MySQL版と比べたときにコスト面などでのメリットはあるのでしょうか。
同一インスタンスタイプの料金およびストレージ料金は同じです。
以上です。
コメント