ビジネス要件に基づいて、Elastic Compute Service(ECS)インスタンスにデプロイされている Web アプリケーションをシンプルアプリケーションサーバーに移行できます。このトピックでは、ECS インスタンスからシンプルアプリケーションサーバーにデータを移行する方法について説明します。
前提条件
オペレーティングシステム(OS)のバージョンが ECS インスタンスの OS バージョンと同じであるシンプルアプリケーションサーバーが作成されています。詳細については、「シンプルアプリケーションサーバーを作成する」をご参照ください。
説明OS が ECS インスタンスの OS と異なるシンプルアプリケーションサーバーを作成した場合は、シンプルアプリケーションサーバーの OS をリセットできます。詳細については、「シンプルアプリケーションサーバーをリセットする」をご参照ください。
シンプルアプリケーションサーバーで提供される OS イメージのバージョンは、ECS で提供されるパブリックイメージのバージョンよりも少なくなっています。ECS インスタンスからシンプルアプリケーションサーバーにデータを移行する場合は、ECS インスタンスの OS バージョンと同様のサーバーの OS バージョンを選択できます。たとえば、ECS インスタンスが CentOS 7.X のパブリックイメージを使用している場合は、シンプルアプリケーションサーバーで使用されるイメージを CentOS 7.3 または CentOS 7.6 OS イメージに変更できます。
シンプルアプリケーションサーバーのパスワードが設定されています。詳細については、「サーバーパスワードを設定またはリセットする」をご参照ください。
必要なポートが有効になっています。詳細については、「シンプルアプリケーションサーバーのファイアウォールを管理する」トピックの「ファイアウォールを管理する」セクションをご参照ください。
このトピックでは、ポート 3306(MySQL で使用されるデフォルトポート)、ポート 8888(aaPanel で使用されるデフォルトポート)、およびポート 888(phpMyAdmin データベース管理ツールで使用されるデフォルトポート)を有効にする必要があります。
警告これらのデフォルトポートを有効にすると、サーバーへの侵入が発生する可能性があります。使用後できるだけ早くポートを無効にするか、デフォルトのポート番号を使用可能な他のポート番号に変更することをお勧めします。
背景情報
このトピックでは、LNMP(Linux、NGINX、MySQL、および PHP)環境にデプロイされている ECS インスタンスからシンプルアプリケーションサーバーに WordPress Web サイトが移行されます。データの移行後、Web サイトは機能し、データは完全でなければなりません。次の表は、例で使用されている ECS インスタンス、シンプルアプリケーションサーバー、およびデータの移行に使用されるツールについて説明しています。
ECS インスタンスとシンプルアプリケーションサーバー
ECS インスタンス
シンプルアプリケーションサーバー
イメージ: CentOS 7.8 パブリックイメージ。
ランタイム環境とアプリケーション: WordPress Web サイトは LNMP 環境にデプロイされています。
バージョン:
NGINX: 1.16.1.
MySQL: 5.7.28.
PHP: 7.0.33.
WordPress: 5.1.10.
説明LNMP 環境を構築し、ECS インスタンスに WordPress Web サイトをデプロイする方法の詳細については、「CentOS 7 インスタンスに WordPress Web サイトを構築する」をご参照ください。
イメージ: CentOS 7.6.
ツール
ツール
説明
無料 aaPanel
aaPanel は、サーバー用の O&M パネルです。このトピックでは、aaPanel を使用して、ECS インスタンスと同じ LNMP 環境をシンプルアプリケーションサーバーに構築します。
scp コマンド
このコマンドは、Secure Shell(SSH)プロトコルを使用してファイルをリモートコピーするために使用されます。scp コマンドを実行することにより、ECS インスタンスにデプロイされている Web アプリケーション(Web アプリケーションデータベースに保存されているデータを除く)がシンプルアプリケーションサーバーにコピーされます。
Alibaba Cloud Data Transmission Service (DTS)
ECS インスタンスの Web アプリケーションデータベースに保存されているデータは、DTS を使用してシンプルアプリケーションサーバーのデータベースに移行されます。DTS の詳細については、「DTS とは」をご参照ください。
使用上の注意
スナップショットを作成してデータをバックアップします。
詳細については、以下のトピックをご参照ください。
ECS インスタンスのスナップショットを作成する: スナップショットを作成する。
シンプルアプリケーションサーバーのスナップショットを作成する: 「スナップショットを管理する」トピックの「スナップショットを作成する」セクション。
警告ECS インスタンスとシンプルアプリケーションサーバーのスナップショットを作成することをお勧めします。移行の失敗によりデータの例外が発生した場合、スナップショットを使用してインスタンスとサーバーのディスクをロールバックできます。
インスタンスとサーバーのランタイム環境が同じバージョンであることを確認します。
一部の Web サイトでは、ランタイム環境のバージョン要件が高くなっています。移行前後のランタイム環境のバージョンが異なると、Web サイトが正常に動作しない場合があります。ECS インスタンスのランタイム環境のバージョン情報を理解する必要があります。たとえば、インスタンスのランタイム環境が LNMP の場合は、NGINX、MySQL、および PHP アプリケーションのバージョン情報を理解し、同じバージョンのアプリケーションがシンプルアプリケーションサーバーにデプロイされて同一のランタイム環境が構築されていることを確認する必要があります。
ネットワークを確認します。
サーバーとインスタンスがインターネットにアクセスできることを確認します。異なる国のリージョン間でデータを移行する場合、ネットワーク環境が安定しない可能性があります。移行速度が低下する可能性があります。
移行の影響
項目 | 説明 |
ECS インスタンスとシンプルアプリケーションサーバーで承認されたアプリケーション | ECS インスタンスとシンプルアプリケーションサーバーは、異なる仮想プライベートクラウド(VPC)にあります。ECS インスタンスからサーバーにデータが移行されると、基盤となるハードウェアが変更され、ハードウェアロックされたアプリケーションライセンスが無効になる可能性があります。お客様は、アプリケーションライセンスを有効に維持する責任があります。 |
パブリック IP アドレス | ECS インスタンスのパブリック IP アドレスは、サーバーのパブリック IP アドレスとは異なります。ドメイン名が ECS インスタンスに関連付けられている場合は、ECS インスタンスからサーバーにデータを移行した後、ドメイン名をサーバーのパブリック IP アドレスに解決する必要があります。 |
ステップ 1: シンプルアプリケーションサーバーに aaPanel をインストールして構成する
このトピックでは、aaPanel を使用してサーバーのランタイム環境を効率的に構成することをお勧めします。サーバーのランタイム環境のバージョンが ECS インスタンスのバージョンと同じであることを確認します。
実際のデータ移行シナリオでデータを移行する場合は、ビジネス要件に基づいてサーバーの Web サイトランタイム環境を手動で構成し、サーバーの Web サイトランタイム環境がインスタンスの Web サイトランタイム環境と同一であることを確認する必要があります。
シンプルアプリケーションサーバーコンソールでシンプルアプリケーションサーバーに接続します。
詳細については、「Linux サーバーに接続する」をご参照ください。
- 次のコマンドを実行して
rootユーザーに切り替えます:sudo su root aaPanel をインストールします。
aaPanel 公式 Web サイト にアクセスして、さまざまな OS 用のインストールパッケージを入手できます。このトピックでは、シンプルアプリケーションサーバーの OS は CentOS 7.6 です。したがって、次のコマンドを実行して無料の aaPanel をインストールする必要があります。
yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanelコマンド出力が次のメッセージのようであれば、aaPanel がインストールされています。[aapanel Internet Address]、[aapanel Internal Address]、[username]、および [password] に関する情報を保存する必要があります。
================================================================== Congratulations! Installed successfully! ================================================================== aaPanel Internet Address: https://8.218.XX.XX:7800/d55e4627 aaPanel Internal Address: https://172.19.XX.XX:7800/d55e4627 username: k6tzrhwj password: d2ae**** Warning: If you cannot access the panel, release the following port (7800|888|80|443|20|21) in the security group ================================================================== Time consumed: 1 Minute!コンピューターで、ブラウザーのアドレスバーに aaPanel インターネットアドレスを入力し、前の手順で保存した [username] と [password] を使用して aaPanel に接続します。
aaPanel に接続した後、aaPanel アカウントを使用して aaPanel にログインする必要があります。aaPanel アカウントがない場合は、aaPanel ログインページの指示に従ってアカウントを登録してください。
次の図は、aaPanel にログインした後の aaPanel のページを示しています。

