スマートスタイル TECH BLOG

データベース&クラウド技術情報

Amazon AuroraについてのTips

はじめに

すでにAmazon Aurora(以下Aurora)が日本リージョンに来てから時間もそこそこ経過しており、すでにお使いになられている方や、これから移行されるというお話も度々耳にするようになりました。

Auroraについては既に様々なドキュメントがあり、構造や特徴などについても公開されています。
参考までに下記に公式ブログのリンクを貼ります。

AWS Black Belt Online Seminar 「 Amazon Aurora」 資料及びQ&A公開

今回は構成というよりは身近で使う際に少し引っかかるようなTipsをまとめてみました。
なおAuroraのバージョンは1.14.1で確認しております。

GRANT構文

これはRDS for MySQLでも同様ですが、GRANT構文が一部異なります。
具体的には下記のようにDBの指定に*ではなく`%`を使用します。

ではなく

を使います。

ちなみに%ではなく*を``で囲った場合、エラーは出ませんが、権限の付与はされないのでご注意ください。

SUPER Privilege

こちらもAuroraに限った話ではないのですが、ユーザーにSUPER権限の付与ができません。
そのため、SUPER権限が必要な処理に関しては、下記のようなProcedureが用意されているのでそちらを利用しましょう

私はあまり使用した経験がありませんが、binlogを使用したレプリケーションをする際には必要となって来ます。

LOG

基本的にError Log以外のGeneral Query LogやSlow Query Logはデフォルトでは出ない設定になっています。
General Query Logはともかく、Slow Query Logは出すようにした方がいざという時に助けになります。
設定についてはインスタンス用のパラメーターでslow_query_logを1にすることにより、出力されます。
その際はlong_query_timeがデフォルトでは10秒なので、そちらの調整もあわせて実施することをおすすめいたします。

また、log_outputがTABLEとなっておりますので、外部からファイルをダウンロードしたい場合はFILEに変更されると良いかと思います。

ストレージ領域の再利用

Auroraの特徴としてストレージは自動で拡張されていきます。これは非常に便利で嬉しい機能ですね。
ただ、データを削除するような使い方をしている場合、一度拡張されたストレージ領域は縮小されませんのでご注意ください。

データの削除方法する際のTipsとして削除方法の違いが挙げられます。
データ削除にDeleteを利用している場合、データ領域の解放が行われないため、削除された領域の再利用は行われず、追加のデータによりストレージ容量は増加されていきます。

それに比べてDROP/TRUNCATEを利用している場合、データ領域が解放され再利用が可能となるため、追加のデータはその領域を利用するため、ストレージ容量の増加を抑えることが可能となります。
可能でしたらDROP/TRUNCATEを利用することをおすすめいたします。

まとめ

いかかでしょうか?おそらくご存知なことが多かったかと思います。
ただ、いざとなると割と忘れていたりすることもありますので、リマインドとして
ご覧いただければ幸いです。


AWS

 

Return Top