翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
オンプレミス MySQL データベースを Amazon EC2 に移行する
作成者: Lorenzo Mota (AWS)
概要
このパターンは、オンプレミス MySQL データベースを Amazon Elastic Compute Cloud (Amazon EC2) インスタンス上の MySQL データベースに移行するガイダンスを提供します。このパターンでは、移行に AWS Database Migration Service (AWS DMS) または mysqldump などのネイティブ MySQL ツールを使用する方法について説明します。MySQL DB インスタンスへの完全なデータベース移行に焦点を当てています。
このパターンは主に DBAs およびソリューションアーキテクトを対象としています。これは、小規模または大規模なプロジェクト、テストフェーズ、または最終移行フェーズで使用できます。このパターンを本番環境で使用する前に、少なくとも 1 つのテストサイクルを実行することをお勧めします。
前提条件と制限
前提条件
アクティブなAWS アカウント
オンプレミスデータセンターの MySQL ソースデータベース
製品バージョン
MySQL バージョン 5.5 以降
Amazon EC2 でサポートされているターゲットオペレーティングシステム。Amazon EC2 のFAQs
」を参照してください。
アーキテクチャ
ソーステクノロジースタック
オンプレミス MySQL データベース
ターゲットテクノロジースタック
Amazon EC2 の MySQL データベースインスタンス
AWS データ移行方法
AWS DMS
mysqldump
などのネイティブ MySQL ツール、または Percona XtraBackup などのサードパーティーツール
ターゲット アーキテクチャ
次の図は、カットオーバー後のターゲット Amazon EC2 実装を示しています。

AWS データ移行アーキテクチャ
AWS DMS を使用する:
次の図は、カットオーバーまでターゲット MySQL データベースに完全変更と増分変更を送信 AWS DMS するための に基づくデータ移行ワークフローを示しています。オンプレミスから へのネットワーク接続は、SQL クライアントの要件 AWS に依存し、このパターンの範囲外です。

他の MySQL ツールの使用:
次の図は、MySQL ツールを使用してオンプレミスデータベースからエクスポートダンプファイルを生成することに基づくデータ移行ワークフローを示しています。これらのファイルは Amazon Simple Storage Service (Amazon S3) に移動され、カットオーバー前にターゲット MySQL データベースにインポートされます。オンプレミスから へのネットワーク接続は、SQL クライアントの要件 AWS に依存し、このパターンの範囲外です。