aaPanel で、ECS インスタンスと同じランタイム環境を構築します。
左側のナビゲーションウィンドウで、[app Store] をクリックします。
[app Sort] セクションで、[deployment] をクリックします。
ソフトウェア名列で次のアプリケーションを見つけ、[インストール][operation] 列の をクリックします。
Nginx
[install] をクリックし、
nginx 1.16バージョンを選択して、[submit] をクリックします。MySQL
[install] をクリックし、
mysql 5.7バージョンを選択して、[submit] をクリックします。PHP-7.0
[install] をクリックし、デフォルト設定を使用して、[submit] をクリックします。
phpMyAdmin
[install] をクリックし、
phpmyadmin 4.9バージョンを選択して、[submit] をクリックします。
アプリケーションのインストールには時間がかかります。アプリケーションがインストールされるまで待ちます。
aaPanel で、Web サイト情報を追加します。
左側のナビゲーションウィンドウで、[website] をクリックします。
[PHP Project] タブで、[add Site] をクリックします。
[create Site] タブの [add Site - Support Batch Site Building] ダイアログボックスで、パラメーターを構成し、[submit] をクリックします。
次の表は、主なパラメーターについて説明しています。その他のパラメーターについては、デフォルト設定を使用します。
パラメーター
説明
例
[domain Name]
シンプルアプリケーションサーバーにドメイン名をバインドして解決済みの場合は、[Domain name] フィールドにドメイン名を入力できます。
シンプルアプリケーションサーバーにドメイン名をバインドして解決していない場合は、後続のテスト操作のためにシンプルアプリケーションサーバーのパブリック IP アドレスを入力できます。データが移行された後、シンプルアプリケーションサーバーにドメイン名をバインドして解決し、[Domain name] フィールドの構成を変更する必要があります。
シンプルアプリケーションサーバーのパブリック IP アドレスを入力します。パブリック IP アドレスを使用して、移行完了後に Web サイトにアクセスできるかどうかを確認できます。
[description]
Web サイトの説明。このパラメーターは空のままにすることができます。
server-Bを入力します。[website Path]
Web サイトのルートディレクトリ。aaPanel を使用して Web サイトを作成する場合のデフォルトのルートディレクトリは /www/wwwroot です。
/www/wwwroot/wordpress を入力します。
次の図は、Web サイトが追加されたことを示しています。

