

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# オンプレミス MySQL データベースを Amazon EC2 に移行する
<a name="migrate-an-on-premises-mysql-database-to-amazon-ec2"></a>

*Amazon Web Services、Lorenzo Mota*

## 概要
<a name="migrate-an-on-premises-mysql-database-to-amazon-ec2-summary"></a>

このパターンは、オンプレミス MySQL データベースを Amazon Elastic Compute Cloud (Amazon EC2) インスタンス上の MySQL データベースに移行するガイダンスを提供します。このパターンでは、移行に AWS Database Migration Service (AWS DMS) または **mysqldump** などのネイティブ MySQL ツールを使用する方法について説明します。MySQL DB インスタンスへの完全なデータベース移行に焦点を当てています。

このパターンは主に DBA とソリューションアーキテクトを対象としています。大小の規模のプロジェクト、テストフェーズ、または最終的な移行フェーズで使用できます。このパターンを本番環境で使用する前に、少なくとも 1 つのテストサイクルを実行することをお勧めします。

## 前提条件と制限
<a name="migrate-an-on-premises-mysql-database-to-amazon-ec2-prereqs"></a>

**前提条件**
+ アクティブなAWS アカウント
+ オンプレミスデータセンターの MySQL ソースデータベース 

**製品バージョン**
+ MySQL バージョン 5.5 以降
+ Amazon EC2 がサポートしているターゲットオペレーティングシステムについては、「[Amazon EC2 よくある質問](https://aws.amazon.com/ec2/faqs/)」を参照してください。

## アーキテクチャ
<a name="migrate-an-on-premises-mysql-database-to-amazon-ec2-architecture"></a>

**ソーステクノロジースタック**
+ オンプレミス MySQL データベース

**ターゲットテクノロジースタック**
+ Amazon EC2 の MySQL データベースインスタンス

**AWS データ移行方法**
+ AWS DMS
+ [mysqldump](https://dev.mysql.com/doc/refman/en/mysqldump.html) などのネイティブ MySQL ツール、または [Percona XtraBackup](https://www.percona.com/mysql/software/percona-xtrabackup) などのサードパーティーツール

**ターゲットアーキテクチャ**

次の図は、カットオーバー後のターゲットの Amazon EC2 実装を示しています。

![\[スタンバイ MySQL DB インスタンスへのレプリケーションを備えた Amazon EC2 上の MySQL DB インスタンス。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/d22b3e25-4d3b-4bd7-ad07-501748d67752/images/34cab6f9-9107-4c3b-98ec-a6d7fa9f298a.png)


 

**AWS データ移行アーキテクチャ**

AWS DMS を使用する:

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

![\[AWS DMS を使用して、Amazon EC2 のターゲット MySQL DB にデータを送信します。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/d22b3e25-4d3b-4bd7-ad07-501748d67752/images/c906c45d-fac5-4bb9-b8c8-55e2f9f05fd8.png)


*他の MySQL ツールの使用:*

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

![\[ネイティブ MySQL ツールを使用して、Amazon EC2 のターゲット MySQL DB にデータを送信します。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/d22b3e25-4d3b-4bd7-ad07-501748d67752/images/18e88877-7879-4a99-b985-25c56bf7c35f.png)


注記:
+ ダウンタイムに関する考慮事項と最終カットオーバーのデータベースのサイズに応じて、 AWS DMS または別の変更データキャプチャ (CDC) ツールを使用してカットオーバー時間を最小限に抑えることができます。などの CDC ツールを使用すると AWS DMS、数分でターゲットデータベースに移行できます。 
+ データベースのサイズとネットワークレイテンシーによって短いカットオーバー移行期間が許容される場合は、**mysqldump** を使用したオフライン戦略で十分です (おおよその時間を把握するためにテストを実行することをお勧めします)。
+ 通常、 経由の CDC 戦略には、オフラインオプションよりも多くのモニタリングと複雑さ AWS DMS が必要です。

## ツール
<a name="migrate-an-on-premises-mysql-database-to-amazon-ec2-tools"></a>

**AWS サービス**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) は、複数のソースデータベースとターゲットデータベースをサポートしています。でサポートされている MySQL ソースデータベースとターゲットデータベースの詳細については AWS DMS、「 [のソースとして MySQL 互換データベース AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html)を使用する」および「 [のターゲットとして MySQL 互換データベースを使用する AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)」を参照してください。ソースデータベースが でサポートされていない場合は AWS DMS、別の方法を選択してデータを移行する必要があります。

**その他のツール**
+ [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) は、バックアップまたは移行の目的で MySQL データベースからダンプファイルを作成する MySQL ユーティリティです。
+ [Percona XtraBackup](https://www.percona.com/mysql/software/percona-xtrabackup) は、MySQL データベースでノンブロッキングバックアップを実行するためのオープンソースユーティリティです。

## エピック
<a name="migrate-an-on-premises-mysql-database-to-amazon-ec2-epics"></a>

### 移行を計画する
<a name="plan-the-migration"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| データベースのバージョンを検証します。 | ソースデータベースとターゲットデータベースのバージョンを検証します。でサポートされている MySQL のバージョンについては AWS DMS、 AWS DMS ドキュメントの[「 のソース AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html)」と「 [のターゲット AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html)」を参照してください。 | DBA | 
| ターゲットオペレーティングシステムを識別します。 | ターゲットオペレーティングシステムのバージョンを特定します。Amazon EC2 がサポートしているターゲットオペレーティングシステムのリストについては、「[Amazon EC2 よくある質問](https://aws.amazon.com/ec2/faqs/)」を参照してください。 | DBA、システム管理者 | 
| ハードウェア要件を特定します。 | MySQL 互換性リストと容量要件に基づき、[ターゲットサーバーインスタンス](https://aws.amazon.com/rds/instance-types/)のハードウェア要件を特定します。 | DBA、システム管理者 | 
| ストレージ要件を特定します。 | ターゲットデータベースのストレージタイプと容量を特定します。 | DBA、システム管理者 | 
| ネットワーク要件を特定します。 | レイテンシーや帯域幅などのネットワーク要件を特定します。 | DBA、システム管理者 | 
| ターゲットインスタンスタイプを選択します。 | 容量、ストレージ機能、ネットワーク機能に基づいて、[ターゲットインスタンスタイプ](https://aws.amazon.com/rds/instance-types/)を選択します。 | DBA、システム管理者 | 
| セキュリティ要件を特定します。 | ソースとターゲットのデータベースのネットワークまたはホストアクセスのセキュリティ要件を特定します。 | DBA、システム管理者 | 
| ユーザーを識別します。 | MySQL ソフトウェアインストールのオペレーティングシステムユーザーのリストを特定します。詳細については、[MySQL ドキュメント](https://dev.mysql.com/doc/mysql-security-excerpt/en/access-control.html)を参照してください。 | DBA、システム管理者 | 
| バックアップ戦略を決定します。 |  | DBA | 
| 可用性の要件を決定します。 |  | DBA | 
| アプリケーションの移行またはスイッチオーバー戦略を特定します。 |  | DBA、システム管理者 | 

### インフラストラクチャを設定する
<a name="configure-the-infrastructure"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 仮想プライベートクラウド (VPC) とサブネットを作成する。 | ルートテーブル、インターネットゲートウェイ、NAT ゲートウェイ、サブネットを設定します。詳細については、Amazon VPC ドキュメントの「[VPC の設定オプション](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc-options.html)」を参照してください。 | システム管理者 | 
| セキュリティグループとネットワークアクセスコントロールリスト (ACL) を作成します。 | 要件に応じて、ポート (MySQL のデフォルトは 3306) と CIDR 範囲、または特定の IP を設定します。 | システム管理者 | 
| EC2 インスタンスを設定して起動します。 | 手順については、Amazon EC2 ドキュメントの「[Amazon EC2 インスタンスの起動](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)」を参照してください。 | システム管理者 | 

### MySQL ソフトウェアをインストールする
<a name="install-mysql-software"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ユーザーおよびグループを作成します。 | サーバーおよびデータベースへのアクセスが必要なオペレーティングシステムユーザーとグループを作成します。詳細は、MySQL ドキュメントの「[アクセスコントロールおよびアカウントマネジメント](https://dev.mysql.com/doc/refman/en/access-control.html)」を参照してください。 | DBA、システム管理者 | 
| MySQL をダウンロードします。 | MySQL ソフトウェアをダウンロードします。手順とバイナリについては、MySQL ドキュメントの「[Installing MySQL](https://dev.mysql.com/doc/refman/en/installing.html)」を参照してください。 | DBA、システム管理者 | 
| MySQL を EC2 インスタンスにインストールし、サーバーを設定します。 | EC2 インスタンスに接続して MySQL ソフトウェアをインストールします。詳細については、Amazon EC2 ドキュメントの「[EC2 インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect.html)」を参照してください。 | DBA、システム管理者 | 

### データ移行 – オプション 1
<a name="migrate-data-option-1"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ネイティブ MySQL またはサードパーティーツールを使用してデータを移行します。 | このオプションでは、ネイティブ MySQL ツールまたはサードパーティーツールを使用して、データベースオブジェクトとデータを移行します。手順については、[mysqldump](https://dev.mysql.com/doc/refman/en/mysqldump.html) または [Percona XtraBackup](https://docs.percona.com/percona-xtrabackup/2.4/index.html) (物理的な移行の場合) のドキュメントを参照してください。これらのツールの使用の詳細については、 AWS ブログ記事[MySQL の Amazon RDS for MySQL または Amazon Aurora MySQL への移行オプション MySQL](https://aws.amazon.com/blogs/database/migration-options-for-mysql-to-amazon-rds-for-mysql-or-amazon-aurora-mysql/)」を参照してください。 | DBA | 

### データ移行 – オプション 2
<a name="migrate-data-option-2"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| を使用してデータを移行します AWS DMS。 | 詳細については、 AWS DMS ドキュメントの [「 の高レベルビュー AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.HighLevelView.html)」を参照してください。 | DBA | 

### カットオーバーを準備する
<a name="prepare-for-cutover"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| オブジェクト数を収集します。 | ソースデータベースと新しいターゲットデータベースからオブジェクト数を収集します。ターゲットデータベースの不一致がある場合は修正します。 | DBA | 
| 依存関係を確認します。 | 他のデータベースとの間の依存関係 (リンク) がまだ有効であり、正しく機能していることを確認します。 | DBA | 
| テストします。 | テストサイクルの場合は、クエリテストを実行し、メトリクスを収集し、問題がある場合は修正します。 | DBA | 

### カットオーバー
<a name="cut-over"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| クライアントを移動します。 | アプリケーションクライアントを新しいインフラストラクチャに切り替ます。 | DBA、アプリ所有者、システム管理者 | 
| サポートを提供します。 | 機能アプリケーションテスト中にサポートします。 | DBA | 

### プロジェクトを閉じる
<a name="close-the-project"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| リソースをシャットダウンします。 |  AWS DMS レプリケーションインスタンスおよびその他の一時 AWS リソースをシャットダウンします。 | DBA、システム管理者 | 
| プロジェクト文書を確認します。 | プロジェクト文書を確認して検証する。 | DBA、アプリ所有者、システム管理者 | 
| メトリクスを収集します。 | 移行時間、ツールによる変更と比較した手動変更の割合、コスト削減などのメトリクスを収集します。 | DBA、アプリ所有者、システム管理者 | 
| プロジェクトを終了します。 | 移行プロジェクトを終了し、フィードバックを提供します。 | DBA、アプリ所有者、システム管理者 | 
| ソースデータベースを廃止します。 | オンプレミス MySQL データベースを廃止します。 | DBA、システム管理者 | 

## 関連リソース
<a name="migrate-an-on-premises-mysql-database-to-amazon-ec2-resources"></a>

**リファレンス**
+ 「[Amazon EC2 ドキュメント](https://docs.aws.amazon.com/ec2/)」
+ [AWS DMS ドキュメント](https://docs.aws.amazon.com/dms/)
+ 「[Amazon EC2 の料金](https://aws.amazon.com/ec2/pricing/)」
+ [AWS DMS Step-by-Stepのチュートリアル](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)
+ [Percona XtraBackup](https://www.percona.com/mysql/software/percona-xtrabackup)

**チュートリアルと動画**
+ [の開始方法 AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Amazon EC2 のご紹介 – Elastic クラウドサーバーと AWSでのホスティング](https://www.youtube.com/watch?v=TsRBftzZsQo) (ビデオ)