このトピックでは、エージェントの作成、デプロイ、スケールアップとスケールダウン、アップグレード、表示、開始、および停止の方法について説明します。
エージェントの作成
エージェントは、インターネットと仮想プライベートクラウド (VPC) (専用回線や VPN ゲートウェイなど)の 2 つのネットワークタイプをサポートしています。必要に応じて、エージェントに適切なネットワークタイプを指定します。エージェントを作成するときは、エージェントを既存のトンネルに関連付ける必要があります。そのため、エージェントを作成する前に、トンネルを作成する必要があります。トンネルの作成方法の詳細については、「トンネルの管理」をご参照ください。
Express Connect 回線または VPN ゲートウェイ経由で Alibaba Cloud にデータを移行する場合、または自己管理型ストレージから Alibaba Cloud にデータを移行する場合、あるいはソースがローカルファイルシステムの場合は、トンネルとエージェントを作成する必要があります。
エージェントは、カーネルバージョン 2.6 以降の 64 ビット Linux オペレーティングシステムを実行しているサーバーにデプロイする必要があります。エージェントをデプロイする前に、この要件を満たすサーバーを準備してください。
各リージョンに最大 100 個のエージェントを作成できます。エージェントを適切に計画および使用することをお勧めします。
ecs.c7.xlarge などの第 7 世代以降の Elastic Compute Service (ECS) インスタンスを購入することをお勧めします。
データ移行コンソール にログインします。
左側のナビゲーションウィンドウで、データオンライン移行 > [エージェント管理] を選択します。
[エージェント管理] ページで、[新規エージェント] をクリックします。
[新規エージェント] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。次の表にパラメーターを示します。
パラメーター
必須
説明
名前
はい
エージェント名。
名前は 3 ~ 63 文字で、空にすることはできません。
名前は大文字と小文字が区別され、小文字、数字、ハイフン (-)、およびアンダースコア (_) を使用できます。
名前は UTF-8 でエンコードする必要があり、ハイフン (-) またはアンダースコア (_) で始めることはできません。
ネットワークタイプ
はい
エージェントへの接続に使用するネットワークのタイプ。有効な値:
インターネット: エージェントはインターネット経由でデータを移行します。このネットワークタイプを使用する場合、エージェントは、データ移行コンソールにアクセスするリージョンにあるデータオンライン移行のパブリックエンドポイントにアクセスできる必要があります。たとえば、中国 (北京) リージョンでデータ移行コンソールにアクセスする場合、エージェントは中国 (北京) リージョンにあるデータオンライン移行のパブリックエンドポイント cn-beijing.mgw-tc.aliyuncs.com にアクセスできる必要があります。
専用回線/VPN (VPC): エージェントは VPC 経由でデータを移行します。このネットワークタイプを使用する場合、エージェントは、データ移行コンソールにアクセスするリージョンにあるデータオンライン移行の内部エンドポイントにアクセスできる必要があります。たとえば、中国 (北京) リージョンでデータ移行コンソールにアクセスする場合、エージェントは中国 (北京) リージョンにあるデータオンライン移行の内部エンドポイント {TunnelId}.cn-beijing.mgw-tc-internal.aliyuncs.com にアクセスできる必要があります。データ移行コンソールにアクセスするのと同じリージョンにある ECS インスタンスを使用することをお勧めします。
説明TunnelId はトンネルの ID を指定します。
ping コマンドを実行して、エージェントがデータオンライン移行に接続するかどうかをテストできます。
デプロイ方法
はい
エージェントがデプロイされるモード。エージェントは独立プロセスモードでのみデプロイできます。
トンネル
はい
エージェントが関連付けられているトンネル。エージェントは 1 つのトンネルにのみ関連付けることができます。エージェントの帯域幅は、トンネルの合計帯域幅の影響を受けます。
たとえば、最大帯域幅が 10 Gbit/s の tunnel-1 という名前のトンネルを、agent-1、agent-2、agent-3 という名前の 3 つのエージェントに関連付ける場合、3 つのエージェントで使用可能な合計帯域幅は 10 Gbit/s を超えません。 agent-1 に 3 Gbit/s の帯域幅を指定すると、agent-2 と agent-3 で使用できる帯域幅は 7 Gbit/s のみになります。事前に帯域幅を慎重に計画および割り当てる必要があります。
エージェントのデプロイに使用するコマンドの生成
前提条件
エージェントがデプロイされるサーバーには、少なくとも 4 つの CPU コア、8 GB のメモリ、およびログ用の 4 GB のディスク容量が必要です。
エージェントをデプロイするために Resource Access Management (RAM) ユーザーを作成することをお勧めします。AliyunOSSImportReadOnlyAccess ポリシーを RAM ユーザーにアタッチし、承認範囲を Alibaba Cloud アカウント に設定する必要があります。
説明RAM ユーザーの AccessKey ペアを使用して、競合なく複数のエージェントをデプロイできます。
手順
[エージェント管理] ページで、デプロイするエージェントの名前をクリックします。
エージェントの詳細ページで、[デプロイして実行] をクリックします。[デプロイして実行] ダイアログボックスで、[AccessKey ペア] セクションのパラメーターを設定します。次の表にパラメーターを示します。
パラメーター
必須
説明
AccessKeyId
はい
mgw:VerifyAgentTunnel 権限を持つ RAM ユーザーの AccessKey ペア。
説明RAM ユーザーには mgw:VerifyAgentTunnel 権限のみを付与することをお勧めします。または、AliyunOSSImportReadOnlyAccess または AliyunOSSImportFullAccess ポリシーを RAM ユーザーにアタッチすることもできます。
SecretAccessKey
はい
アイコンの横にある [詳細設定] をクリックし、パラメーターを構成します。次の表でパラメーターについて説明します。
パラメーター
必須
説明
CPU コア
いいえ
エージェントが使用できる CPU コアの数。
このパラメーターを設定しない場合、デフォルトではサーバーのすべての CPU コアがエージェントによって使用されます。
このパラメーターを設定する場合は、コンソールのヒントを読んで、必要に応じて値を入力してください。
最大メモリサイズ (GB)
いいえ
エージェントが使用できるメモリの最大サイズ。
デフォルトでは、このパラメーターを設定しない場合、サーバーのすべてのメモリがエージェントによって使用されます。
このパラメーターを設定する場合は、コンソールのヒントを読んで、実際の状況に基づいて値を入力してください。
ログで使用される容量 (GB)
いいえ
エージェントによって生成されたログの保存に使用できる最大ディスク容量。ログファイルのサイズがこのパラメーターに指定した値に達すると、最も古いログが破棄されます。
このパラメーターを設定しない場合、デフォルトでは 4 GB のディスク容量がログの保存に使用されます。
このパラメーターを設定する場合は、コンソールのヒントを読んで、移行するファイルの数に基づいて値を入力してください。約 100 万個のファイルを移行すると、約 4 GB のログが生成されます。
最大帯域幅
いいえ
エージェントで使用可能な最大帯域幅。これは、エージェントが関連付けられているトンネルの合計帯域幅の影響を受け、トンネルの最大帯域幅を超えることはできません。例:
トンネルの最大帯域幅が 5 Gbit/s の場合、エージェントで使用可能な最大帯域幅は 5 Gbit/s を超えることはできません。
トンネルに最大帯域幅が指定されていない場合、エージェントで使用可能な最大帯域幅は最大 100 Gbit/s になります。
説明エージェントは 1 つのトンネルにのみ関連付けることができます。エージェントの帯域幅は、トンネルの合計帯域幅の影響を受けます。
たとえば、最大帯域幅が 10 Gbit/s の tunnel-1 という名前のトンネルを、agent-1、agent-2、agent-3 という名前の 3 つのエージェントに関連付ける場合、3 つのエージェントで使用可能な合計帯域幅は 10 Gbit/s を超えません。 agent-1 に 3 Gbit/s の帯域幅を指定すると、agent-2 と agent-3 で使用できる帯域幅は 7 Gbit/s のみになります。事前に帯域幅を慎重に計画および割り当てる必要があります。
[コマンドを使用してエージェントをデプロイおよび実行する] をクリックします。
エージェントのデプロイ
自動的に生成されるデプロイコマンドには、エージェント ID などの固有の情報が含まれており、1 つのエージェントのデプロイにのみ使用できます。複数のエージェントをデプロイする場合は、各エージェントのデプロイコマンドを連続して生成し、異なるサーバーにエージェントをデプロイします。そうしないと、デプロイが失敗するか、エージェントが期待どおりに動作しません。
ローカルファイルシステムと Object Storage Service (OSS) の間、またはローカルファイルシステム間でデータを移行する場合は、root ユーザーとしてエージェントをデプロイする必要があります。そうしないと、
chown
やchmod
などのシステムコマンドを実行できないため、データ移行が失敗する可能性があります。
オンラインでエージェントをデプロイする
エージェントの [ネットワークタイプ] パラメーターを [インターネット] に設定した場合は、エージェントをオンラインでデプロイします。
エージェントをデプロイするサーバーにログインします。Workbench、Virtual Network Computing (VNC) などの Alibaba Cloud が提供する接続ツール、またはサードパーティクライアントを使用してサーバーに接続できます。
サーバーで curl コマンドを実行できることを確認します。サーバーで
curl -I https://www.aliyun.com
コマンドを実行して、インターネットへの接続を確認します。[コマンドを使用してエージェントをデプロイおよび実行する] パネルに表示されているコマンドをコピーし、コピーしたコマンドをサーバーのローカルディスクディレクトリ(Network Attached Storage (NAS) などのリモートでマウントされたディレクトリではない)で実行します。コマンドが正常に実行されると、エージェントがデプロイされます。次の構文と表に、コマンドのパラメーターを示します。正確な情報は、実際のコンソールの出力をご参照ください。
wget https://gosspublic.alicdn.com/data_online_migration/agent/aliyun_import_agent_deploy.sh -O aliyun_import_agent_deploy.sh;chmod 755 aliyun_import_agent_deploy.sh;./aliyun_import_agent_deploy.sh -t <TunnelID> -u <UID> -i <AK> -k <SK> -n <AgentName> -v <AgentID> -e <Endpoint> -f <AgentDeployMethod> -c <CpuUsage> -m <MemoryUsage> -d <LogMemoryUsage> -b <MaxBandwidth>
パラメーター
説明
TunnelID
トンネル ID。
UID
Alibaba Cloud アカウント ID。
AK
AccessKey ID。
SK
AccessKey シークレット。
AgentName
エージェント名。
AgentID
エージェント ID。
Endpoint
エンドポイント。public の値は、ネットワークタイプがインターネットであることを示します。
AgentDeployMethod
エージェントがデプロイされるモード。default の値は、独立プロセスモードを示します。
CpuUsage
エージェントが使用できる CPU コアの数。このパラメーターは、[CPU コア] パラメーターが設定されている場合にのみ表示されます。
MemoryUsage
エージェントが使用できるメモリのサイズ。単位:GB。このパラメーターは、[最大メモリサイズ (GB)] パラメーターが設定されている場合にのみ表示されます。
LogMemoryUsage
エージェントによって生成されたログの保存に使用できるディスク容量。単位:GB。このパラメーターは、[ログで使用される容量 (GB)] パラメーターが設定されている場合にのみ表示されます。
MaxBandwidth
エージェントで使用可能な最大帯域幅。単位:MB。このパラメーターは、[最大帯域幅] パラメーターが設定されている場合にのみ表示されます。
エージェントをデプロイした後、データアドレスを作成し、データアドレスをエージェントに関連付けます。データアドレスを使用して作成した移行タスクは、指定されたエージェントでデータを移行します。
オフラインでエージェントをデプロイする
エージェントの [ネットワークタイプ] パラメーターを [専用回線/VPN (VPC)] に設定した場合は、エージェントをオフラインでデプロイします。
エージェントをデプロイするサーバーにログインします。Workbench、VNC などの Alibaba Cloud が提供する接続ツール、またはサードパーティクライアントを使用してサーバーに接続できます。
エージェントインストールパッケージ aliyun_import_agent_offline_bundle.tar.gz をダウンロードし、サーバーに保存します。
サーバー上のエージェントインストールパッケージのパスを見つけ、
tar -zxvf aliyun_import_agent_offline_bundle.tar.gz
コマンドを実行して、エージェントインストールパッケージを解凍します。aliyun_import_agent_offline_bundle ディレクトリに移動します。[コマンドを使用してエージェントをデプロイおよび実行する] パネルに表示されているコマンドをコピーし、コピーしたコマンドをサーバーのローカルディスクディレクトリ(NAS などのリモートでマウントされたディレクトリではない)で実行します。コマンドが正常に実行されると、エージェントがデプロイされます。次の構文と表に、コマンドのパラメーターを示します。正確な情報は、実際のコンソールの出力をご参照ください。
chmod 755 aliyun_import_agent_deploy.sh;./aliyun_import_agent_deploy.sh -t <TunnelID> -u <UID> -i <AK> -k <SK> -n <AgentName> -v <AgentID> -e <Endpoint> -f <AgentDeployMethod> -c <CpuUsage> -m <MemoryUsage> -d <LogMemoryUsage> -b <MaxBandwidth> -l <VPCType>
パラメーター
説明
TunnelID
トンネル ID。
UID
Alibaba Cloud アカウント ID。
AK
AccessKey ID。
SK
AccessKey シークレット。
AgentName
エージェント名。
AgentID
エージェント ID。
エンドポイント
エンドポイント。値 vpc は、ネットワークタイプが専用線/VPN(VPC)であることを示します。
エージェントデプロイ方法
エージェントがデプロイされるモード。 値が default の場合は、独立プロセスモードを示します。
CPU使用率
エージェントが使用できる CPU コアの数。このパラメーターは、「CPU コア」パラメーターが構成されている場合にのみ表示されます。
メモリ使用量
エージェントが使用できるメモリのサイズです。単位:GB。このパラメーターは、[最大メモリサイズ(GB)] パラメーターが設定されている場合にのみ表示されます。
LogMemoryUsage
エージェントによって生成されたログの保存に使用できるディスク容量です。単位:GB。このパラメーターは、[ログの使用容量 (GB)] パラメーターが設定されている場合にのみ表示されます。
最大帯域幅
エージェントが使用できる最大帯域幅。単位:MB。このパラメーターは、「最大帯域幅」パラメーターが設定されている場合にのみ表示されます。
VPCタイプ
VPC の種類。このパラメーターは、ネットワークの種類パラメーターが専用線/VPN(VPC)に設定されている場合にのみ表示されます。
エージェントがデプロイされた後、データアドレスを作成し、エージェントにデータアドレスを関連付けます。 データアドレスを使用して作成する移行タスクは、指定されたエージェント上のデータを移行します。
エージェントをスケールアップする
エージェントを作成します。詳細については、「エージェントを作成する」をご参照ください。
エージェントのデプロイに使用するコマンドを生成します。詳細については、「エージェントをデプロイするためのコマンドを生成する」をご参照ください。
エージェントをデプロイします。詳細については、「エージェントをデプロイする」をご参照ください。
新しいエージェントをデータアドレスに追加するには、次の手順を実行します。
左側のナビゲーションウィンドウで、[アドレス管理] をクリックします。
[アドレス管理] ページで、[アクション] 列の [変更] をクリックします。[アドレスの変更] パネルで、
エージェントのドロップダウンリストからエージェントを選択します。
[OK] をクリックします。
エージェントをスケールダウンする
エージェントを削除するには、次の手順を実行します。
データ移行コンソールにログオンします。左側のナビゲーションウィンドウで、[アドレス管理] をクリックします。
[アドレス管理] ページで、[アクション] 列の [変更] をクリックします。[アドレスの変更] パネルで、
[エージェント] ドロップダウンリストからエージェントを削除します。
[OK]
をクリックします。
エージェントを削除します。
データ移行コンソールでエージェントを削除します。
左側のナビゲーションウィンドウで、[エージェント管理] をクリックします。
エージェント管理ページで、アクション列の [削除] をクリックします。表示されるメッセージで、[OK] をクリックします。
(オプション) エージェントマシンを解放します。
エージェントマシンがデータ移行のみに使用されており、削除が他のサービスに影響しない場合は、エージェントマシンを解放できます。
エージェントをアップグレードする
データ移行タスクを一時停止するには、次の手順を実行します。
データ移行コンソールにログインします。左側のナビゲーションウィンドウで、[移行タスク] をクリックします。
移行タスクページで、一時停止するデータ移行タスクを見つけ、アクション列の管理をクリックして、タスク詳細ページに移動します。
履歴セクションのアクション列で [一時停止] をクリックします。
エージェントマシンでエージェントを一時停止するには、次の手順を実行します。
エージェントマシンにログインし、
/root/aliyun_import_agent_online_res
などのエージェントルートディレクトリに移動します。bash bin/stop.sh
を実行し、エージェントが停止するまで待ちます。
エージェントのバージョン番号を表示するには、次の手順を実行します。
エージェントマシンにログインし、
./bin/drs_import_agent -v
を実行して、Version
フィールドにバージョン番号を記録します。
エージェントをデプロイするには、次の手順を実行します。
エージェントのデプロイに使用するコマンドを生成します。詳細については、「エージェントをデプロイするためのコマンドを生成する」をご参照ください。
エージェントをデプロイします。詳細については、「エージェントをデプロイする」をご参照ください。
エージェントがアップグレードされているかどうかを確認するには、次の手順を実行します。
エージェントマシンにログインし、
/root/aliyun_import_agent_online_res
などのエージェントルートディレクトリに移動します。./bin/drs_import_agent -v
を実行し、現在のバージョン番号を元のバージョン番号と比較します。現在のバージョン番号が元のバージョン番号より新しい場合、エージェントはアップグレードされています。
エージェントの表示、開始、および停止
注: このチュートリアルでは、JavaScript の基本的な知識があることを前提としています。
エージェントはスタートアップアイテムに追加されていないため、サーバーの再起動時、またはその他の理由でプロセスが停止した場合は、手動で起動する必要があります。
エージェントが使用されなくなった場合は、速やかにエージェントを停止し、コンソールで対応するエージェント インスタンスを削除することをお勧めします。
エージェントを表示する
エージェントマシンにログオンし、
/root/aliyun_import_agent_online_res
などのエージェントルートディレクトリに移動します。ps -ef | grep drs_import_agent
この例では、fetch API を使用して /wp/v2/posts エンドポイントにリクエストを送信しています。レスポンスは JSON 形式で返されます。 メソッドを使用して、JSON データを JavaScript オブジェクトに変換します。
エージェントが実行されている場合、ログファイルが生成されます。デフォルトでは、これらのファイルは、エージェントプログラムのルートディレクトリにある
logs/
に作成されます。ログファイルは、デプロイ時に指定した [ログの使用容量] パラメーターに基づいて自動的に回転します。
JavaScript から WordPress REST API を使用する JavaScript から WordPress REST API を使用する このチュートリアルでは、JavaScript を使用して WordPress REST API と対話する方法を学びます。WordPress REST API を使用すると、WordPress のデータにプログラムでアクセスできます。たとえば、投稿、ページ、ユーザー、その他の WordPress データを取得または更新できます。 REST API エンドポイント WordPress REST API は、さまざまなエンドポイントを提供します。各エンドポイントは特定の種類のデータにアクセスするために使用されます。たとえば、/wp/v2/posts エンドポイントは投稿にアクセスするために使用され、/wp/v2/pages エンドポイントはページにアクセスするために使用されます。 JavaScript で REST API を使用する JavaScript で REST API を使用するには、fetch API を使用できます。fetch API は、Web サーバーからデータを取得するためのシンプルなインターフェースを提供します。 たとえば、最新の 3 つの投稿を取得するには、次のコードを使用できます。 fetch('/wp/v2/posts?per_page=3') .then(response => response.json()) .then(posts => { // 投稿データを処理する console.log(posts); }); 詳細については、「WordPress REST API の公式ドキュメント」をご参照ください。 注: このチュートリアルでは、基本的な JavaScript の知識があることを前提としています。 WordPress バージョン 5.0 以降が必要です。 ```
エージェントマシンにログオンし、
/root/aliyun_import_agent_online_res
などのエージェントルートディレクトリに移動します。エージェントが存在しないことを確認します。
bash bin/start.sh
を実行して、エージェントを起動します。
エージェントを停止する
エージェントマシンにログインし、
/root/aliyun_import_agent_online_res
などのエージェントルートディレクトリに移動します。bash bin/stop.sh
を実行します。エージェントが停止した後、[データ移行コンソール] にログインし、そのステータスを確認します。 ステータスが [接続エラー] の場合、完全に停止しています。