この記事では、Azure Migrate: Discovery and Assessment ツールを使用して、オンプレミスの MySQL データベース インスタンスを VMware、Microsoft Hyper-V、物理環境から Azure Database for MySQL に移行するための評価の概要について説明します。
概要
検出と評価ツールを使用した評価では、データの特定の時点のスナップショットが提供され、準備状況を測定し、オンプレミスのサーバー、データベース、Web アプリを Azure に移行した場合の影響を見積もる一方で、適切な Azure SKU と関連コストに関する推奨事項も提供されます。
評価の種類
Azure Migrate: Discovery and Assessment ツールでは、次の種類の評価がサポートされています。
| 評価の種類 | 詳細 |
|---|---|
| Azure VM | オンプレミスのサーバーを Azure 仮想マシンに移行するための評価。 この評価の種類を使用すると、VMware 環境と Hyper-V 環境にあるオンプレミスのサーバー、および物理サーバーを Azure VM に移行するために評価できます。 |
| Azure データベース | オンプレミスの SQL サーバーを Azure SQL Database または Azure SQL Managed Instance に、またはオンプレミスの MySQL データベース インスタンスを Azure Database for MySQL に移行するための評価。 |
| Azure で動作する Web アプリ | オンプレミスの Spring Boot アプリから Azure Spring Apps へ、または ASP.NET/Java Web アプリから Azure App Service へ移行するための評価。 |
| Azure VMware Solution (AVS) | オンプレミスの VMware VM を Azure VMware Solution (AVS) に移行するための評価。 詳細については、こちらを参照してください。 |
MySQL の評価 - 概要とサイズ設定の基準
オンプレミス環境で MySQL インスタンスとその属性を検出 すると、MySQL Assessment によってインスタンスに関する次の情報が提供されます。
- Azure Database for MySQL への移行の準備状況の評価。
- Azure Database for MySQL で MySQL ワークロードをホストするための適切なコンピューティング、ストレージ、IO SKU に関する推奨事項と、関連するコスト。
MySQL の評価は 、パフォーマンスベースの サイズ設定基準に基づいて実行され、CPU 使用率、メモリ使用率、IOPS、IO カウント、接続の合計数、読み取り/書き込み比率など、MySQL インスタンスの収集されたパフォーマンス データに基づいて推奨事項が作成されます。
注
評価には、オンライン状態の MySQL データベース インスタンスのみが含まれます。 その他の状態のインスタンスの場合、評価では準備状況、サイズ設定、およびコスト計算が無視されます。 このようなインスタンスを評価する場合は、インスタンスの状態を変更し、後で評価を再計算します。
オンプレミスの MySQL インスタンスを評価する
軽量の Azure Migrate アプライアンスによって収集された構成データと使用率データを使用して、オンプレミスの MySQL インスタンスを評価できます。このデータは、インスタンスとデータベースを検出し、Azure Migrate サービスに送信します。
- Azure Migrate アプライアンスをデプロイして MySQL インスタンスを検出する: この チュートリアル では、Azure Migrate アプライアンスをデプロイし、評価する MySQL インスタンスを検出します。
- MySQL 評価の作成: この チュートリアル を参照して、新しい評価を作成し、レポートを確認します。
MySQL 評価を作成およびカスタマイズするためのプロパティ
Azure Database for MySQL の評価プロパティには、次のものが含まれます。
ターゲットと価格の設定
| 設定 | 詳細 |
|---|---|
| ターゲットの場所 | 移行先となる Azure リージョン。 Azure Database for MySQL の構成とコストに関する推奨事項は、指定した場所に基づいています。 |
| ターゲットと価格の設定環境の種類 | 運用環境または開発/テストに適用できる Azure Database for MySQL 構成とコストに関する推奨事項を適用するための MySQL デプロイの環境。 |
| ライセンス プログラム | Azure プラン (登録されている場合)。 現在、このフィールドは既定で [従量課金制] になります。その場合、小売の Azure 価格が適用されます。 |
| 通貨 | アカウントの請求通貨。 |
| 節約オプション | Azure コンピューティング コストを最適化するために評価で考慮する予約容量の節約オプションを指定します。 Azure の予約 (1 年または 3 年予約) は、最も一貫して実行されるリソースに適したオプションです。 [なし] を選択すると、Azure のコンピューティング コストは従量課金制の料金または実際の使用量に基づいています。 予約インスタンスを使用できるようにするには、オファー/ライセンス プログラムで従量課金制を選択する必要があります。 [なし] 以外の [割引] オプションを選択した場合、割引 (%) 設定は適用されません。 毎月のコストの見積もりは、744 時間と、推奨される SKU の時間単価を乗算して計算されます。 |
| 割引率 (%) | Azure オファーに追加で提供されるサブスクリプション固有の割引。 既定の設定は 0% です。 |
評価基準
| 設定 | 詳細 |
|---|---|
| サイズ基準 | 既定では パフォーマンス ベース に設定されています。つまり、Azure Migrate は MySQL インスタンスに関連するパフォーマンス メトリックを収集して、最適なサイズの Azure Database for MySQL インスタンス構成を推奨します。 |
| パフォーマンス履歴 | 評価の基準となるデータ期間を指定します (既定値は 1 日です)。 |
| パーセンタイル使用率 | パフォーマンス サンプルに使用するパーセンタイル値を指定します (既定値は 95 パーセンタイルです)。 |
| 快適性係数 | 評価中に使用するバッファーを指定します。 ここでは、季節ごとの使用量、短期間のパフォーマンス履歴、将来に使用量が増える可能性などの問題が考慮されます。 |
Azure DB for MySQL – フレキシブル サーバーのサイズ設定
| 設定 | 詳細 |
|---|---|
| サービス レベル | Azure Database for MySQL への移行に関するビジネス ニーズに対応するために、最も適切なサービス レベル オプションを選択します。 既定では、3 つのサービス レベルがすべて選択されています。 評価レポートに従って、環境の種類と収集されたパフォーマンス データに基づいて、サーバーに最適なサービス レベルをお勧めします。 - スケーラブルな I/O スループットでバランスの取れたコンピューティングとメモリを必要とするビジネス ワークロード向けに設計された Azure Database for MySQL 構成が必要な場合は、[ General Purpose] を選択します。 - トランザクション処理の高速化とコンカレンシーの向上のためにメモリ内パフォーマンスを必要とする高パフォーマンスのデータベース ワークロード用に設計された Azure Database for MySQL 構成が必要な場合は、[ Business Critical ] を選択します。 |
MySQL インスタンスのパフォーマンス データの計算
アプライアンスは、コンピューティング設定の次のパフォーマンス データを収集します。
- アプライアンスで、リアルタイムのサンプル ポイントが収集されます。 MySQL インスタンスの場合、30 秒ごとにサンプル ポイントが収集されます。
- 30 秒ごとに 10 分間にわたって収集されたサンプル データ ポイントがアプライアンスで集計されます。 データ ポイントを作成するために、アプライアンスではすべてのサンプルからピーク値が選択されます。 各カウンターの最大値と平均が Azure に送信されます。
- Azure Migrate には、前月の 10 分間のデータ ポイントがすべて格納されています。
- 評価を作成すると、適切なサイズ設定に使用する適切なデータ ポイントが Azure Migrate によって識別されます。 この特定は、"パフォーマンス履歴" の百分位の値と "百分位の使用率" に基づきます。
- たとえば、パフォーマンス履歴が 1 週間に及び、使用率が 95 パーセンタイルである場合、評価では先週の 10 分間のサンプル ポイントが並べ替えられます。 それが昇順に並べ替えられて、適切なサイズ設定の値として 95 パーセンタイルが選ばれます。
- 95 パーセンタイル値は、99 パーセンタイルを選択した場合に含まれる可能性のある外れ値を無視します。
- 期間中のピーク使用率を選択し、外れ値を見落とさないようにする場合は、パーセンタイル使用率として 99 パーセンタイルを選択します。
- アプライアンスで収集される次のメトリックの有効なパフォーマンス使用率データを得るために、この値には快適性係数が乗算されます。
- CPU 使用率 (%)
- メモリ使用率 (%)
- IOPS と IO の数
- インスタンスへの接続の合計数
- 読み取り/書き込み比率
対応性を計算する
MySQL インスタンスを Azure Database for MySQL に移行する準備は、ソース インスタンスとターゲット インスタンス間のさまざまな機能互換性チェックによって決定されます。 これらのチェックには次のものが含まれます。
- サポートされているバージョン、エディション、ストレージ エンジン、プラグイン、構成またはパラメーター値、ユーザーのアクセス許可と特権。
- サポートされる最大ストレージ サイズ、仮想コア、メモリ、IOPS、DB バッファー プール サイズ、接続、テーブルスペース番号、およびサイズ。
- セキュリティ設定など。
その後、インスタンスは次のようにマークされます。
- 準備完了: ソースとターゲットの MySQL インスタンスの間に大きな互換性の問題が見つからなかった場合。
- 条件に対応: Azure Database for MySQL への移行をブロックしない機能の低下やサポートされていない機能など、重要でない互換性の問題がある場合。 Azure Migrate には、影響の詳細と推奨される修復ガイドラインを含む移行の警告が表示されます。
- 準備が整っていない: Azure Database for MySQL への移行をブロックする可能性のある互換性の問題がある場合。 Azure Migrate には、影響の詳細と推奨される修復ガイダンスに関する移行の問題が表示されます。
- 不明: 検出がまだ進行中であるか、ソース インスタンスに検出の問題がある場合。
サイズ設定の計算
評価によって準備状況が決定された後、 準備完了 または 準備完了状態のサーバーごとに、Azure Migrate はパフォーマンス データを使用して、オンプレミスの MySQL パフォーマンスを満たすか超えることができる特定の Azure Database for MySQL サービス レベルと構成 (SKU サイズ) を計算します。
コンピューティングのサイズ設定
検出プロセス中に、Azure Migrate は MySQL インスタンスの構成とパフォーマンス データを収集します。これには次のものが含まれます。
- 仮想コア (割り当て済み) と CPU 使用率 (%): MySQL インスタンスの CPU 使用率は、サーバー上の MySQL インスタンスによって使用される割り当て済み CPU の割合です。
- メモリ (割り当て済み) とメモリ使用率 (%): MySQL インスタンスに割り当てられたメモリの量とその使用率。
- IOPS: 各インスタンスの読み取りと書き込みの IOPS を追加して計算されます。
- MySQL インスタンスに対して行われた接続の合計数。
- 読み取り/書き込み比率: ワークロードがメモリを集中的に消費しているか CPU を集中的に使用しているかを判断するために使用され、適切なサービス レベルを決定するのに役立ちます。
この評価では、すべての構成とパフォーマンス データが集計され、 さまざまな Azure Database for MySQL サービス レベルと構成全体で最適な一致が見つかるよう試みられ、MySQL インスタンスのパフォーマンス要件に一致するか超えることができる構成が選択され、コストが最適化されます。
ストレージのサイズ設定
Azure Migrate は、MySQL インスタンスで使用されるディスク領域の合計 (データベース ファイル、一時ファイル、トランザクション ログ、MySQL サーバー ログを含む) を計算し、Azure Database for MySQL でプロビジョニングする推奨ストレージを提案します。 バースト可能サービス レベルと General Purpose サービス レベルの場合、ストレージ範囲は最小 20 GiB から最大 16 TiB に及び、Business Critical サービス レベルの場合、ストレージサポートは最大 32 TiB まで拡張されます。 すべてのサービス レベルでは、ストレージは 1 GiB 単位でスケーリングされ、サーバーの作成後にスケールアップできます (ただし、スケールダウンは行われません)。
IOPS のサイズ設定
Azure Migrate では、 Azure Database for MySQL の自動スケーリング IOPS 機能が推奨されています。これにより、MySQL インスタンスは、ワークロードのニーズに応じて、選択したストレージ サイズに依存せず、データベース インスタンスのパフォーマンス (IO) をシームレスかつ独立して自動的にスケーリングできます。 自動スケーリング IOPS では、サーバーが使用する IO に対してのみ料金が発生するため、完全に利用されていないリソースをプロビジョニングして支払う必要がなくなり、時間とコストが節約されます。
パフォーマンスの対象範囲
各 MySQL 評価は、パフォーマンス カバレッジに関連付けられます。 カバレッジの範囲は、1 つ (最も低い) 星から 5 つ (最も高い) 星までです。 パフォーマンスカバレッジは、Azure Migrate が提供するサイズの推奨事項の信頼性を見積もるのに役立ちます。
- カバレッジは、評価の計算に必要なデータ ポイントの可用性に基づいています。
- パフォーマンスベースのサイズ設定の場合、評価では、次のようなすべての MySQL インスタンスとデータベースのパフォーマンス データが収集されます。
- CPU 使用率 (%)
- メモリ使用率 (%)
- IOPS
- MySQL インスタンスへの接続の数
- 読み取り/書き込み比率
- これらの使用率の数値のいずれかが使用できない場合は、サイズに関する推奨事項が信頼できない可能性があります。 次の表は、使用可能なデータ ポイントの割合に依存する評価のパフォーマンス カバレッジを示しています。
低い性能の適用範囲
評価が低いパフォーマンスカバレッジを示す理由を以下に示します。
- 評価を作成する期間について環境をプロファイルしなかった。 たとえば、パフォーマンス期間を 1 日に設定して評価を作成する場合、すべてのデータ ポイントを収集するために、検出を開始してから少なくとも 1 日待つ必要があります。
- 評価期間内に一部または全部のサーバーのパフォーマンス データを評価で収集できません。
パフォーマンス カバレッジの最新の変更を反映するように評価を再計算します。
- 一部のデータベース インスタンスは、評価が計算された期間中に作成されました。 たとえば、先月のパフォーマンス履歴の評価を作成しましたが、一部のインスタンスは 1 週間前に作成されました。 この場合、新しいサーバーのパフォーマンス データは、期間全体で使用できなくなり、パフォーマンスカバレッジが低くなります。
ハイ パフォーマンス カバレッジ
評価のパフォーマンスが高くなる理由を次に示します。
- 評価中にサーバーの電源がオンになります。
- ポート 3306 での送信接続が許可されます。
- Azure Migrate の MySQL エージェントの Azure Migrate 接続状態が [接続済み] の場合は、最後のハートビートを確認します。
- すべての MySQL インスタンスの Azure Migrate 接続状態は、検出された MySQL インスタンス セクションで接続されています。
パフォーマンス カバレッジの最新の変更を反映するように評価を再計算します。
注
MySQL の評価はパフォーマンスベースの評価であるため、評価のパフォーマンス カバレッジが 80%未満の場合は、アプライアンスが環境をプロファイリングしてから評価を再計算するまで少なくとも 1 日待つようお勧めします。 そうしなければ、パフォーマンスベースのサイズ設定は信頼できない可能性があります。
毎月のコストを計算する
サイズ設定の推奨事項が完了すると、MySQL 評価では、内部価格 API を使用して、推奨される Azure Database for MySQL 構成のコンピューティング、ストレージ、IO のコストが計算されます。 すべてのインスタンスでこれらのコストが集計され、合計月間コストが決定されます。
Azure Database for MySQL 構成のコンピューティング、ストレージ、IO のコストを計算するために、評価では次の評価プロパティが考慮されます。
- ライセンス プログラム
- 通貨
- 節約オプション
- 割引率 (%)
- Azure のターゲットの場所