以下の内容はhttps://cream-worker.blog.jp/tag/RDSより取得しました。


AWS RDS DB数のクォータ

RDSのSQLServerでDB作ってたら下記のエラー。

Database creation would exceed quota of 30

サービスクォータでDB数の制限があるっぽいのですが、これクォータの中に無いと思うんだけども。。。

公式のクォータ一覧

上だと、DBの「インスタンス数」には制限あるけど、DB数は無いよね?

と思ったら、こっちの制限っぽいか。

Microsoft SQL Server DB インスタンスの制限

各インスタンスクラスタイプと可用性モードでサポートされるデータベースの最大数を示しています。

らしいので、可用性モードの場合は30までが限界っぽいですね。

うーん。増やせないんだろうか。。。

AWS SQLServerのRDSの作成+バックアップとリストア

タイトル通りでハマった・迷ったところのみ記載。


作成

公式のドキュメントに載ってるままなのですが、照合順序の指定は最初からやっておかないとなので、作る時に下記が必要。

aws-sample01

日本語ベースで使うなら上記は必須かな。

あとセキュリティーグループで1433のポート開放しておかないと、SSMSで繋げなくなる。


復元

復元する場合、基本的にS3にバックアップファイル上げて、そこから復元する。

S3にアクセスするために、オプショングループの割り当てとか必要なのですが、その辺がいまいちわからなかった。

  • オプショングループ作成

aws-sample02

  • 追加したグループにオプションの追加

aws-sample03

  • で、ハマったのがここ

IAMロールを先に作らないとダメなのかと思って公式に記載のアレコレやってたのですが、そうじゃなくて、単純に「新しいロールの作成」選べば、よしなにやってくれる。

aws-sample04

  • インスタンスの変更からオプショングループを指定

aws-sample05

  • 復元

S3の所定のバケット内にバックアップファイルをアップロードして、SSMSで作ったインスタンスに接続して下記クエリを実行。

exec msdb.dbo.rds_restore_database 
@restore_db_name='復元後のDB名', 
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name';


バックアップ

バックアップは上記復元の設定が出来てればあとはSQLで下記を実行。

exec msdb.dbo.rds_backup_database
@source_db_name='バックアップ対象のDB名', 
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name';


バックアップ・復元タスクの状況確認

実行したクエリの状況が見たい場合は下記

exec msdb.dbo.rds_task_status

この辺のSQLは公式のこの辺に記載されてるやつを見た方が良い。


あとバックアップの運用について。

スナップショットを自動で取ってはくれるのですが、スナップショットの復元って、必ず別インスタンスに復元されるじゃないですか?

中身のバックアップとってアタッチしたいだけなんだけどなー。

別インスタンスに復元されたところで、アプリのもろもろの設定変えないと意味ないしの。

まーそこから復旧出来るので十分ではあるのかもですが。

DB毎のDaily/Weeklyバックアップ的なのはSQLServerならSQLエージェント側で上記のバックアップSQLとか組んで実行しておくしかないかな?

他にやり方あるのかしら?




以上の内容はhttps://cream-worker.blog.jp/tag/RDSより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14