--- title: "Source DBと Target DBのアクセス設定" slug: "dms-connect" tags: ["database", "Database Migration Service", "DMS", "Cloud DB for MySQL"] updated: 2026-10-20T09:05:12Z published: 2026-10-20T09:05:12Z canonical: "guide.ncloud-docs.com/dms-connect" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Source DBと Target DBのアクセス設定 VPC環境で利用できます。 マイグレーション前に Source DBと Target DBの設定を確認し、データベースへのアクセスのためにアクセス情報を設定します。次の中からマイグレーションする状況に合う場合を選択し、設定方法を確認します。 - [同じ VPC内でマイグレーション](/docs/ja/dms-connect#%EA%B0%99%EC%9D%80VPC%EC%95%88%EC%97%90%EC%84%9C%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98): Source DBが NAVERクラウドプラットフォーム内の VPCに存在し、Target DBを同じ VPCに作成する場合 - [Public Subnet内の Target DBにマイグレーション](/docs/ja/dms-connect#PublicSubnet%EB%82%B4TargetDB%EB%A1%9C%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98): Source DBと Target DBのドメインが異なり、Target DBを Public Subnetに作成する場合 - [Private Subnet/Public Subnet内の Target DBにマイグレーション](/docs/ja/dms-connect#PrivateSubnet%EB%82%B4TargetDB%EB%A1%9C%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98): Source DBと Target DBのドメインが異なり、Target DBを Private Subnetに作成した場合、または Public Subnetに作成したが Publicドメインを割り当てられていない場合 - [Source DBが Private Subnetである場合のマイグレーション](/docs/ja/dms-connect#SourceDB%EA%B0%80PrivateSubnet%EC%9D%B8%EA%B2%BD%EC%9A%B0%EC%97%90%EB%8C%80%ED%95%9C%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98): Source DBと Target DBが異なる VPCにあり、Source DBを Private Subnetに作成する場合 - [Proxy Serverを利用したマイグレーション](/docs/ja/dms-connect#ProxyServer%EB%A5%BC%EC%9D%B4%EC%9A%A9%ED%95%9C%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98): Target DBが Serverのパブリック IPアドレスのみで Source DBにアクセスしようとする場合 ## 事前準備 Source DBと Target DBの接続する前に以下の事前タスクを順に行います。 1. NAVERクラウドプラットフォームコンソールで、Source DBを作成した VPCに Target DBを作成します。 - Target DBは Source DBと DBMSタイプが同様である必要があります。 - Source DBと Majorバージョンが同じ DBMSバージョンを推奨します。 - Target DBの作成方法に関する詳細は、[Cloud DB for MySQL を開始する](/docs/ja/clouddbformysql-start)をご参照ください。 2. Source DBをレプリケーションするために、Source DBのバイナリログ設定を確認します([マイグレーションのために必要な MySQL設定](/docs/ja/dms-connect#%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%EC%9D%84%EC%9C%84%ED%95%B4%ED%95%84%EC%9A%94%ED%95%9CMySQL%EC%84%A4%EC%A0%95)を参照)。 3. Source DBの Character Set/Collationと Definerアカウントをチェックします。 ``` SELECT character_set_name FROM information_schema.TABLES T, information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA WHERE CCSA.collation_name = T.table_collation AND TABLE_SCHEMA NOT IN ( 'information_schema', 'mysql', 'performance_schema', 'sys' ) AND CCSA.character_set_name NOT IN ( 'utf8', 'utf8mb3', 'utf8mb4', 'euckr' ); SELECT DEFAULT_CHARACTER_SET_NAME FROM information_schema.SCHEMATA T WHERE SCHEMA_NAME NOT IN ( 'information_schema', 'mysql', 'performance_schema', 'sys' ) AND DEFAULT_CHARACTER_SET_NAME NOT IN ( 'utf8', 'utf8mb3', 'utf8mb4', 'euckr'); ``` ``` SELECT DISTINCT (table_collation) as table_collate FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys'); SELECT DISTINCT (COLLATION_CONNECTION) as table_collate FROM information_schema.views WHERE TABLE_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys'); SELECT DISTINCT (COLLATION_CONNECTION) as table_collate FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys'); SELECT DISTINCT (DATABASE_COLLATION) as table_collate FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys'); SELECT DISTINCT (COLLATION_CONNECTION) as table_collate FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys'); SELECT DISTINCT (DATABASE_COLLATION) as table_collate FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys'); SELECT DISTINCT (DEFAULT_COLLATION_NAME) as table_collate FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys'); ``` ``` SELECT DEFINER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA NOT IN ( 'information_schema', 'mysql', 'performance_schema', 'sys' ) AND SECURITY_TYPE = 'DEFINER'; SELECT DEFINER FROM information_schema.VIEWS WHERE table_schema NOT IN ( 'information_schema', 'mysql', 'performance_schema', 'sys' ) AND SECURITY_TYPE = 'DEFINER' ; ``` - Cloud DB for MySQLは、[utf8、utf8mb4、euckr] Character Setに対してのみサポートします。Source DB上にその他の設定になっている場合は、変更してから実行します。 - Source DBで使用する Collationが Target DBでもサポートするか確認します。 ex) 8.0以前バージョンでは utf8mb4_0900_ai_ciをサポートしません。 - Source DB上で使用中の Definerアカウントは、アカウント名と許可ホスト名が同様に Cloud DB for MySQLに登録されている場合にマイグレーションを実行できます。 - Source DB Character Setチェッククエリ - Source DB Collationのチェッククエリ - Source DB Definerアカウントのチェッククエリ 4. (MySQL 5.7から 8.0で mysqldump方式を利用する場合) sql_modeをチェックします。 ``` SELECT ROUTINE_SCHEMA, ROUTINE_NAME, SQL_MODE FROM information_schema.routines WHERE ROUTINE_SCHEMA NOT IN ('sys','mysql'); SELECT TRIGGER_SCHEMA, TRIGGER_NAME, sql_mode FROM information_schema.triggers WHERE TRIGGER_SCHEMA NOT IN ('sys','mysql'); SELECT @@sql_mode ; ``` ``` - Source DB > [DB Config管理] で sql_mode='NO_AUTO_CREATE_USER' を削除設定 - Source DB > Procedure、Function、Triggerを削除してから再作成 1. Procedure、Function、Triggerに対してのみ dropと create構文が作成された sqlファイルを作成 $ mysqldump -u {ユーザー名} -p -h {Source DBホスト名} --set-gtid-purged=OFF --routines --triggers --no-create-info --no-data --no-create-db --add-drop-trigger {ユーザー DB} > backup.sql 2. backup.sqlファイル内の NO_AUTO_CREATE_USER構文をすべて削除 ex) SET sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' => SET sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION' 3. 適用する $ mysql -u {ユーザー名} -p -h {Source DBホスト名} {ユーザー DB} < backup.sql ``` - MySQL 5.7バージョンと MariaDB 10.1.7以上バージョンで Default値でサポートする sql_mode='NO_AUTO_CREATE_USER' 設定は MySQL 8.0バージョンからはサポートしません。 - 以下の点検は mysqldump方式で実行する際に必要です。 mydumper方式でマイグレーションを実行する際、sql_modeは Target DBの設定に従うので別途の点検は必要ありません。 - Source DBにその設定が適用されている場合は、以下の内容を参照して対処し、マイグレーションの実行が必要です。 - sql_mode設定のチェッククエリ - sql_mode互換性イシューの対処法 ## 同じ VPC内でマイグレーション Source DBが NAVERクラウドプラットフォーム内の VPCに存在し、Target DBを同じ VPCに作成する場合にアクセス情報を設定する方法を説明します。 次の手順を順に行います。 - [1. Target DBアクセス設定](/docs/ja/dms-connect#2TargetDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%951) - [2. Source DBアクセス設定](/docs/ja/dms-connect#3SourceDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%951) ### 1. Target DBアクセス設定 Target DBから Source DBにアクセスできるように、Target DBサーバに適用した ACGの Outboundルールを設定します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。ACG設定に関する詳細は、Serverご利用ガイドの [ACG](/docs/ja/server-acg-vpc)をご参照ください。 ACGルールを設定する方法は、次の通りです。 1. Target DBの詳細情報で Target DBサーバに適用した **ACG**を確認します。 2. **ACG**項目の ![i-dms-window](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-dms-window.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A59Z&se=2026-10-26T14%3A30%3A59Z&sr=c&sp=r&sig=KZB4XBDh41eVpVaFD3E6BSheCCU4RPNF6vVIu%2Fa0TqA%3D)をクリックし、ACG画面に移動します。 3. Target DBに適用された ACGをクリックした後、 **[ACG設定]** ボタンをクリックします。 4. **[Outbound]** タブをクリックします。 5. 以下のルールを入力し、 **[追加]** ボタンをクリックします。 - **プロトコル**: TCPを選択 - **目的地**: Source DBを作成したサブネットの IPアドレス範囲を入力(例) 10.0.0.0/24) - **許可ポート**: Source DBのアクセスポートを入力 6. **[適用]** ボタンをクリックします。 ### 2. Source DBアクセス設定 Source DBのアクセス情報を設定します。Source DBに適用した ACGルールと ACLを設定します。 #### Source DBサーバの ACG設定 - Source DBサーバのファイアウォール(ACG)を設定して、Target DBからアクセスするように設定します。 以下のトラフィックを許可するように、Source DBサーバに適用された ACGの Inboundルールを変更します([ACG](/docs/ja/server-acg-vpc)を参照)。 - プロトコル: TCP - アクセスソース: Target DBを作成したサブネットの IPアドレスの範囲(例) 10.0.0.0/24) - 許可ポート: Target DBのアクセスポート - 以下のような場合、Source DBに Outboundを設定します。 - Source DBが ACGではなく NACLポリシーを使用する NAVERクラウドプラットフォームサーバ - NAVERクラウドプラットフォームサーバでない場合 参考 - ACGは statefulに従うため、outboundを別途設定しなくても可能です。 - Network ACLは statelessに従うため、outboundを設定する必要があります。 #### Source DBアカウント作成と ACL設定 Source DBと Target DBを接続するには、以下のアカウントを作成して ACLに追加します([DB User管理](/docs/ja/database-database-5-2#DBUser%EA%B4%80%EB%A6%AC)を参照)。 - アカウントのアクセス IPアドレス(Host): Target DBが作成されたサブネット IPアドレスの範囲 - アカウントの DB権限 - データベースのバックアップとレプリケーションのための権限を含むように設定 - [マイグレーションに必要な最小権限項目](/docs/ja/dms-connect#%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%EC%9D%84%EC%9C%84%ED%95%9C%EC%B5%9C%EC%86%8C%EA%B6%8C%ED%95%9C%ED%95%84%EC%9A%94%ED%95%AD%EB%AA%A9)を参照 - パスワード: 必ず `mysql_native_password` 形式で作成されたパスワードを使用([MySQL起動/停止とアクセスフロー](/docs/ja/database-database-1-1#MySQL%EA%B8%B0%EB%8F%99%EC%A0%95%EC%A7%80%EB%B0%8F%EC%A0%91%EC%86%8D%EC%A0%88%EC%B0%A8)を参照) ## Public Subnet内の Target DBにマイグレーション Source DBと Target DBのドメインが異なり、Target DBを Public Subnetに作成する場合にアクセス情報を設定する方法について説明します。 次の手順を順に行います。 - Target DBと Source DBに Publicドメインを割り当てます([Publicドメイン管理](/docs/ja/database-database-5-2#Public%EB%8F%84%EB%A9%94%EC%9D%B8%EA%B4%80%EB%A6%AC)を参照)。 - [1. Target DBアクセス設定](/docs/ja/dms-connect#2TargetDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%952) - [2. Source DBアクセス設定](/docs/ja/dms-connect#3SourceDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%952) ### 1. Target DBアクセス設定 Target DBから Source DBにアクセスできるように、Target DBサーバに適用した ACGの Outboundルールを設定します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。ACG設定に関する詳細は、Serverご利用ガイドの [ACG](/docs/ja/server-acg-vpc)をご参照ください。 ACGルールを設定する方法は、次の通りです。 1. Target DBの詳細情報で Target DBサーバに適用した **ACG**を確認します。 2. **ACG**項目の ![i-dms-window](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-dms-window.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A59Z&se=2026-10-26T14%3A30%3A59Z&sr=c&sp=r&sig=KZB4XBDh41eVpVaFD3E6BSheCCU4RPNF6vVIu%2Fa0TqA%3D)をクリックし、ACG画面に移動します。 3. Target DBに適用された ACGをクリックした後、 **[ACG設定]** ボタンをクリックします。 4. **[Outbound]** タブをクリックします。 5. 以下のルールを入力し、 **[追加]** ボタンをクリックします。 - **プロトコル**: TCPを選択 - **目的地**: Source DBの Publicドメインの IPアドレスを入力(例) 101.101.220.90/32) - **許可ポート**: Source DBのアクセスポートを入力 6. **[適用]** ボタンをクリックします。 ### 2. Source DBアクセス設定 Source DBのアクセス情報を設定します。Source DBに適用した ACGルールと ACLを設定します。 #### Source DBサーバの ACG設定 - Source DBサーバのファイアウォール(ACG)を設定して、Target DBからアクセスするように設定します。以下のトラフィックを許可するように、Source DBサーバに適用された ACGの Inboundルールを変更します。 - プロトコル: TCP - アクセスソース: Target DBに割り当てられた Publicドメイン IPアドレス(例) 101.101.220.246/32) - 許可ポート: Target DBのアクセスポート - 以下のような場合、Source DBに Outboundを設定します。 - Source DBが ACGではなく NACLポリシーを使用する NAVERクラウドプラットフォームサーバ - NAVERクラウドプラットフォームサーバでない場合 参考 - ACGは statefulに従うため、outboundを別途設定しなくても可能です。 - Network ACLは statelessに従うため、outboundを設定する必要があります。 #### Source DBアカウント作成と ACL設定 Source DBと Target DBを接続するには、以下のアカウントを作成して ACLに追加します。 - アカウントのアクセス IPアドレス(Host): Target DBに割り当てられた Publicドメインの IPアドレス - アカウントの DB権限 - データベースのバックアップとレプリケーションのための権限を含むように設定 - [マイグレーションに必要な最小権限項目](/docs/ja/dms-connect#%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%EC%9D%84%EC%9C%84%ED%95%9C%EC%B5%9C%EC%86%8C%EA%B6%8C%ED%95%9C%ED%95%84%EC%9A%94%ED%95%AD%EB%AA%A9)を参照 - パスワード: 必ず `mysql_native_password` 形式で作成されたパスワードを使用([MySQL起動/停止とアクセスフロー](/docs/ja/database-database-1-1#MySQL%EA%B8%B0%EB%8F%99%EC%A0%95%EC%A7%80%EB%B0%8F%EC%A0%91%EC%86%8D%EC%A0%88%EC%B0%A8)を参照) ## Private Subnet/Public Subnet内の Target DBにマイグレーション Source DBと Target DBのドメインが異なり、Target DBを Private Subnetに作成する場合にアクセス情報の設定方法を説明します。 Target DBが Public Subnetで作成された場合も、以下の方法で行えます。 次の手順を順に行います。 - Source DBに Publicドメインを割り当てます([Publicドメイン管理](/docs/ja/database-database-5-2#Public%EB%8F%84%EB%A9%94%EC%9D%B8%EA%B4%80%EB%A6%AC)を参照)。 - [1. Target DBアクセス設定](/docs/ja/dms-connect#2TargetDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%953) - [2. Source DBアクセス設定](/docs/ja/dms-connect#3SourceDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%953) ### 1. Target DBアクセス設定 Target DBのアクセス情報を設定します。次の手順を順に行います。 - [1. NAT Gateway作成](/docs/ja/dms-connect#1NATGateway%EC%83%9D%EC%84%B1) - [2. Route Table接続](/docs/ja/dms-connect#2RouteTable%EC%97%B0%EA%B2%B0) - [3. Target DBサーバ ACGの設定](/docs/ja/dms-connect#3TargetDB%EC%84%9C%EB%B2%84ACG%EC%84%A4%EC%A0%95) #### 1. NAT Gateway作成 Target DBサーバと接続する NAT Gatewayを作成します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。NAT Gateway作成に関する詳細は、VPCご利用ガイドの [NAT Gateway作成](/docs/ja/networking-vpc-vpcdetailenatgw#NATGateway%EC%83%9D%EC%84%B1)をご参照ください。 NAT Gatewayを作成する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Networking** > **VPC**メニューを順にクリックします。 2. Subnet Managementメニューをクリックします。 3. [Subnet作成] ボタンをクリックします。 4. **Public** NatGateway用途の Subnetを作成します。 ![dms-natgateway-subnet-setting_ko.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/dms-natgateway-subnet-setting_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A59Z&se=2026-10-26T14%3A30%3A59Z&sr=c&sp=r&sig=KZB4XBDh41eVpVaFD3E6BSheCCU4RPNF6vVIu%2Fa0TqA%3D) 5. **NAT Gateway**メニューをクリックします。 6. **[NAT Gateway作成]** ボタンをクリックします。 7. **パブリック** NAT Gatewayを作成します。 NAT Gateway名を入力し、Target DBが作成された **VPC**と**サブネット**を選択します。 ![dms-create-natgateway_ko.png](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/dms-create-natgateway_ja.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A59Z&se=2026-10-26T14%3A30%3A59Z&sr=c&sp=r&sig=KZB4XBDh41eVpVaFD3E6BSheCCU4RPNF6vVIu%2Fa0TqA%3D) 8. **[作成]** ボタンをクリックします。 9. 作成した NAT Gatewayの **IPアドレス**を確認します。 #### 2. Route Table接続 Route Tableを作成し、ルーティングルールに NAT Gatewayを追加します。Target DBがあるサブネットに Route Tableを適用します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。Route Tableに関する詳細は、VPCご利用ガイドの [Route Table](/docs/ja/networking-vpc-vpcdetailedroutetable)をご参照ください。 注意 - DMSはパブリック通信を使用するので、Target DBがある Subnetの Route Tableに NAT Gateway設定を追加してください。 - NAT Gatewayがある Subnetと、Target DBがある Subnetの Route Tableを分けて設定する必要があります。 - 1つの Route Tableで NAT Gatewayの設定と関連 Subnetの追加を一緒に行う場合、パスの競合が発生することがあります。 Route Tableを適用する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Networking** > **VPC**メニューを順にクリックします。 2. **Route Table**メニューをクリックします。 3. **[Route Table作成]** ボタンをクリックします。 4. Route Table名を入力し、**VPC**と **Subnetサポートタイプ**を選択します。 - **VPC**: Target DBを作成した VPCを選択 - **Subnetサポートタイプ**: - Target DBが Private Subnetの場合に、Public NatGatewayがある**パブリック**を選択 - Target DBが Public Subnetの場合に、**パブリック**を選択 5. **[作成]** ボタンをクリックします。 6. 作成した Route Tableをクリックし、 **[Route設定]** ボタンをクリックします。 7. 必要な情報を入力し、 **[作成]** ボタンをクリックします。 - **Destination**: Source DBに割り当てられた Publicドメインの IPアドレスを入力(例) 101.101.220.90/32) - **Target Type**: NATGWを選択 - **Target Name**: [1. NAT Gateway作成](/docs/ja/dms-connect#1NATGateway%EC%83%9D%EC%84%B1)で作成した NAT Gatewayを選択 8. **[確認]** ボタンをクリックします。 9. Route Tableをクリックし、 **[関連 Subnet設定]** ボタンをクリックします。 10. **Subnet名**で NatGatewayを作成したサブネットを選択し、 **[作成]** ボタンをクリックします。 11. **[確認]** ボタンをクリックします。 #### 3. Target DBサーバ ACGの設定 Target DBから Source DBにアクセスできるように、Target DBサーバに適用した ACGの Outboundルールを設定します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。ACG設定に関する詳細は、Serverご利用ガイドの [ACG](/docs/ja/server-acg-vpc)をご参照ください。 ACGルールを設定する方法は、次の通りです。 1. Target DBの詳細情報で Target DBサーバに適用した **ACG**を確認します。 2. **ACG**項目の ![i-dms-window](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-dms-window.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A59Z&se=2026-10-26T14%3A30%3A59Z&sr=c&sp=r&sig=KZB4XBDh41eVpVaFD3E6BSheCCU4RPNF6vVIu%2Fa0TqA%3D)をクリックし、ACG画面に移動します。 3. Target DBに適用された ACGをクリックした後、 **[ACG設定]** ボタンをクリックします。 4. **[Outbound]** タブをクリックします。 5. 以下のルールを入力し、 **[追加]** ボタンをクリックします。 - **プロトコル**: TCPを選択 - **目的地**: Source DBの Publicドメインの IPアドレスを入力(例) 101.101.220.90/32) - **許可ポート**: Source DBのアクセスポートを入力 6. **[適用]** ボタンをクリックします。 ### 2. Source DBアクセス設定 Source DBのアクセス情報を設定します。Source DBに適用した ACGルールと ACLを設定します。 #### Source DBサーバの ACG設定 - Source DBサーバのファイアウォール(ACG)を設定して、Target DBからアクセスするように設定します。以下のトラフィックを許可するように、Source DBサーバに適用された ACGの Inboundルールを変更します。 - プロトコル: TCP - アクセスソース: [1. NAT Gateway作成](/docs/ja/dms-connect#1NATGateway%EC%83%9D%EC%84%B1)で作成した NAT Gatewayの IPアドレス - 許可ポート: Target DBのアクセスポート - 以下のような場合、Source DBに Outboundを設定します。 - Source DBが ACGではなく NACLポリシーを使用する NAVERクラウドプラットフォームサーバ - NAVERクラウドプラットフォームサーバでない場合 参考 - ACGは statefulに従うため、outboundを別途設定しなくても可能です。 - Network ACLは statelessに従うため、outboundを設定する必要があります。 #### Source DBアカウント作成と ACL設定 Source DBと Target DBを接続するには、以下のアカウントを作成して ACLに追加します。 - アカウントのアクセス IPアドレス(Host): [1. NAT Gateway作成](/docs/ja/dms-connect#1NATGateway%EC%83%9D%EC%84%B1)で作成した NAT Gatewayの IPアドレス - アカウントの DB権限 - データベースのバックアップとレプリケーションのための権限を含むように設定 - [マイグレーションに必要な最小権限項目](/docs/ja/dms-connect#%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%EC%9D%84%EC%9C%84%ED%95%9C%EC%B5%9C%EC%86%8C%EA%B6%8C%ED%95%9C%ED%95%84%EC%9A%94%ED%95%AD%EB%AA%A9)を参照 - パスワード: 必ず `mysql_native_password` 形式で作成されたパスワードを使用([MySQL起動/停止とアクセスフロー](/docs/ja/database-database-1-1#MySQL%EA%B8%B0%EB%8F%99%EC%A0%95%EC%A7%80%EB%B0%8F%EC%A0%91%EC%86%8D%EC%A0%88%EC%B0%A8)を参照) ## Source DBが Private Subnetである場合のマイグレーション Source DBと Target DBが異なる VPCにあり、Source DBを Private Subnetに作成する場合にアクセス情報を設定する方法について説明します。 次の手順を順に行います。 - Target DBと Source DBの通信のための [VPC Peeringを作成](/docs/ja/dms-connect#VPCPeering%EC%83%9D%EC%84%B1)([VPC Peeringを参照](/docs/ja/networking-vpc-vpcdetailedpeering)) - [Target DBアクセス設定](/docs/ja/dms-connect#2TargetDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%954) - [Source DBアクセス設定](/docs/ja/dms-connect#3SourceDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%954) - [Endpoint設定](/docs/ja/dms-connect#4Endpoint%EC%84%A4%EC%A0%954) ### 1. VPC Peering作成 Source DBと Target DB間の TCP通信ができるように VPC Peeringを構成する方法について説明します。**TCPは双方向通信ベースであるため、Source DBが属する VPC、Target DBが属する VPCそれぞれをリクエスト VPCとした2つの VPC Peeringサービスを作成**する必要があります。 参考 ここでは、アクセス設定に必要な内容のみ説明します。VPC Peering作成に関する詳細は、Networkingご利用ガイドの [VPC Peering](/docs/ja/networking-vpc-vpcdetailedpeering)をご参照ください。 VPC Peeringを構成する方法は次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Networking** > **VPC**メニューを順にクリックします。 2. **VPC Peering**メニューをクリックします。 3. **[VPC Peering作成]** ボタンをクリックします。 - **リクエスト VPC**: Target DBが属する VPCを選択 - **承諾 VPC**: Source DBが属する VPCを選択 4. **[作成]** ボタンをクリックします。 双方向通信のために、VPC Peeringの追加作成が必要です。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Networking** > **VPC**メニューを順にクリックします。 2. **VPC Peering**メニューをクリックします。 3. **[VPC Peering作成]** ボタンをクリックします。 - **リクエスト VPC**: Source DBが属する VPCを選択 - **承諾 VPC**: Target DBが属する VPCを選択 4. **[作成]** ボタンをクリックします。 ### 2. Target DBアクセス設定 #### Target DBサーバ ACG設定 Target DBから Source DBにアクセスできるように、Target DBで適用した ACGの Outboundルールを設定します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。ACG設定に関する詳細は、Serverご利用ガイドの [ACG](/docs/ja/server-acg-vpc)をご参照ください。 ACGルールを設定する方法は、次の通りです。 1. Target DBの詳細情報で Target DBサーバに適用した **ACG**を確認します。 2. **ACG**項目の ![i-dms-window](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-dms-window.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A59Z&se=2026-10-26T14%3A30%3A59Z&sr=c&sp=r&sig=KZB4XBDh41eVpVaFD3E6BSheCCU4RPNF6vVIu%2Fa0TqA%3D)をクリックし、ACG画面に移動します。 3. Target DBに適用された ACGをクリックした後、 **[ACG設定]** ボタンをクリックします。 4. **[Outbound]** タブをクリックします。 5. 以下のルールを入力し、 **[追加]** ボタンをクリックします。 - **プロトコル**: TCPを選択 - **目的地**: Source DBサーバのプライベート IPアドレスを入力(例) 10.1.2.16/32) - プライベート IPアドレスの確認方法: nslookup {Privateドメイン} - **許可ポート**: Source DBのアクセスポートを入力 6. **[適用]** ボタンをクリックします。 #### Route Table接続 Route Tableを作成し、ルーティングルールに VPC Peeringを追加します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。Route Table設定に関する詳細は、VPCご利用ガイドの [Route Table](/docs/ja/networking-vpc-vpcdetailedroutetable)をご参照ください。 Route Tableを適用する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Networking** > **VPC**メニューを順にクリックします。 2. **Route Table**メニューをクリックします。 3. **[Route Table作成]** ボタンをクリックします。 4. Route Table名を入力し、**VPC**と **Subnetサポートタイプ**を選択します。 - **VPC**: Target DBが属する VPCを選択 - **Subnetサポートタイプ**: - Target DBが Private Subnetに属している場合、**プライベート**を選択 - Target DBが Public Subnetに属している場合、**パブリック**を選択 5. **[作成]** ボタンをクリックします。 6. 作成した Route Tableをクリックし、 **[Routes設定]** ボタンをクリックします。 7. 次の情報を入力して **[作成]** ボタンをクリックします。 - **Destination**: Source DBが属する Subnetの IPアドレスを入力(例) 10.1.2.0/24) - **Target Type**: VPCPEERINGを選択 - **Target Name**: VPC Peering作成で作成した VPC Peeringサービスを選択 8. **[確認]** ボタンをクリックします。 9. Route Tableをクリックし、 **[関連 Subnet設定]** ボタンをクリックします。 10. **Subnet名**で VPC Peeringが作成された Subnetを選択し、 **[作成]** ボタンをクリックします。 11. **[確認]** ボタンをクリックします。 ### 3. Source DBアクセス設定 #### Source DBサーバの ACG設定 Source DBサーバのファイアウォール(ACG)を設定して、Target DBからアクセスするように設定します。以下のトラフィックを許可するように、Source DBサーバに適用された ACGの Inboundルールを変更します。 - **プロトコル**: TCP - **目的地**: Target DBサーバのプライベート IPアドレスを入力(例) 10.2.0.7/32) - プライベート IPアドレスの確認方法: nslookup {Privateドメイン} - **許可ポート**: Target DBのアクセスポートを入力 #### Route Table接続 Route Tableを作成し、ルーティングルールに VPC Peeringを追加します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。Route Table設定に関する詳細は、VPCご利用ガイドの [Route Table](/docs/ja/networking-vpc-vpcdetailedroutetable)をご参照ください。 Route Tableを適用する方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールの VPC環境で、**Menu** > **All Services** > **Networking** > **VPC**メニューを順にクリックします。 2. **Route Table**メニューをクリックします。 3. **[Route Table作成]** ボタンをクリックします。 4. Route Table名を入力し、 **VPC**と **Subnetサポートタイプ**を選択します。 - **VPC**: Source DBが属する VPCを選択 - **Subnetサポートタイプ**: Source DBが Private Subnetに属しているため、**プライベート**を選択 5. **[作成]** ボタンをクリックします。 6. 作成した Route Tableをクリックし、 **[Routes設定]** ボタンをクリックします。 7. 次の情報を入力して **[作成]** ボタンをクリックします。 - **Destination**: Target DBが属する Subnetの IPアドレスを入力(例) 10.2.0.0/24) - **Target Type**: VPCPEERINGを選択 - **Target Name**: VPC Peering作成で作成した VPC Peeringサービスを選択 8. **[確認]** ボタンをクリックします。 9. Route Tableをクリックし、 **[関連 Subnet設定]** ボタンをクリックします。 10. **Subnet名**で VPC Peeringが作成された Subnetを選択し、 **[作成]** ボタンをクリックします。 11. **[確認]** ボタンをクリックします。 #### Source DBアカウント作成と ACL設定 Source DBと Target DBを接続するには、以下のアカウントを作成して ACLに追加します。 - アカウントのアクセス IPアドレス(Host): Target DBのプライベート IPアドレス - アカウントの DB権限 - データベースのバックアップとレプリケーションのための権限を含むように設定 - [マイグレーションに必要な最小権限項目](/docs/ja/dms-connect#%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%EC%9D%84%EC%9C%84%ED%95%9C%EC%B5%9C%EC%86%8C%EA%B6%8C%ED%95%9C%ED%95%84%EC%9A%94%ED%95%AD%EB%AA%A9)を参照 - パスワード: 必ず `mysql_native_password` 形式で作成されたパスワードを使用([MySQL起動/停止とアクセスフロー](/docs/ja/database-database-1-1#MySQL%EA%B8%B0%EB%8F%99%EC%A0%95%EC%A7%80%EB%B0%8F%EC%A0%91%EC%86%8D%EC%A0%88%EC%B0%A8)を参照) ### 4. Endpoint設定 Migrationのための Source DB Endpointを設定する方法について説明します。 参考 ここでは、設定に必要な内容のみ説明します。Endpoint設定に関する詳細は、VPCご利用ガイドの [Endpoint Management](/beta/docs/ja/dms-endpointmanagement)をご参照ください。 - **Endpoint URL**: Source DBの Private Domain - **DB PORT**: Source DBアクセスポート - **DB User**: Source DBアクセスアカウント - **DB Password**: Source DBアクセスパスワード ## Proxy Serverを利用したマイグレーション Source DBが Private Subnetにあり、Target DBが Public Subnetにある場合、Proxy Serverを構築してアクセス情報を設定する方法について説明します。Proxy Serverのパブリック IPアドレスのみで Target DBから Source DBにアクセスしたい場合に使用します。この場合、Source DBと Proxy Serverは同じ VPC内に位置している必要があります。 次の手順を順に行います。 - [Nginxを利用した Proxy Serverの構築](/docs/ja/dms-connect#Nginx%EB%A5%BC%EC%9D%B4%EC%9A%A9%ED%95%9CProxyServer%EA%B5%AC%EC%B6%95) - [Target DBアクセス設定](/docs/ja/dms-connect#2TargetDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%955) - [Source DBアクセス設定](/docs/ja/dms-connect#3SourceDB%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%955) - [Proxy Serverアクセス設定](/docs/ja/dms-connect#ProxyServer%EC%A0%91%EC%86%8D%EC%84%A4%EC%A0%95) - [Endpoint設定](/docs/ja/dms-connect#4Endpoint%EC%84%A4%EC%A0%955) ### 1. Nginxを利用した Proxy Serverの構築 Target DBが Serverのパブリック IPアドレスのみで Source DBにアクセスするための Proxy Serverの構築方法について説明します。事前に Target DBがある Public Subnetに Serverサービスを作成した後、パブリック IPアドレスの発行が必要です。 参考 ここでは、Proxy設定に必要な内容のみ説明します。Serverの作成とアクセスに関する詳細は、Computeガイドの [Server](/docs/ja/server-create-vpc)をご参照ください。 Proxy Serverを構成する方法は次の通りです。 1. Serverにアクセスした後、Nginxをインストールします。 ``` wget https://nginx.org/download/nginx-1.24.0.tar.gz ``` 2. インストールしたファイルを解凍します。 ``` tar -zxvf nginx-1.24.0.tar.gz ``` 3. 解凍したディレクトリに入り、コンパイルします。 ``` ./configure --with-stream sudo make install ``` 参考 通信設定には Streamモジュールが必須なので、`--with-stream`オプションと一緒にコンパイルしてインストールしてください。 1. Nginxを実行するための nginx.serviceファイルを作成します。 ``` # vi /etc/systemd/system/nginx.service --- [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target ``` 2. Nginxサービスを登録します。 ``` systemctl daemon-reload # 登録 systemctl enable --now nginx # サーバ再起動時に nginxも自動再起動 systemctl status nginx # 実行ステータスを確認 ``` 参考 エラー発生時、`journalctl -xe` コマンドでエラーを確認できます。 注意 Nginxステータスの確認時、`Couldn't stat /var/log/lastlog: No such file or directory` エラーが表示された場合、当該ファイルを同じパスに作成してください。 ``` touch /var/log/lastlog ``` 1. nginx.confファイルを以下のように変更します。 ``` #user nobody; worker_processes 1; error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; pid logs/nginx.pid; stream { upstream db_servers { server [Source DBプライベート IPアドレス]:[Source DB Port]; } server { listen [Target DBと通信するポート] so_keepalive=on; proxy_pass db_servers; proxy_socket_keepalive on; proxy_connect_timeout 30s; } } events { worker_connections 1024; } ``` 2. Nginxを再実行します。 ``` systemctl restart nginx ``` 参考 ここでは、Nginx-1.24.0という特定のバージョンのダウンロード方法を説明しましたが、あくまでも例であり、該当する環境に合わせて最新バージョンをダウンロードしてください。 ### 2. Target DBアクセス設定 #### Target DBサーバ ACG設定 Target DBから Source DBにアクセスできるように、Target DBに適用した ACGの Outboundルールを設定します。 参考 ここでは、アクセス設定に必要な内容のみ説明します。ACG設定に関する詳細は、Serverご利用ガイドの [ACG](/docs/ja/server-acg-vpc)をご参照ください。 ACGルールを設定する方法は、次の通りです。 1. Target DBの詳細情報で Target DBサーバに適用した ACGを確認します。 2. **ACG**項目の ![i-dms-window](https://cdn.document360.io/6998976f-9d95-4df8-b847-d375892b92c2/Images/Documentation/i-dms-window.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A30%3A59Z&se=2026-10-26T14%3A30%3A59Z&sr=c&sp=r&sig=KZB4XBDh41eVpVaFD3E6BSheCCU4RPNF6vVIu%2Fa0TqA%3D)をクリックし、ACG画面に移動します。 3. Target DBに適用された ACGをクリックした後、 **[ACG設定]** ボタンをクリックします。 4. **[Outbound]** タブをクリックします。 5. 以下のルールを入力し、 [追加] ボタンをクリックします。 - **プロトコル**: TCPを選択 - **目的地**: 作成した Serverのパブリック IPアドレスを入力(例) 223.101.151.223/32) - **許可ポート**: Target DBと通信するポートを入力 1. **[適用]** ボタンをクリックします。 ### 3. Source DBアクセス設定 Proxy Serverと通信するための Source DBの ACGルール設定が必要です。通信を許可するように、Source DBサーバに適用された ACGの Inboundルールを設定します。 以下のルールを **[Inbound]** ルールに追加します。 - **プロトコル**: TCP - **目的地**: 作成した Serverに適用された ACG(例) mysql-vpc-default-acg) - **許可ポート**: Source DBのアクセスポートを入力 ### 4. Proxy Serverアクセス設定 Source DBと Target DBが Proxy Serverを介して通信できるように作成した Serverサービスの ACGルールを設定する必要があります。Serverに適用された ACGの Inboundルールと Outboundルールを変更します。 参考 この場合、ACG設定のために Public Subnetに作成した Target DBのパブリック IPアドレスが必要です。**[Cloud DB for MySQL > DB Server > Target DB選択 > DB管理 > Public Domain管理]** のプロセスを経て Target DBの Publicドメインを発行してください。 - パブリック IPアドレスの確認方法 ``` nslookup {Target DB Public 도메인} ``` 1. 以下のルールを **[Inbound]** ルールに追加します。 - **プロトコル**: TCP - **目的地**: Target DBのパブリック IPアドレスを入力(例) 211.101.130.211/32) - **許可ポート**: Target DBと通信するポートを入力 1. 以下のルールを **[Outbound]** ルールに追加します。 - **プロトコル**: TCP - **目的地**: Source DBのプライベート IPアドレスを入力(例) 10.1.2.16/32) - **許可ポート**: Source DBのアクセスポートを入力 ### 5. Endpoint設定 Migrationのための Source DB Endpointを設定する方法について説明します。Proxyサーバで通信できるように構築したため、別途の Source DB URLがなくても Serverのパブリック IPアドレスで Endpointを設定できます。 参考 ここでは、設定に必要な内容のみ説明します。Endpoint設定に関する詳細は、VPCご利用ガイドの [Endpoint Management](/docs/ja/dms-endpointmanagement)をご参照ください。 - **Endpoint URL**: 作成した Serverのパブリック IPアドレスを入力 - **DB PORT**: Source DBアクセスポート - **DB User**: Source DBアクセスアカウント - **DB Password**: Source DBアクセスパスワード ## マイグレーションのために必要な MySQL設定 マイグレーションを実行するために、Source DBに対して必要な事前設定項目を説明します。 - 必須事項: バイナリログの有効化 - `log_bin`の値が `ON`と表示されていることを確認 - `server_id`値を指定 - 推奨事項: バイナリログの保存期間を5日以上に設定 - 設定変数 `expire_logs_days`または `binlog_expire_logs_seconds`の値を設定 - バイナリログの保存期間がマイグレーション時間より短い場合は、レプリケーション時に以下のようなエラーメッセージが発生します。この場合、Source DB設定の変更後にマイグレーションの削除や再作成が必要です。 `Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file` 参考 Source DBが AWS Aurora / AWS RDSの場合、NCP Cloud DB for MySQLへのマイグレーションのために、以下のように log_bin、GTID設定の変更が必要です。 - binlog_format = ROW - log_bin = ON - gtid_mode = ON - enforce_gtid_consistency = ON ## マイグレーションに必要な最小限の権限項目 - Source DBが GTIDモードの場合、以下のコマンドを実行します。 ### バックアップ方式: mysqldumpを選択した場合 - Target DBが8.0.32バージョン未満の場合 ``` GRANT PROCESS, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, SHOW_ROUTINE ON *.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT ON mysql.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT、SHOW VIEW、LOCK TABLES、TRIGGER ON [ユーザー DB].*TO '[ユーザー名]'@'[HOST IP]'; ``` - Target DBが8.0.32バージョン以上の場合 ``` GRANT {RELOAD|FLUSH_TABLES}, PROCESS, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, SHOW_ROUTINE ON *.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT ON mysql.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT、SHOW VIEW、LOCK TABLES、TRIGGER ON [ユーザー DB].*TO '[ユーザー名]'@'[HOST IP]'; ``` - Source DBが GTIDモードでない場合、以下のコマンドを実行します。 ``` GRANT RELOAD, PROCESS, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, SHOW_ROUTINE ON *.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT ON mysql.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT、SHOW VIEW、TRIGGER ON [ユーザー DB].*TO '[ユーザー名]'@'[HOST IP]'; ``` 参考 - GTIDモードでない場合は、Source DBユーザーに [RELOAD] 権限が必要であり、ポリシー上の理由によりこれらを付与されない時は、Source DBを GTIDモードに変更してからマイグレーションを行ってください。 - AWS RDS環境でマイグレーションを行う場合は、権限ポリシー上の理由により GTIDモードに変更してからマイグレーションを行います。 - MySQL 8.0.20バージョン以降に Routine Dumpを行うためには、 [SHOW_ROUTINE] の権限が必要です。 - Target DBバージョン8.0.32以降からは Source DBが GTIDモードの場合でも、 [RELOAD] または [FLUSH_TABLES] の権限が追加で必要です。 - システムテーブル権限 [Y] の設定が必要です。 ### バックアップ方式: mydumperを選択した場合 ``` GRANT BACKUP_ADMIN, {RELOAD|FLUSH_TABLES}, PROCESS, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, SHOW_ROUTINE ON *.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT ON mysql.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT ON sys.*TO '[ユーザー名]'@'[HOST IP]'; GRANT SELECT、SHOW VIEW、LOCK TABLES、TRIGGER ON [ユーザー DB].*TO '[ユーザー名]'@'[HOST IP]'; ``` 参考 - mydumperを使用するには、Source DBユーザーアカウントに BACKUP_ADMIN, {RELOAD|FLUSH_TABLES} の権限が必要です。 当該権限を確認した後、必要な場合はサポートまでにお問い合わせください。 - システムテーブル権限 [Y] の設定が必要です。