aaPanel で、MySQL を構成します。
左側のナビゲーションウィンドウで、[databases] をクリックします。
[database Manager] ページで、root パスワードを変更します。
[root Password] をクリックします。
[root Password] に新しい値を入力し、[submit] をクリックします。
このトピックでは、新しいパスワードとして
Test@123を入力します。重要実際のシナリオでは、パスワード漏洩によるサーバー例外のリスクを防ぐために、パスワードを安全に保つ必要があります。
[database Manager] ページで、[phpmyadmin] をクリックします。
[phpmyadmin] ページで、MySQL
rootユーザーのユーザー名とパスワードを入力し、[go] をクリックします。上部のナビゲーションバーで、[SQL] をクリックします。次のコマンドを入力し、[go] をクリックします。
データベースに保存されているデータを移行する場合、MySQL データベースのユーザーはリモート接続権限を持っている必要があります。シンプルアプリケーションサーバーでリモート接続用の MySQL データベースのユーザーを作成する必要があります。
-- MySQL データベースに切り替えます。 use mysql; -- リモート接続用の MySQL データベースのユーザーを作成し、testUser という名前を付けます。パスワードを Test@123 に設定します。 create user 'testUser'@'%' IDENTIFIED BY 'Test@123'; -- testUser にリモート接続権限を付与します。 grant all privileges on *.* to 'testUser'@'%' with grant option; -- 構成をすぐに有効にします。 flush privileges;上部のナビゲーションバーで、[SQL] をクリックします。次のコマンドを入力し、[go] をクリックします。
Web サイトの移行後に WordPress Web サイトが MySQL データベースに接続できるようにするには、ECS インスタンスの MySQL データベースの情報に基づいて、シンプルアプリケーションサーバーで同じデータベースとデータベースユーザーを作成する必要があります。
このトピックでは、ECS インスタンスの MySQL データベースの名前は
wordpress、データベースのユーザー名はuser、パスワードはPASSword123.です。-- wordpress という名前のデータベースを作成します。 create database wordpress; -- user という名前のユーザーを作成し、パスワードを PASSword123. に設定します。 create user 'user'@'localhost' identified by 'PASSword123.'; -- wordpress データベースに対するすべての権限をユーザーに付与します。 grant all privileges on wordpress.* to 'user'@'localhost' identified by 'PASSword123.'; -- 構成をすぐに有効にします。 flush privileges;
aaPanel で、ファイアウォールを構成します。
左側のナビゲーションウィンドウで、[security] をクリックします。
[firewall] セクションで、MySQL データベースのデフォルトポート 3306 を有効にします。
次の図は、パラメーターを示しています。

