#はじめに
こんにちは、山田です。今年の目標として、学んだこと実装したことを記事に書いていきたいと思います。
今回は、現在関わらせていただいている案件でSQLServerのバックアップをS3に保存を実装したので、その手順について記載していこうと思います。
よろしくお願いいたします。
#構成図
今回使用するAWSリソースは下記の通りです。
AWSリソース | 個数 |
---|---|
VPC | 1 |
Subnet | 2 |
Internet Gateway(IGW) | 1 |
EC2 | 1 |
RDS(SQLServer) | 1 |
S3 | 1 |
全体構成図は下記の通りです。
① Internet Gateway(IGW)を介して、PublicSubnetに配置しているEC2にログインする。
②「SQL Server Management Studio」を使用して、EC2からRDSにログインする。
③ S3にバックアップを作成するクエリを実行する。
#手順
下記よりSQLServerからS3にバックアップを取得する手順を記載していきます。
##前提条件
VPC、Subnet、InternetGateway、EC2、RDS、S3に関しては作成済みとする。
##オプショングループの作成
① AWS管理コンソール->RDS->オプショングループの作成->グループを作成をクリックする。
② 以下の設定項目を設定する。
自分の場合は、「SQL Server Express Edition」を使用したので、エンジンは「sqlserver-ex」を選択しました。
##オプションの追加
① オプション名は「SQLSERVER_BACKUP_RESTORE」を選択する。
② IAMロールは、既存のロールを選択せずに「新しいロールの作成」を選択する。
③ S3送信先は、SQLServerのデータバックアップ保存用に作成したS3を指定する。
④ スケジューリングは「今すぐ」を選択する。
##RDSの設定変更
① AWS管理コンソール->RDS>データベース->バックアップを保存したいSQLServerを選択->「変更」をクリック
② 追加設定の項目で、オプショングループを新しく作成したオプショングループに変更する。
##SQLManagementStudioのダウンロード
① EC2にログインする。
② 下記URLより、「SQLManagementStudio」をダウンロードする。
##RDSにログイン
① 「SQLManagementStudio」を起動する。
② 以下の画面が表示されるので、それぞれの項目を入力してログインする。
項目名 | 入力値 |
---|---|
Server type | Database Engine |
Server name | RDSエンドポイント名 |
Authentication | SQL Server Authentication |
Login | RDS作成時に設定したマスターユーザー名 |
Password | RDS作成時に設定したマスターパスワード |
##クエリの実行
① ログイン後以下の画面が表示されるので、「New Query」をクリックする。
② クエリ文を入力して、「Execute」をクリックしてクエリを実行する。
基本的な構文は、以下の通りです。
exec msdb.dbo.rds_backup_database
@source_db_name='<db 名>',
@s3_arn_to_backup_to='arn:aws:s3:::<バケット名>/<バックアップファイル名>',
@overwrite_S3_backup_file=1;