

# SQL Server のネイティブバックアップおよび復元のサポート
<a name="Appendix.SQLServer.Options.BackupRestore"></a>

SQL Server データベースのネイティブバックアップおよび復元を使用すると、オンプレミスデータベースの差分バックアップまたは完全バックアップを作成し、バックアップファイルを Amazon S3 に保存できます。これで、SQL Server を実行する既存の Amazon RDS DB インスタンスに復元できます。また、RDS for SQL Server データベースをバックアップして Amazon S3 に保存し、他の場所に復元することもできます。さらに、オンプレミスサーバーや SQL サーバーが実行されている別の Amazon RDS DB インスタンスにバックアップを復元できます。詳細については、「[ネイティブバックアップと復元を使用した SQL Server データベースのインポートとエクスポート](SQLServer.Procedural.Importing.md)」を参照してください。

Amazon RDS では、差分および完全バックアップファイル (.bak ファイル) を使用した、Microsoft SQL Server データベースのネイティブバックアップと復元をサポートしています。

## ネイティブバックアップおよび復元オプションの追加
<a name="Appendix.SQLServer.Options.BackupRestore.Add"></a>

DB インスタンスにネイティブバックアップおよび復元オプションを追加する一般的な手順は以下のとおりです。

1. 新しいオプショングループを作成するか、既存のオプショングループをコピーまたは変更します。

1. オプショングループに [`SQLSERVER_BACKUP_RESTORE`] オプションを追加します。

