Azure Data Studio拡張機能を使ってSQL ServerをAzureへマイグレーションする際の推奨SKUを取得する

2022.03.14

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

いわさです。

先日、Azure SQL Migrationの拡張機能を使ってAzureへSQL Server移行後の推奨SKUを取得出来ることを知りました。
最近のアップデートで、まだパブリックプレビューな機能です。

使い勝手が気になっていたので試してみました。

Azure SQL Migration

Azure SQL Migration拡張は、Azure Data Studioで利用することの出来る、SQL Serverのマイグレーションに役立つ拡張機能です。
主に以下の機能が利用出来ます。

  • 既存SQL Serverインスタンスを評価
  • 最小限のダウンタイムで移行
  • オンラインモード、オフラインモードの移行に対応

本日時点ではAzure SQL Migration拡張機能自体がまだプレビューなので今後変更される可能性がある点だけご注意ください。

なお、Azure Data Studioについては以前に少し紹介していました。
クロスプラットフォームなライトSSMSって感じでしょうか。macOSでも使えるので便利でよく使っています。
SSMSのためにWindows起動するの面倒なときがあるので、Azure Data Studioでも出来ることであればこちらを使います。

SQL Server 2019 on EC2に対して使ってみた

AWS上のEC2へSQL Server 2019を用意し、移行元として使ってみます。

Azure Data Studioはv1.35.0を使いました。 また、Azure SQL Migrationのバージョンは本日時点でv0.1.12でした。

移行元のSQL ServerにはAdventureWorksをインポートしておき、SQL Server認証を有効化していきます。

Azure Data Studioの拡張機能からAzure SQL Migrationをインストールします。

Azure Data Studioでデータベースへの接続後、Manage -> Generarl -> Azure SQL MigrationでAzure SQL Migrationのダッシュボードへ遷移出来ます。ここでメニューのMigrate to Azure SQLを押下すると評価・移行プロセスを開始することが出来ます。
今回の推奨SKUの取得は、この移行前の評価プロセスで確認することが出来ます。

Get Azure recommendationを押下すると推奨事項の取得が開始されます。
評価データの保存先などを選択すると、この画面ですぐに評価が開始されます。

推奨事項は、約10分で取得・更新されるようです。

少し待つと、Azure SQLマネージドインスタントと、Azure仮想マシンへ移行した場合のそれぞれの推奨SKUが表示されました。

注意点として、データベースワークロードが本番シナリオに近い使用状況のときにデータ収集プロセスを開始することが推奨されています。

これは、SKU評価の仕組みとして、SQL ServerインスタンスのDMVからからCPU 使用率、メモリ使用率、ストレージサイズ、IO、スループット、IO レイテンシーなどを取得するためとのこと。

今回はEC2起動直後なので、正しい推奨値を取得出来ているとは言えないですね。とはいえワークロードの使用状況以外にハードウェア構成も見てくれてるそうなのでまったく当てにならないとまでは言えないかなと思ってます。

さいごに

以前に以下のようなマッピングを調べたことがあります。これでもいいかなーと当時思っていたのですが、実際のワークロードのデータから推奨値を算出してくれるということで、今回のSKU評価機能とても良いですね。