【SQL Server】【AWS RDS】Microsoft SQL Server と RDS for SQL Server

Microsoft SQL ServerRDS for SQL Server の違いについて調べました。

 

 

RDS for SQL Server のメリット・デメリット

以下の設定や管理が不要になります。

  • プロビジョニング
  • バックアップ
  • ソフトウェアのパッチ適用
  • モニタリング
  • ハードウェアのスケーリング

 

【メリット】DB インスタンスへの接続に SSL を使用できる

SQL Server DB インスタンスへの接続に SSL を使用できます。

 

【デメリット】DB インスタンスへ SSH や Telnet でログインできない

Amazon RDS は、OS の上に構築されているわけではないため、Telnet や SSH や Windows のリモートデスクトップ接続を使用して DB インスタンスへログインできません。

 

 

【デメリット】分析・管理系のツールが利用できない

Amazon RDS を利用すると以下の分析・管理系のツールが利用できなくなります。

  • SQL Server Analysis Services
  • SQL Server Integration Services
  • SQL Server Reporting Services
  • Data Quality Services
  • Master Data Services

 

どうしても利用したい場合は、EC2 インスタンス上に(OS 上に)SQL Server をインストールして利用する形となります。

 

 

RDS は Transact-SQL(xp_cmdshell)を利用できない

RDS は OS(Windows OS)が利用できないため、当然ながら「Transact-SQL(xp_cmdshell)」は利用できません。

xp_cmdshell は、SQL Server から Windows OS コマンドを呼び出すことができます。

 

Enabling XP_CmdShell in RDS?

https://www.reddit.com/r/aws/comments/8p06n4/enabling_xp_cmdshell_in_rds/

 

理由としては、以下の点が挙げられます。

  • RDS は OS を持っていない
  • xp_cmdshell はセキュリティ的に若干不安がある

 

 

RDS は SQL Server Audit が利用できない

以下の AWS の公式サイトを確認すると「SQL Server Audit」が利用できない旨が記載されています。

 

Amazon RDS での Microsoft SQL Server

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html

RDS でサポートされていない機能

以下の Microsoft SQL Server 機能は、Amazon RDS ではサポートされていません。

  • 常時
  • データベースの拡張
  • Microsoft Azure Blob ストレージへのバックアップ
  • バッファープールの拡張
  • BULK INSERT および OPENROWSET(BULK…) 機能
  • Data Quality Services
  • データベースのログ配布
  • データベースメール
  • 分散クエリ (あるいは、リンクサーバー)
  • 分散トランザクションコーディネーター (MSDTC)
  • ファイルテーブル
  • FILESTREAM のサポート
  • メンテナンスプラン
  • パフォーマンスデータコレクター
  • ポリシーベースの管理
  • PolyBase
  • R
  • レプリケーション
  • リソースガバナー
  • SQL Server Audit
  • サーバーレベルのトリガー
  • サービスブローカーエンドポイント
  • T-SQL エンドポイント (CREATE ENDPOINT を使用するオペレーションはいずれも使用できません)
  • WCF Data Services

 

SQL Server Audit とは

SQL Server Audit は、SQL Server で発生する各種イベントの追跡およびログ記録を行います。

監査はインスタンスレベルで行います。

ちなみに一般的に「監査(かんさ)」とは決算書が正しいかどうかチェックすることを言います。

 

例えば SQL Server の SA(System Administrator)アカウントは、全データベース・テーブル・データに対して参照や編集する権限を持っています。

そのため、SA アカウントで SQL Server にログインされると、業務上のデータを改ざんされる可能性があります。

しかも何の対策も取らず、何もしなければ、SA アカウントがどのような操作が行ったのか分かりません。

そのような状態では企業にとってリスクがあるため SQL Server Audit という機能が必要になります。

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください