Amazon RDS-MSSQLの機能

Microsoft SQL Serverは、業界で著名なリレーショナルデータベースです。AWS RDSは、MSSQLサーバーの複数のバージョンをサポートしています。以下のサポートされているバージョンとエディションのリスト。これらのバージョンはすべて、ポイントインタイムの復元、および自動または手動のバックアップをサポートしています。SQL Serverを実行しているDBインスタンスは、VPC内で使用できます。SSLを使用して、SQLServerを実行しているDBインスタンスに接続することもできます。Amazon RDSは現在、高可用性のフェイルオーバーソリューションとしてSQLServerミラーリングを使用したSQLServerのマルチAZ展開をサポートしています。

AWS RDSは、2008年以降のMSSQLサーバーのメジャーバージョンを利用できるようにします。これらのバージョンの詳細は以下のとおりです。

  • SQL Server 2017 RTM

  • SQL Server 2016 SP1

  • SQL Server 2014 SP2

  • SQL Server 2012 SP4

  • SQL Server 2008 R2 SP3

以下は、PythonSDKプログラムでAWSAPIを使用してサポートされているDBエンジンバージョンを取得する方法の例です。

import boto3

client = boto3.client('rds')

response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='sqlserver-ee',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

上記のプログラムを実行すると、次の出力が得られます-

{
   "ResponseMetadata": {
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "186a9d70-7580-4207-8727-4d29aebb5213",
      "HTTPHeaders": {
         "x-amzn-requestid": "186a9d70-7580-4207-8727-4d29aebb5213",
         "date": "Fri, 14 Sep 2018 05:39:11 GMT",
         "content-length": "1066",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [
      {
         "u'Engine'": "sqlserver-ee",
         "u'DBParameterGroupFamily'": "sqlserver-ee-14.0",
         "u'SupportsLogExportsToCloudwatchLogs'": false,
         "u'SupportsReadReplica'": true,
         "u'DBEngineDescription'": "MicrosoftSQLServerEnterpriseEdition",
         "u'EngineVersion'": "14.00.3035.2.v1",
         "u'DBEngineVersionDescription'": "SQL Server 2017 14.00.3035.2.v1",
         "u'ValidUpgradeTarget'": []
      }
   ]
}

RDS DBインスタンスのソフトウェアライセンスは、MSSQLサーバーを使用するための料金に含まれています。ユーザーはライセンスを持ち込む必要はありません。価格には、ソフトウェアライセンス、ハードウェアリソース、AWSRDS管理機能も含まれています。

以下は、MS SQLServerエディションで使用可能なMSSQLServerエディションです。

  • Enterprise

  • Standard

  • Web

  • Express

オラクルとは異なり、マルチAZデプロイメントに追加のライセンス要件はありません。Microsoft Serverは、このような展開にSQLサーバーデータベースミラーリングを使用します。

ライセンスの問題が原因で終了したインスタンスの場合、AWSは、ライセンスの問題が解決されたときにDBを復元できるDBスナップショットを維持します。

MS SQLサーバーのデータベースエンジンは、役割ベースのセキュリティを使用します。

DBインスタンスの作成時に使用されるマスターユーザー名は、processadmin、public、およびsetupadmin固定サーバーロールのメンバーであるSQL Server認証ログインです。データベースを作成するすべてのユーザーは、そのデータベースのdb_ownerロールに割り当てられ、すべてを持っています。バックアップに使用されるものを除く、データベースレベルのアクセス許可。Amazon RDSは、ユーザーのバックアップを管理します。

AWS RDS for MS SQLServerでサポートされていない機能がかなりあります。それらのいくつかを以下に示します。これは、オンプレミスデータベースがクラウドに移行されるシナリオにとって重要です。これらの機能の可用性は慎重に評価する必要があります。

  • 常にオン

  • Microsoft Azure BlobStorageへのバックアップ

  • バッファプール拡張

  • BULK INSERTおよびOPENROWSET(BULK ...)機能

  • データ品質サービス

  • 分散クエリ(つまり、リンクサーバー)

  • 配布トランザクションコーディネーター(MSDTC)

  • ファイルテーブル

  • FILESTREAMのサポート

  • パフォーマンスデータコレクター

  • ポリシーベースの管理

  • SQLServer監査

  • サーバーレベルのトリガー

  • T-SQLエンドポイント(CREATE ENDPOINTを使用するすべての操作は使用できません)