[open] をクリックします。
ステップ 2: ECS インスタンスを構成する
DTS を使用してデータベース内のデータを移行する前に、次の操作を実行して ECS インスタンスを構成します。
セキュリティグループを構成します。
データを移行する前に、ECS インスタンスが属するセキュリティグループの指定されたポートを有効にする必要があります。MySQL データベースは、ECS インスタンスとシンプルアプリケーションサーバーの両方にインストールされています。MySQL データベースのデフォルトポート 3306 を有効にするには、ECS インスタンスが属するセキュリティグループにルールを追加する必要があります。詳細については、「セキュリティグループルールを追加する」をご参照ください。
MySQL データベースを構成します。
データベースに保存されているデータを移行する場合、MySQL データベースのユーザーはリモート接続権限を持っている必要があります。ECS インスタンスでリモート接続用の MySQL データベースのユーザーを作成する必要があります。
ECS インスタンスに接続します。
詳細については、「ECS インスタンスに接続する方法」をご参照ください。
次のコマンドを実行して MySQL データベースにログインします。
mysql -uroot -pルートパスワードを入力してください: コマンドラインで、MySQL ユーザーのパスワードを入力します。MySQL データベースに接続するために使用するログインパスワードを入力する必要があります。
説明データ セキュリティのために、パスワードを入力しても出力は返されません。正しいパスワードを入力して、[Enter] キーを押すだけです。
次のコマンドを実行して
wordpressデータベースを使用します。WordPress Web サイトのデータは
wordpressデータベースに保存されています。use wordpress;次のコマンドを実行して、リモート接続用のデータベースのユーザーを作成します。
このトピックでは、
testUserという名前のユーザーを作成し、パスワードをTest@123に設定します。重要このパスワードはデモ用です。パスワードを設定し、パスワードを安全に保ち、パスワード漏洩によるデータ例外のリスクを防ぐ必要があります。
create user 'testUser'@'%' IDENTIFIED BY 'Test@123';- 次のコマンドを順番に実行して、
testUserユーザーにリモート接続権限を付与します。- リモート接続権限を付与します。
grant all privileges on *.* to 'testUser'@'%' with grant option; - 構成をすぐに有効にします。
flush privileges;
- リモート接続権限を付与します。
- 次のコマンドを実行して MySQL を終了します。
\q;
ステップ 3: scp コマンドを実行して Web アプリケーションをコピーする
シンプルアプリケーションサーバーに関する情報を確認します。
scp コマンドを実行して Web アプリケーションをコピーする場合、コピー先サーバーのパブリック IP アドレスとファイルストレージパスを指定する必要があります。したがって、シンプルアプリケーションサーバーの次の情報を確認する必要があります。
パブリック IP アドレス
パブリック IP アドレスを表示する方法の詳細については、「サーバー情報を表示する」トピックの「[サーバー] ページでサーバーのカードを表示する」セクションをご参照ください。
Web サイトのルートディレクトリ
このトピックでは、シンプルアプリケーションサーバーの Web サイトのルートディレクトリは /www/wwwroot/wordpress です。
ECS インスタンスに接続します。
詳細については、「ECS インスタンスに接続する方法」をご参照ください。
次の scp コマンドを実行して、ECS インスタンスにデプロイされている Web アプリケーションをシンプルアプリケーションサーバーに移行します。
scp -r /usr/share/nginx/html/wordpress/* root@<シンプルアプリケーションサーバーのパブリック IP アドレス>:/www/wwwroot/wordpress次のセクションでは、scp コマンドのパラメーターについて説明します。
-rは、ディレクトリ全体の再帰的なコピーを示します。単一のファイルをコピーする場合は、-rを削除します。/usr/share/nginx/html/wordpress/*は、ECS インスタンスの Web アプリケーションのフォルダー内のすべてのファイル(/*)を示します。root@<シンプルアプリケーションサーバーのパブリック IP アドレス>は、SSH プロトコルを介してシンプルアプリケーションサーバーに接続することを示します。/www/wwwroot/wordpressは、シンプルアプリケーションサーバーの Web サイトのルートディレクトリを示します。
root@<シンプルアプリケーションサーバーのパブリック IP アドレス> のパスワード: コマンドラインで、シンプルアプリケーションサーバーのログインパスワードを入力します。
説明データ セキュリティ上の理由から、パスワードを入力しても出力は返されません。正しいパスワードを入力して、[Enter] キーを押すだけです。
scp コマンドを実行してファイルをリモートコピーする場合、データ転送は暗号化され、転送速度は制限されます。ファイルがコピーされるまで待ちます。
ステップ 4: DTS を使用してデータベースに保存されているデータを移行する
- DTS コンソール にログインします。
左側のナビゲーションウィンドウで、[データ移行] をクリックします。ページの左上隅にある [タスクの作成] をクリックします。
データ移行タスクを構成します。
次のセクションでは、主なパラメーターについて説明します。その他のパラメーターについては、デフォルト設定を使用します。
[タスク名]: タスクの名前を入力します。例:
test-swas-01。[ソースデータベース](ECS インスタンスに関する情報): 次の表は、ソースデータベースの関連パラメーターについて説明しています。
パラメーター
説明
[データベースの種類]
ソースデータベースの種類。[mysql] を選択します。
[アクセス方法]
ソースデータベースのアクセス方法。[ECS 上のセルフマネージドデータベース] を選択します。
[インスタンスリージョン]
ECS インスタンスが存在するリージョン。例: 中国 (杭州)。
[alibaba Cloud アカウント間でデータを複製する]
Alibaba Cloud アカウント間でデータを追跡するかどうかを指定します。この例では、[いいえ] が選択されています。
[ECS インスタンス ID]
ECS インスタンスの ID。
[ポート番号]
ポート番号。デフォルト値:
3306。[データベースアカウント]
リモート接続権限を持つデータベースユーザーアカウント。例:
testUser。[データベースパスワード]
Test@123
重要このパスワードはデモ用です。パスワードを設定し、パスワードを安全に保ち、パスワード漏洩によるデータ例外のリスクを防ぐ必要があります。
[コピー先データベース](シンプルアプリケーションサーバーに関する情報): 次の表は、コピー先データベースの関連パラメーターについて説明しています。
パラメーター
説明
[データベースの種類]
コピー先データベースの種類。[mysql] を選択します。
[アクセス方法]
コピー先データベースのアクセス方法。[パブリック IP アドレス] を選択します。
[インスタンスリージョン]
シンプルアプリケーションサーバーが存在するリージョン。例: 中国 (杭州)。
[ドメイン名または IP]
シンプルアプリケーションサーバーのパブリック IP アドレス。
[ポート番号]
ポート番号。デフォルト値:
3306。[データベースアカウント]
リモート接続権限を持つデータベースユーザーアカウント。例:
testUser。[データベースパスワード]
Test@123
重要このパスワードはデモ用です。パスワードを設定し、パスワードを安全に保ち、パスワード漏洩によるデータ例外のリスクを防ぐ必要があります。
すべてのパラメーターを指定した後、[接続性をテストして続行] をクリックして、DTS と ECS インスタンスおよびシンプルアプリケーションサーバーの MySQL データベース間の接続性を確認します。
[DTS サーバーの CIDR ブロック] ダイアログボックスで、[接続性をテストして続行] をクリックします。
[オブジェクトと詳細設定の構成] ステップで、必要なパラメーターを構成し、[次へ: 詳細設定] をクリックします。
次のリストでは、パラメーターについて説明します。詳細については、「データ移行タスクを管理する」をご参照ください。
[タスクステージ]: ビジネス要件に基づいて、[スキーマ移行]、[フルデータ移行]、または [増分データ移行] を選択します。
[ソースオブジェクト]: [ソースオブジェクト] セクションで、[すべて選択] を選択し、
アイコンをクリックします。
次の図は、移行タスクを構成した後のページを示しています。

[詳細設定] ステップで、デフォルト設定を使用し、[次へ: タスク設定の保存と事前チェック] をクリックします。
事前チェックが完了するまで待ちます。事前チェックが失敗した場合は、[失敗] の横にある [詳細の表示] をクリックして、失敗の原因を解決し、事前チェックを再実行します。
[次へ: インスタンスの購入] をクリックします。

[購入] ステップで、[data Transmission Service (従量課金制) サービス条件] を選択し、[購入して開始] をクリックします。
このトピックでは、DTS を使用したデータの移行は課金されません。ただし、実際のシナリオで DTS を使用してデータを移行する場合、操作に基づいて課金され、ページに表示される実際の価格が優先されます。DTS の課金の詳細については、「課金の概要」をご参照ください。
データ移行タスクを開始した後、タスクが完了するまで待ちます。

ステップ 5: 移行結果を確認する
コンピューターで、ブラウザーを使用してシンプルアプリケーションサーバーの aaPanel にログインします。
WordPress Web サイトのアプリケーションファイルを表示します。
aaPanel の左側のナビゲーションウィンドウで、[website] をクリックします。
[PHP Project] ページで、[document Root] 列の Web サイトのルートディレクトリをクリックします。

次の図は、シンプルアプリケーションサーバーにデプロイされている Web アプリケーションのファイルを示しています。

Web アプリケーションが期待どおりに実行できるかどうかを確認します。
実際のビジネスシナリオに基づいて、シンプルアプリケーションサーバーにデプロイされている Web アプリケーションが ECS インスタンスにデプロイされている Web アプリケーションと同じであるかどうかを確認します。たとえば、このトピックでは、ECS インスタンスの wp-config.php ファイルにシンボリックリンクが設定されています。ファイルが移行されると、シンボリックリンクは無効になります。その結果、シンプルアプリケーションサーバーの wp-config.php ファイルの権限が変更され、変更する必要があります。
ファイルの権限を変更する操作は、aaPanel で実行できます。次の操作を実行します。
権限を変更するファイルにポインターを移動し、[PMSN] をクリックします。

[set Permission] ダイアログボックスで、ファイルの権限を設定し、[OK] をクリックします。
ビジネス要件に基づいてファイルの権限を付与できます。このトピックでは、wp-config.php ファイルのすべての権限を付与します。

WordPress Web サイトのデータが保存されているデータベースの情報を表示します。
aaPanel の左側のナビゲーションウィンドウで、[databases] をクリックします。
[get DB From Server] をクリックします。
次の図は、シンプルアプリケーションサーバーから取得した wordpress データベースの情報を示しています。データベースパスワードの取得に失敗した場合は、[reset] をクリックしてデータベースパスワードをリセットできます。

[tools] 列の [operation] をクリックして、wordpress データベースのテーブル情報を表示します。
次の図は、シンプルアプリケーションサーバーのテーブル情報が ECS インスタンスのテーブル情報と同じであることを示しています。

コンピューターで、ブラウザーを使用して
http://<シンプルアプリケーションサーバーのパブリック IP アドレス>にアクセスし、WordPress Web サイトへのアクセスをテストします。次の図に示すように、WordPress Web サイトにアクセスでき、Web サイトに表示されるデータが移行前のデータと同じである場合、データは移行されています。

WordPress Web サイトにアクセスできず、次のエラーが報告された場合: 警告: require_once(/www/wwwroot/wordpress/wp-config.php): failed to open stream: Permission denied in /www/wwwroot/wordpress/wp-load.php on line 37、エラーメッセージに基づいてファイルに必要な権限を設定する必要があります。詳細については、このトピックの「Web アプリケーションが期待どおりに実行できるかどうかを確認します。」セクションをご参照ください。

関連操作
ソースシンプルアプリケーションサーバーとコピー先シンプルアプリケーションサーバーのパブリック IP アドレスは異なります。ソースシンプルアプリケーションサーバーにドメイン名をバインドして解決した場合は、移行を完了した後、ソースシンプルアプリケーションサーバーからドメイン名をアンバインドし、コピー先シンプルアプリケーションサーバーにドメイン名をバインドして解決する必要があります。詳細については、「ドメイン名をバインドして解決する」をご参照ください。