JAWS-UG横浜で RDS Custom for SQL Server について話してきました

ウィスキー、シガー、パイプをこよなく愛する大栗です。

先日 JAWS−UG横浜で話をきてきました。re:Invent の Database に関するリキャップだったので RDS Custom for SQL Server について話してきました。

re:Invent で妙なRDSが発表されてたので浦島太郎な自分が解説してみる

発表資料

内容

最近AWSをメインで触っていないので浦島太郎状態ですが、色々調べてみました

re:Invent 2021 での Database Update はAWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報の資料によると以下がありました。

  1. Amazon DevOps Guru for RDS を発表
  2. Amazon RDS Custom for SQL Server を発表
  3. Amazon DynamoDB Standard IA table class を発表
  4. AWS DMS Fleet Advisor を発表
  5. 新しい DMS コンソール AWS DMS Studio を発表
  6. Amazon Timestream の速度とコスト効率を改善

この中で RDS Custom for SQL Server が気になったので少し調べてみました。

RDS Custom は OS や DBエンジンのカスタマイズが自由にできますが、通常の RDS に比べてユーザーの責任が大きくなります。責任は RDS と EC2 の中間で仮想マシンより上のレイヤーにユーザーの責任が発生します。

RDS Custom for SQL Server の実態は普通の SQL Server 付きの Windows Server で、SQL Server on EC2 の管理を良い感じにやってくれるサービスと言えます。

OSユーザーやDBユーザーは管理者権限を持っているので何でもできてしまいます。しかし、なにか問題があれば自動復旧を試みてくれます。

例えば RDS Custom 用のエージェントが停止してもイベント通知をして自動復旧します。

しかし、自動復旧できない状態(例えばデータベースファイルをDドライブ以外に置く)だとサポートされていない状態になります。

RDS のイベントでは以下のように表示されます。

サポートされていない状態のイベントは以下のドキュメントで対処方法が記載されているので、サポートされる状態に修正しましょう。

Amazon Relational Database Service User Guide > Troubleshooting DB issues for Amazon RDS Custom > Fixing unsupported configurations

まとめ

  • Amazon RDS Custom はカスタムが必要な時使うもの
  • 実態は EC2 で良い感じに運用してくれるサービス
  • 今までの RDS と異なりOS 以上のレイヤーからユーザーにも責任が出てくる
  • ある程度は自動復旧してくれるが「サポートされていない状態」の場合はユーザーが復旧処理をする

通常の RDS に比べて運用負荷や責任が大きいので無闇に使用するものではなく、覚悟を持って利用しましょう。

さいごに

RDS Custom は先に Oracle 版が先に発表されていましたが、データベースを EC2 で運用するのが楽になるサービスです。通常の RDS では我慢できない場合にうまく使って行きましょう。

また、最近は表で話す機会がなく久しぶりの JAWS-UG での発表となりましたが、思ったより緊張せずに済んだ気がします。これからは表で話す機会を増やそうと思っていますので、ご興味がある方はぜひご覧ください。