1. AWS Identity and Access Management (IAM) ロールとオプションを関連付けます。IAM ロールには、データベースバックアップを復元できるように S3 バケットのアクセス権限を付与します。

   つまり、オプションには、有効な Amazon リソースネーム (ARN) を`arn:aws:iam::account-id:role/role-name` 形式で設定するオプションが必要となります。詳細については、*AWS 全般のリファレンス* の「[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam)」を参照してください。

   IAM ロールには、信頼関係と許可ポリシーがアタッチされている必要もあります。信頼関係は RDS がロールを引き受けることを許可し、許可ポリシーはロールが実行できるアクションを定義します。詳細については、「[ネイティブバックアップおよび復元用の IAM ロールの手動作成](SQLServer.Procedural.Importing.Native.Enabling.md#SQLServer.Procedural.Importing.Native.Enabling.IAM)」を参照してください。

1. オプショングループを DB インスタンスに関連付けます。

ネイティブバックアップおよび復元オプションを追加したら、DB インスタンスを再起動する必要はありません。オプショングループがアクティブになるとすぐ、バックアップと復元をスタートできます。

### コンソール
<a name="Add.Native.Backup.Restore.Console"></a>

**ネイティブバックアップおよび復元オプションを追加**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. 新しいオプショングループを作成するか、既存のオプショングループを使用します。カスタム DB オプションの作成方法については、「[オプショングループを作成する](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create)」を参照してください。

   既存のオプショングループを使用する場合は、次のステップに進んでください。

1. オプショングループに [**SQLSERVER\$1BACKUP\$1RESTORE**] オプションを追加します。オプションの追加方法の詳細については、「[オプショングループにオプションを追加する](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption)」を参照してください。

1. 次のいずれかを行ってください。
   + 既存の IAM ロールおよびAmazon S3 設定を使用するには、**IAM ロール**に対して既存の IAM ロールを選択します。既存の IAM ロールを使用すると、RDS は、このロールに対して設定した Amazon S3 設定を使用します。
   + 新規ロールを作成し、Amazon S3 設定を構成するには、次の手順を実行します。

     1. **[IAM role]** (IAM ロール) は、**[Create a new role]** (新しいロールの作成) を選択します。

     1. 「**S3 バケット**」 で、リストからS3 バケットを選択します。

     1. 「**S3 プレフィックス (オプション)**」 で、Amazon S3 バケットに保存されているファイルに使用するプレフィックスを指定します。

        このプレフィックスにはファイルパスを含めることはできますが、必須ではありません。プレフィックスを提供すると、RDS はそのプレフィックスをすべてのバックアップファイルにアタッチします。その後、復元中に、RDS はプレフィックスを使用して関連ファイルを特定し、非関連ファイルを無視します。例えば、バックアップファイルを保持する以外の目的で、S3 バケットを使用することが可能です。この場合、RDS が、特定のフォルダやサブフォルダでネイティブバックアップおよび復元を実行するため、プレフィックスを使うことが可能です。

        プレフィックスを空白にした場合、RDS はプレフィックスを使用しないでバックアップファイルの特定およびファイルの復元を実行します。その結果、複数ファイルの復元中に、RDS は S3 バケットの各フォルダのすべてのファイルの復元を試みます。

     1. バックアップファイルを暗号化する場合は、「**暗号化を有効化する**」の チェックボックスを選択します。バックアップファイルを暗号化しない場合は、チェックボックスをオフにします (デフォルト)。

        「**暗号化を有効化する**」 を選択した場合、「**AWS KMS key**」で暗号化キーを選択します。暗号化キーの詳細については、*AWS Key Management Service デベロッパーガイド*の「[スタート方法](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html)」を参照してください。

1. [**オプションの追加**] を選択します。

1. 新規または既存の DB インスタンスに、DB オプショングループを適用します。
   + 新しい DB インスタンスの場合は、インスタンスを起動するときにオプショングループを適用します。詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。
   + 既存の DB インスタンスの場合は、インスタンスを修正し、新しいオプショングループを添付することで、オプショングループを適用します。(詳しくは、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。) 

### CLI
<a name="Add.Native.Backup.Restore.CLI"></a>

この手順では、以下を前提とします。
+ 既存のオプショングループに SQLSERVER\$1BACKUP\$1RESTORE オプションを追加します。オプションの追加方法の詳細については、「[オプショングループにオプションを追加する](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption)」を参照してください。
+ このオプションを既存の IAM ロールに関連付けます。また、バックアップを保存するための S3 バケットへのアクセス権があります。
+ オプショングループを既存の DB インスタンスに適用します。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

**ネイティブバックアップおよび復元オプションを追加**

1. オプショングループに [`SQLSERVER_BACKUP_RESTORE`] オプションを追加します。  
**Example**  

   Linux、macOS、Unix の場合:

   ```
   aws rds add-option-to-option-group \
   	--apply-immediately \
   	--option-group-name mybackupgroup \
   	--options "OptionName=SQLSERVER_BACKUP_RESTORE, \
   	  OptionSettings=[{Name=IAM_ROLE_ARN,Value=arn:aws:iam::account-id:role/role-name}]"
   ```

   Windows の場合:

   ```
   aws rds add-option-to-option-group ^
   	--option-group-name mybackupgroup ^
   	--options "[{\"OptionName\": \"SQLSERVER_BACKUP_RESTORE\", ^
   	\"OptionSettings\": [{\"Name\": \"IAM_ROLE_ARN\", ^
   	\"Value\": \"arn:aws:iam::account-id:role/role-name"}]}]" ^
   	--apply-immediately
   ```
**注記**  
Windows コマンドプロンプトを使用する場合、JSON コードでは、二重引用符 (") の前にバックスラッシュ (\$1) を付けてエスケープする必要があります。

1. DB インスタンスにオプショングループを適用します。  
**Example**  

   Linux、macOS、Unix の場合:

   ```
   aws rds modify-db-instance \
   	--db-instance-identifier mydbinstance \
   	--option-group-name mybackupgroup \
   	--apply-immediately
   ```

   Windows の場合:

   ```
   aws rds modify-db-instance ^
   	--db-instance-identifier mydbinstance ^
   	--option-group-name mybackupgroup ^
   	--apply-immediately
   ```

## ネイティブバックアップおよび復元オプションの設定の変更
<a name="Appendix.SQLServer.Options.BackupRestore.ModifySettings"></a>

ネイティブバックアップおよび復元オプションを有効にすると、オプションの設定を変更できます。オプション設定の変更方法の詳細については、「[オプションの設定を変更する](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption)」を参照してください。

## ネイティブバックアップおよび復元オプションの削除
<a name="Appendix.SQLServer.Options.BackupRestore.Remove"></a>

DB インスタンスからオプションを削除することによって、ネイティブバックアップおよび復元をオフにすることができます。ネイティブバックアップおよび復元オプションを削除したら、DB インスタンスを再起動する必要はありません。

DB インスタンスからネイティブバックアップおよび復元オプションを削除するには、次のいずれかを実行します。
+  オプションを所属するオプショングループから削除します。この変更はそのオプショングループを使用するすべての DB インスタンスに影響します。詳細については、「[オプショングループからオプションを削除する](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption)」を参照してください。
+ DB インスタンスを修正して、ネイティブバックアップおよび復元オプションが含まれない別オプショングループを指定します。この変更は、単一の DB インスタンスに影響します。デフォルト (空) のオプショングループや別のカスタムオプショングループを指定できます。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。