

# Amazon RDS for SQL Server DB インスタンスと Amazon S3 の統合
<a name="User.SQLServer.Options.S3-integration"></a>

Amazon RDS for SQL Server を実行する DB インスタンスと Amazon S3 バケットの間でファイルを転送できます。これにより、BULK INSERT などの SQL Server 特性で Amazon S3 を使用することができます。例えば、Amazon S3 から .csv、.xml、.txt、その他ファイルを DB インスタンスホストにダウンロードして、`D:\S3\` からデータベースにデータをインポートできます。全てのファイルは DB インスタンスの `D:\S3\` に保存されます。

以下の制限が適用されます。

**注記**  
RDS ホストと S3 間のトラフィックは、S3 を使用するすべての SQL Server 機能の RDS 内部 VPC エンドポイントを経由します。このトラフィックは RDS インスタンスエンドポイント ENI を使用しません。S3 バケットポリシーは、ネットワーク条件によって RDS トラフィックを制限することはできません。
+ `D:\S3` フォルダ内のファイルは、マルチ AZ インスタンスでのフェイルオーバー後にスタンバイレプリカで削除されます。詳細については、「[S3 統合のマルチ AZ の制限](#S3-MAZ)」を参照してください。
+ DB インスタンスと S3 バケットが同じ AWS リージョンに存在する必要があります。
+ 一度に複数の S3 統合タスクを実行する場合、タスクは並列ではなく順次に実行されます。
**注記**  
S3 統合タスクは、ネイティブバックアップおよび復元タスクと同じキューを共有します。このキューでは、一度に最大2つのタスクまで同時進行させることができます。したがって、実行中の 2 つのネイティブバックアップおよび復元タスクによって S3 統合タスクがブロックされます。
+ S3 統合機能を復元インスタンスで再度有効にする必要があります。S3 統合は元のインスタンスから復元インスタンスに伝搬されることはありません。`D:\S3` のファイルは、復元インスタンスで削除されます。
+ DB インスタンスへのダウンロードは、最大 100 ファイルまでです。言い換えれば、`D:\S3\` 内には 100 ファイル以上は入れておけません。
+ ファイル拡張子がない、または次のファイル拡張子があるファイルのみがダウンロードできます。.abf、.asdatabase、.bcp、.configsettings、.csv、.dat、.deploymentoptions、.deploymenttargets、.fmt、.info、.ispac、.lst、.tbl、.txt、.xml、および.xmla
+ S3 バケットは、関連の AWS Identity and Access Management (IAM) 役割に関連した同じオーナーである必要があります。したがって、クロスアカウント S3 統合はサポートされていません。
+ S3 バケットは一般に公開できません。
+ RDS から S3 へのアップロードのファイルサイズは、1 ファイルあたり 50 GB に制限されます。
+ S3 から RDS へのダウンロードのファイルサイズは、S3 でサポートされている最大サイズに制限されます。

**Topics**
+ [RDS for SQL Server を S3 と統合するための前提条件](Appendix.SQLServer.Options.S3-integration.preparing.md)
+ [RDS for SQL Server と S3 の統合を有効にする](Appendix.SQLServer.Options.S3-integration.enabling.md)
+ [RDS for SQL Server と Amazon S3 間のファイル転送](Appendix.SQLServer.Options.S3-integration.using.md)
+ [RDS DB インスタンスでのファイル一覧表示](Appendix.SQLServer.Options.S3-integration.using.listing-files.md)
+ [RDS DB インスタンスでのファイル削除](Appendix.SQLServer.Options.S3-integration.using.deleting-files.md)
+ [ファイル転送タスクのステータスをモニタリングする](Appendix.SQLServer.Options.S3-integration.using.monitortasks.md)
+ [タスクのキャンセル](Appendix.SQLServer.Options.S3-integration.canceltasks.md)
+ [S3 統合のマルチ AZ の制限](#S3-MAZ)
+ [RDS for SQL Server と S3 の統合を無効にする](Appendix.SQLServer.Options.S3-integration.disabling.md)

Amazon S3 でのファイルの操作の詳細については、「[Amazon Simple Storage Service の開始方法](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3)」を参照してください。

## S3 統合のマルチ AZ の制限
<a name="S3-MAZ"></a>

マルチ AZ インスタンスでは、`D:\S3` フォルダ内のファイルはフェイルオーバー後にスタンバイレプリカから削除されます。フェイルオーバーは、例えば、インスタンスクラスの変更やエンジンバージョンのアップグレードなど、DB インスタンスの変更中に計画できます。または、プライマリの停止中にフェイルオーバーが予定外になることがあります。

**注記**  
`D:\S3` フォルダをファイルストレージに使用することはお勧めしません。ベストプラクティスは、作成したファイルを Amazon S3 にアップロードして耐久性を保持し、データをインポートする必要があるときにファイルをダウンロードすることです。

最後のフェイルオーバー時間を決定するには、`msdb.dbo.rds_failover_time` ストアドプロシージャを使用できます。詳細については、「[Amazon RDS for SQL Server の最終フェイルオーバー時間の決定](Appendix.SQLServer.CommonDBATasks.LastFailover.md)」を参照してください。

**Example 最近のフェイルオーバーがない例**  
この例は、エラーログに最近のフェイルオーバーが存在しない場合の出力を示しています。2020-04-29 23:59:00.01 以降、フェイルオーバーは発生していません。  
したがって、`rds_delete_from_filesystem` ストアドプロシージャを使用して削除されていない、その時間の後にダウンロードされたすべてのファイルは、現在のホストで引き続きアクセスできます。それ以前にダウンロードされたファイルも利用可能になる場合があります。  


| errorlog\_available\_from | recent\_failover\_time | 
| --- | --- | 
| 2020-04-29 23:59:00.0100000 | null | 

**Example 最近のフェイルオーバーの**  
この例は、エラーログにフェイルオーバーが存在する場合の出力を示しています。最新のフェイルオーバーは、2020-05-05 18:57:51.89 に発生しています。  
`rds_delete_from_filesystem` ストアドプロシージャを使用して削除されていない、その時間以降にダウンロードされたすべてのファイルは、現在のホストで引き続きアクセスできます。  


| errorlog\_available\_from | recent\_failover\_time | 
| --- | --- | 
| 2020-04-29 23:59:00.0100000 | 2020-05-05 18:57:51.8900000 | 