LoginSignup
0
0

More than 1 year has passed since last update.

SQLServerのバックアップをAmazon S3に保存する

Last updated at Posted at 2022-01-09

はじめに

こんにちは、山田です。今年の目標として、学んだこと実装したことを記事に書いていきたいと思います。
今回は、現在関わらせていただいている案件でSQLServerのバックアップをS3に保存を実装したので、その手順について記載していこうと思います。
よろしくお願いいたします。

構成図

今回使用するAWSリソースは下記の通りです。

AWSリソース 個数
VPC 1
Subnet 2
Internet Gateway(IGW) 1
EC2 1
RDS(SQLServer) 1
S3 1

全体構成図は下記の通りです。
image.png
① 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」を選択しました。
image.png

オプションの追加

① オプション名は「SQLSERVER_BACKUP_RESTORE」を選択する。
② IAMロールは、既存のロールを選択せずに「新しいロールの作成」を選択する。
③ S3送信先は、SQLServerのデータバックアップ保存用に作成したS3を指定する。
④ スケジューリングは「今すぐ」を選択する。
image.png
image.png

RDSの設定変更

① AWS管理コンソール->RDS>データベース->バックアップを保存したいSQLServerを選択->「変更」をクリック
② 追加設定の項目で、オプショングループを新しく作成したオプショングループに変更する。
image.png

SQLManagementStudioのダウンロード

① EC2にログインする。
② 下記URLより、「SQLManagementStudio」をダウンロードする。

RDSにログイン

① 「SQLManagementStudio」を起動する。
image.png
② 以下の画面が表示されるので、それぞれの項目を入力してログインする。

項目名 入力値
Server type Database Engine
Server name RDSエンドポイント名
Authentication SQL Server Authentication
Login RDS作成時に設定したマスターユーザー名
Password RDS作成時に設定したマスターパスワード

image.png

クエリの実行

① ログイン後以下の画面が表示されるので、「New Query」をクリックする。
image.png
② クエリ文を入力して、「Execute」をクリックしてクエリを実行する。
 基本的な構文は、以下の通りです。

exec msdb.dbo.rds_backup_database
   @source_db_name='<db 名>',
   @s3_arn_to_backup_to='arn:aws:s3:::<バケット名>/<バックアップファイル名>',
     @overwrite_S3_backup_file=1;

image.png
③ 指定したS3にバックアップファイルが保存されていれば完了です。
image.png

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0