注記:
ダウンタイムに関する考慮事項と最終カットオーバーのデータベースのサイズに応じて、 AWS DMS または別の変更データキャプチャ (CDC) ツールを使用してカットオーバー時間を最小限に抑えることができます。などの CDC ツールを使用すると AWS DMS、数分でターゲットデータベースに移行できます。
データベースのサイズとネットワークレイテンシーが短時間のカットオーバー移行期間であれば、mysqldump を使用したオフライン戦略で十分です。(おおよその時間を取得するためにテストを実行することをお勧めします。)
通常、 経由の CDC 戦略 AWS DMS では、オフラインオプションよりもモニタリングと複雑さが高くなります。
ツール
AWS サービス
AWS Database Migration Service (AWS DMS) は、複数のソースデータベースとターゲットデータベースをサポートしています。でサポートされている MySQL ソースデータベースとターゲットデータベースの詳細については AWS DMS、「 のソースとして MySQL 互換データベース AWS DMSを使用する」および「 のターゲットとして MySQL 互換データベースを使用する AWS DMS」を参照してください。ソースデータベースが でサポートされていない場合は AWS DMS、別の方法を選択してデータを移行する必要があります。
その他のツール
mysqldump
MySQL は、バックアップまたは移行の目的で MySQL データベースからダンプファイルを作成する MySQL ユーティリティです。 Percona XtraBackup
は、MySQL データベースでノンブロッキングバックアップを実行するためのオープンソースユーティリティです。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
データベースのバージョンを検証します。 | ソースデータベースとターゲットデータベースのバージョンを検証します。でサポートされている MySQL のバージョンについては AWS DMS、 AWS DMS ドキュメントの「 のソース AWS DMS」と「 のターゲット AWS DMS」を参照してください。 | DBA |
ターゲットオペレーティングシステムを特定します。 | ターゲットオペレーティングシステムのバージョンを決定します。Amazon EC2 でサポートされているターゲットオペレーティングシステムのリストについては、Amazon EC2 のFAQs | DBA、システム管理者 |
ハードウェア要件を特定します。 | MySQL 互換性リストと容量要件に基づいて、ターゲットサーバーインスタンス | DBA、システム管理者 |
ストレージ要件を特定します。 | ターゲットデータベースのストレージタイプと容量を決定します。 | DBA、システム管理者 |
ネットワーク要件を特定します。 | レイテンシーや帯域幅などのネットワーク要件を決定します。 | DBA、システム管理者 |
ターゲットインスタンスタイプを選択します。 | 容量、ストレージ機能、ネットワーク機能に基づいて、ターゲットインスタンスタイプ | DBA、システム管理者 |
セキュリティ要件を特定します。 | ソースデータベースとターゲットデータベースのネットワークまたはホストアクセスのセキュリティ要件を決定します。 | DBA、システム管理者 |
ユーザーを特定します。 | MySQL ソフトウェアインストールのオペレーティングシステムユーザーのリストを決定します。詳細については、MySQL ドキュメント | DBA、システム管理者 |
バックアップ戦略を決定します。 | DBA | |
可用性の要件を決定します。 | DBA | |
アプリケーションの移行またはスイッチオーバー戦略を特定します。 | DBA、システム管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
仮想プライベートクラウド (VPC) とサブネットを作成する。 | ルートテーブル、インターネットゲートウェイ、NAT ゲートウェイ、サブネットを設定します。詳細については、Amazon VPC ドキュメントの「VPC 設定オプション」を参照してください。 | システム管理者 |
セキュリティグループとネットワークアクセスコントロールリスト (ACL) を作成します。 | 要件に応じて、ポート (MySQL のデフォルトは 3306) と CIDR 範囲または特定の IPs を設定します。 | システム管理者 |
EC2 インスタンスを設定して起動します。 | 手順については、Amazon EC2 ドキュメントの「EC2 インスタンスを起動する」を参照してください。 Amazon EC2 | システム管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
ユーザーとグループを作成します。 | サーバーとデータベースにアクセスする必要があるオペレーティングシステムのユーザーとグループを作成します。詳細は、MySQL ドキュメントの「アクセスコントロールおよびアカウントマネジメント | DBA、システム管理者 |
MySQL をダウンロードします。 | MySQL ソフトウェアをダウンロードします。手順とバイナリについては、MySQL ドキュメントの | DBA、システム管理者 |
EC2 インスタンスに MySQL をインストールし、サーバーを設定します。 | EC2 インスタンスに接続し、MySQL ソフトウェアをインストールします。詳細については、Amazon EC2 ドキュメントの「EC2 インスタンスに接続する」を参照してください。 Amazon EC2 | DBA、システム管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
ネイティブ MySQL またはサードパーティーツールを使用してデータを移行します。 | このオプションは、ネイティブ MySQL ツールまたはサードパーティーツールを使用してデータベースオブジェクトとデータを移行します。手順については、mysqldump | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
を使用してデータを移行します AWS DMS。 | 詳細については、 AWS DMS ドキュメントの「 の概要 AWS DMS」を参照してください。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
オブジェクト数を収集します。 | ソースデータベースと新しいターゲットデータベースからオブジェクト数を収集します。ターゲットデータベースの不一致を修正します。 | DBA |
依存関係を確認します。 | 他のデータベースとの間の依存関係 (リンク) がまだ有効であり、正しく動作することを確認します。 | DBA |
テスト。 | これがテストサイクルの場合は、クエリテストを実行し、メトリクスを収集して、問題を修正します。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
クライアントを移動します。 | アプリケーションクライアントを新しいインフラストラクチャに切り替ます。 | DBA、アプリ所有者、システム管理者 |
サポートを提供します。 | 機能アプリケーションテスト中にサポートを提供します。 | DBA |
タスク | 説明 | 必要なスキル |
---|---|---|
リソースをシャットダウンします。 | AWS DMS レプリケーションインスタンスおよびその他の一時 AWS リソースをシャットダウンします。 | DBA、システム管理者 |
ドキュメントを確認してプロジェクトします。 | プロジェクト文書を確認して検証する。 | DBA、アプリ所有者、システム管理者 |
メトリクスを収集します。 | 移行時間、ツール支援による変更と比較した手動変更の割合、コスト削減などのメトリクスを収集します。 | DBA、アプリ所有者、システム管理者 |
プロジェクトを閉じます。 | 移行プロジェクトを終了し、フィードバックを提供します。 | DBA、アプリ所有者、システム管理者 |
ソースデータベースを廃止します。 | オンプレミス MySQL データベースを廃止します。 | DBA、システム管理者 |
関連リソース
リファレンス
チュートリアルと動画