シナリオ
多くの企業では、オンプレミスデータベースのドメイン名またはIPアドレスは、クライアントコードで記述されることがよくあります。 これらの企業がオンプレミスのデータベースをApsaraDB RDSに移行する場合、アプリケーション変換のためにクライアントコードを変更する必要があります。 このプロセスは複雑で危険です。 したがって、企業は、クラウドへのサービス移行中にデータベースをクラウドに移行する際に最大の困難に直面します。
解決策
プライベートDNSのオンプレミスデータベースのドメイン名と同じゾーンを追加し、ゾーンの標準名 (CNAME) レコードを追加して、ゾーンをApsaraDB RDSによって割り当てられたイントラネットドメイン名にマッピングします。 これにより、企業はデータベースのクラウドへの移行中にクライアントコードを変更する必要がなくなり、アプリケーションの変換を簡素化し、移行リスクを軽減できます。
準備
操作を実行する前に、次の表に示すリソースを準備します。
リソース | 数量 | 例 |
リソース | 数量 | 例 |
オンプレミスデータベースのドメイン名 | 1 | db.example.com |
Elastic Compute Service (ECS)インスタンス | 1以上 | 1.1.XX.XXおよび2.2.XX.XX |
ApsaraDB RDS インスタンス | 1 | rm-2ze44q293vs56l9po ***** .mysql.rds.aliyuncs.com |
手順
プライベートDNSの有効化
Alibaba Cloud DNS コンソールにログオンします。
左側のナビゲーションウィンドウで、[プライベートDNS (PrivateZone)] をクリックします。 プライベートDNS (PrivateZone) ページで、[今すぐ有効化] をクリックします。 詳細については、「プライベートDNSの有効化」をご参照ください。
組み込みの権限ゾーンとDNSレコードの追加
ApsaraDB RDSコンソールにログインします。 左側のナビゲーションペインで [インスタンスリスト] をクリックします。 [インスタンス] ページで、[インスタンスID /名前] 列の目的のインスタンスIDをクリックします。
左側のナビゲーションペインで、データベース接続 を選択します。 次に、Internal Endpointパラメーターの値をコピーします。
Alibaba Cloud DNS コンソールにログオンします。 左側のナビゲーションウィンドウで、[プライベートDNS (PrivateZone)] をクリックします。 [プライベートDNS (PrivateZone)] ページの右上隅にある [設定モード] をクリックします。 [組み込み権限モジュール] タブで、[ユーザー定義ゾーン] タブをクリックします。
[新しいゾーンの追加] をクリックします。 [組み込み権限ゾーンの追加] パネルで、ゾーン名を入力します。 この例では、db.example.comが入力されます。 ビジネス要件に基づいてゾーンタイプを選択します。 [組み込み権限加速ゾーン (推奨)] を選択することを推奨します。 [OK] をクリックします。
[ユーザー定義ゾーン] タブで、zon e db.example.comを見つけ、[操作] 列の [リソースレコードの設定] をクリックします。
[リソースレコードの設定] ページで、[レコードの追加] をクリックします。 [レコードの追加] パネルで、必要なパラメーターを指定し、[OK] をクリックします。 この例では、Record TypeはCNAMEに設定され、Hostnameは @ に設定され、Request LineはDefaultに設定され、Record Valueはrm-2ze44q293vs56l9po ***** .mysql.rds.aliyuncs.comに設定されます。 レコードの値を、オンプレミスデータベースの実際の内部IPアドレスに置き換えます。
[ユーザー定義ゾーン] タブに戻り、zon e db.example.comを見つけて、[操作] 列の [有効範囲設定] をクリックします。 [ゾーンの設定] タブで、データベースが配置されている仮想プライベートクラウド (VPC) をゾーンの有効範囲として選択します。
テスト結果
ゾーンの有効範囲内のVPCのECSインスタンスにログインして、ゾーンのドメインネームシステム (DNS) 解決が有効かどうかを確認します。 次の図は、DNS解決が成功したことを示しています。 例外が発生した場合は、DNSレコードの設定が正しいかどうかを確認してください。
dig db.example.com
ゾーンの有効範囲内でVPCのECSインスタンスにログインし、リモートコマンドを実行して、ECSインスタンスがApsaraDB RDSに接続されているかどうかを確認します。 次の図は、ECSインスタンスがApsaraDB RDSに接続されていることを示しています。
mysql -utest_dns -ptest_dns -hdb.example.com -P3306 -Dtest_dns
一般的なエラー
エラー2003 (HY000): 'db .example.com 'のMySQLサーバーに接続できません (110) データベースのホワイトリストを確認し、ECSインスタンスのIPアドレスをホワイトリストに追加します。