すべてのプロダクト
Search
ドキュメントセンター

Data Online Migration:プロキシ

最終更新日:Dec 12, 2025

このトピックでは、Data Online Migration SDK for Java を使用してエージェントを管理する方法について説明します。

エージェントの作成

説明

Data Online Migration SDK はエージェントを自動的にデプロイしません。エージェントを使用する前に、エージェントをデプロイする必要があります。詳細については、「エージェントの管理」をご参照ください。エージェントは、Express Connect 回線または VPN Gateway 経由でデータを移行する場合にのみ必要です。

次のサンプルコードは、エージェントを作成する方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.CreateAgentInfo;
import com.aliyun.hcs_mgw20240626.models.CreateAgentRequest;

public class Demo {
	/** 
	  AccessKey ID や AccessKey Secret をプロジェクトコードにハードコーディングしないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが損なわれる可能性があります。
	*/
	static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
	static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
	/** ご利用の Alibaba Cloud アカウントの ID を入力します。*/
	static String userId = "11470***876***55";

	public static void main(String[] args) {
		// チャネル ID を入力します。
		String tunnelId = "ab31d1f9-****-4f62-****-914e4b2f78c7";
		// エージェント名を入力します。
		String agentName = "exampleagent";
		// 使用するネットワーク。パブリックネットワークの場合は public、専用回線または VPN の場合は vpc を入力します。
		String agentEndpoint = "public";
		// デプロイ方法。default のみがサポートされています。
		String deployMethod = "default";
		try {
			com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
			// この例では、中国 (北京) リージョンを使用します。
			config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
			config.setAccessKeyId(accessKeyId);
			config.setAccessKeySecret(accessKeySecret);
			// HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
                        config.setProtocol("http");
			Client client = new Client(config);
			CreateAgentRequest request = new CreateAgentRequest();
			CreateAgentInfo info = new CreateAgentInfo();
			info.setName(agentName);
			info.setTunnelId(tunnelId);
			info.setAgentEndpoint(agentEndpoint);
			info.setDeployMethod(deployMethod);
			request.setImportAgent(info);
			client.createAgent(userId, request);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

エージェントのステータスのクエリ

次のサンプルコードは、エージェントのステータスをクエリする方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.GetAgentStatusResponse;
import com.google.gson.Gson;

public class Demo {
   /** AccessKey ID や AccessKey Secret をプロジェクトコードにハードコーディングしないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが損なわれる可能性があります。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** ご利用の Alibaba Cloud アカウントの ID を入力します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // エージェント名を入力します。
      String agentName = "exampleagent";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         GetAgentStatusResponse resp = client.getAgentStatus(userId, agentName);
         // status フィールドが OK の場合、エージェントは正常です。それ以外の値は、エージェントが異常であることを示します。
         System.out.println(new Gson().toJson(resp.getBody().getImportAgentStatus()));
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

正常な応答の例

{
  "ImportAgentStatus": {
    "Status": "OK",
    "AgentIP": "192.168.0.2",
    "AgentVersion": "1.6.0"
  }
}

エージェントの詳細のクエリ

次のサンプルコードは、エージェントの詳細をクエリする方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.GetAgentResponse;
import com.google.gson.Gson;

public class Demo {
   /** AccessKey ID や AccessKey Secret をプロジェクトコードにハードコーディングしないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが損なわれる可能性があります。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** ご利用の Alibaba Cloud アカウントの ID を入力します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // エージェント名を入力します。
      String agentName = "exampleagent";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         GetAgentResponse resp = client.getAgent(userId, agentName);
         System.out.println(new Gson().toJson(resp.getBody().getImportAgent()));
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

正常な応答の例

{
  "ImportAgent": {
    "Owner": "test_owner",
    "Name": "test_name",
    "CreateTime": "2024-05-01T12:00:00.000Z",
    "ModifyTime": "2024-05-01T12:00:00.000Z",
    "DeployMethod": "default",
    "AgentEndpoint": "vpc",
    "ActivationKey": "6af62558-970d-4f44-8663-4e297170fd6a",
    "Tags": "K1:V1,K2:V2",
    "Version": "test_agent_id",
    "TunnelId": "test_tunnel_id"
  }
}

エージェントリストのクエリ

次のサンプルコードは、Alibaba Cloud アカウント内のすべてのエージェントをリストする方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.ListAgentRequest;
import com.aliyun.hcs_mgw20240626.models.ListAgentResponse;
import com.google.gson.Gson;

public class Demo {
   /** AccessKey ID や AccessKey Secret をプロジェクトコードにハードコーディングしないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが損なわれる可能性があります。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** ご利用の Alibaba Cloud アカウントの ID を入力します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         ListAgentRequest request = new ListAgentRequest();
         // 必要に応じて marker と count を設定します。
	 String marker = "";
	 int count = 1;
	 request.setMarker(marker);
         request.setCount(count);
         ListAgentResponse resp = client.listAgent(userId, request);
         System.out.println(new Gson().toJson(resp.getBody().getImportAgentList()));
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

正常な応答の例

{
  "ImportAgentList": {
    "Truncated": true,
    "NextMarker": "test_next_marker",
    "ImportAgent": [
      {
        "Owner": "test_owner",
        "Name": "test_name",
        "CreateTime": "2024-05-01T12:00:00.000Z",
        "ModifyTime": "2024-05-01T12:00:00.000Z",
        "DeployMethod": "default",
        "AgentEndpoint": "vpc",
        "ActivationKey": "6af62558-970d-4f44-8663-4e297170fd6a",
        "Tags": "K1:V1,K2:V2",
        "Version": "test_agent_id",
        "TunnelId": "test_tunnel_id"
      }
    ]
  }
}

エージェントの削除

次のサンプルコードは、エージェントを削除する方法を示しています。

package sample;

import com.aliyun.hcs_mgw20240626.Client;
import com.aliyun.hcs_mgw20240626.models.DeleteAgentResponse;

public class Demo {
   /** AccessKey ID や AccessKey Secret をプロジェクトコードにハードコーディングしないでください。AccessKey ペアが漏洩すると、アカウント内のすべてのリソースのセキュリティが損なわれる可能性があります。*/
   static String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
   static String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
   /** ご利用の Alibaba Cloud アカウントの ID を入力します。*/
   static String userId = "11470***876***55";

   public static void main(String[] args) {
      // エージェント名を入力します。
      String agentName = "exampleagent";
      try {
         com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
         // この例では、中国 (北京) リージョンを使用します。
         config.setEndpoint("cn-beijing.mgw.aliyuncs.com");
         config.setAccessKeyId(accessKeyId);
         config.setAccessKeySecret(accessKeySecret);
         // HTTPS と HTTP がサポートされています。このパラメーターを指定しない場合、デフォルトで HTTPS が使用されます。
         config.setProtocol("http");
         Client client = new Client(config);
         DeleteAgentResponse resp = client.deleteAgent(userId, agentName);
         System.out.println(resp.statusCode);
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

次のステップ

エージェントを作成した後、データアドレスを作成できます。詳細については、「データアドレス」をご参照ください。