[レポート] Deep dive on Amazon RDS for SQL Server #DAT364 #reinvent

本記事は、AWS re:Invent 2019 のセッション 「DAT364 Deep dive on Amazon RDS for SQL Server」 のレポートです。
2019.12.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

みなさま Xin chao !

本記事は、AWS re:Invent 2019 のセッション 「DAT364 Deep dive on Amazon RDS for SQL Server」 のレポートです。

 

セッション概要

セッション概要を和訳したものです。

Amazon Relational Database Service (Amazon RDS) を使用すると、クラウド内の SQL Server データベースのセットアップ、運用、およびスケーリングが簡単になります。 このセッションでは、Amazon RDS for SQL Server データベースの可用性、拡張性、安全性を高める新機能とベストプラクティスについて詳しく説明します。

 

スピーカー

  • Prashant Bondada - Sr. Database Engineer, Amazon Web Services

 

レポート

アジェンダ

  • イントロダクション
  • インフラストラクチャー
  • セキュリティ
  • モニタリング
  • マイグレーション
  • 機能

 

イントロダクション

Amazon RDS は、ポピュラーなデータベースエンジンを使用できるデータベースのマネージドサービス。

  • Aurora
  • PostgreSQL
  • MySQL
  • MariaDB
  • ORACLE
  • SQL Server

RDS が管理する部分

  • プロビジョニング
  • インストールとパッチ適用
  • バックアップ
  • リストア : スナップショットとポイントインタイム
  • 高可用性
  • モニタリング

利用者が設定できる部分

  • ハードウェア
  • エンジンバージョン / エディション
  • ネットワーク接続性
  • タイムゾーン
  • バックアップの保持
  • 暗号化
  • 照合順序
  • 高可用性
  • 監視

インフラストラクチャー

リージョン

  • 70 AZ を含む 23 リージョンで利用可能

インスタンスタイプ

M5 / R5 インスタンスタイプ

  • ハイエンド向け 24 XL
  • 2 倍以上の IOPS と I/O スループット
  • M4 / R4 と同等の価格

T3 インスタンスタイプ

  • T2 より低価格化
  • XL と 2XL
  • Enterprise Edition と Standard Edition のサポート
  • ネットワークと EBS のバースト

X1 / X1E インスタンスタイプ

  • 最大 4 TiB のメモリー
  • 最大 4 倍のメモリー
  • メモリー GiB あたりの単価が最も安い
  • インメモリーワークロード向けに最適化

ストレージ

最大 16 TiB のストレージ。

ボリュームタイプ : GP2

  • 最大 IOPS が 10,000 から 16,000 に増加
  • 最大スループットが 160 MB/sec から 250 MB/sec に増加

ボリュームタイプ : プロビジョンド IOPS

  • 最大 IOPS が 32,000 から 64,000 に増加
  • 最大スループットが 500 MB/sec から 1,000 MB/sec に増加

セキュリティ

SQL Server 監査

監査機能が求められる背景

  • 説明責任
  • 異常検知
  • 使用状況の追跡
  • コンプライアンス要求への適合
  • バイナリーファイルへのイベント記録

オプショングループで設定し、S3 バケットに保管。

サーバーサイドでのファイル圧縮と、保存期間の設定はオプション。

SQL Server 監査 (ルール)

すべき

  • 監査先 : ファイル
  • ファイルパス : D:\rdsdbdata\SQLAudit
  • MAX_ROLLER_FILES to Unlimited
  • ファイルサイズ : 2 MB ~ 50 MB

避けるべき

  • 監査名 : 'RDS_~'
  • サーバーのシャットダウン
  • ファイルパスの閲覧
  • MAX_FILES の指定

SQLAgentOperatorRole

SQLAgentUserRole

  • 自己所有のジョブとジョブスケジュールへの権限
  • admin/DBA が管理アカウントを共有

SQLAgentOperatorRole

  • 全てのジョブとジョブスケジュールへの権限
  • 独自の admin アカウントを許可

モニタリング

  • CloudWatch Logs との統合
  • パフォーマンスインサイト
  • パフォーマンスインサイト

 

マイグレーション

ネイティブバックアップ / リストア

リストアデータベースは最大 16 TiB

  • 複数バックアップファイルに対応
  • 1 つのバックアップあたり最大 10 ファイルまで

マイグレーション時のダウンタイムの短縮

  • 差分リストアの活用
  • ログリストアの活用

Change data capture (CDC)

既知の問題あり

https://support.microsoft.com/en-gb/help/4459220/incorrect-resuls-when-converting-pollinginterval-in-sys-sp-cdc-scan

https://support.microsoft.com/en-us/help/4073684/fix-change-data-capture-doesn-t-work-in-sql-server-2017

照合順序

  • データベースレベルおよびサーバーレベルの照合順序の変更をサポート

 

機能

インスタンスあたりのデータベース数が増加

  • インスタンスの統合や、ライセンス費用の節約に効果的
  • インスタンスタイプと可用性モードに依存

例) db..xlarge ~ db..16xlarge の場合

  • シングル AZ : 100
  • マルチ AZ (ミラーリング) : 50
  • マルチ AZ (Always On 可用性グループ) : 75

S3 インテグレーション

  • S3 からの / S3 へのファイル転送
  • S3 上の監査ファイルのダウンロード
  • バルクインサート用データファイルのダウンロード
  • RDS インスタンス間のファイル転送
  • インスタンスレベルのロールで設定
  • D:\S3\ へのダウンロード
  • ダウンロード中にフォルダを作成
  • 実行後ファイルを削除

 

さいごに

RDS for SQL Server の機能も、徐々に拡張されており、これまで RDS による制約に該当し SQL Server on EC2 を選択せざるを得なかったシステムでも、もしかすると最新の状況では RDS を選択できるようになっているかもしれません。

運用管理の負荷軽減のためにも SQL Server を AWS に移行する際は、最新の状況を調べたうえで、できる限り RDS を活用したいところです。