接入教程
1. 在AWS控制台启用Application Discovery Service。
2. 下载并部署发现代理至您的本地服务器。
3. 等待服务自动收集服务器与依赖信息。
4. 在控制台查看发现结果,规划迁移策略。
使用Python列出已发现的服务器
import boto3
from botocore.config import Config
# 配置客户端
config = Config(region_name='us-east-1')
client = boto3.client(
'discovery',
config=config,
aws_access_key_id='YOUR_API_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
try:
# 列出服务器
response = client.describe_agents()
print(f"已发现代理: {response['agentsInfo']}")
except Exception as e:
print(f"错误: {e}")
使用PHP获取迁移任务状态
<?php
require 'vendor/autoload.php';
use Aws\DiscoveryService\DiscoveryServiceClient;
use Aws\Exception\AwsException;
$client = new DiscoveryServiceClient([
'region' => 'us-east-1',
'version' => 'latest',
'credentials' => [
'key' => 'YOUR_API_KEY',
'secret' => 'YOUR_SECRET_KEY'
]
]);
try {
$result = $client->describeExportTasks([]);
echo "导出任务: " . json_encode($result->get('tasksInfo')) . "\n";
} catch (AwsException $e) {
echo "错误: " . $e->getMessage() . "\n";
}
?>
使用JavaScript创建发现任务
const AWS = require('aws-sdk');
AWS.config.update({
region: 'us-east-1',
accessKeyId: 'YOUR_API_KEY',
secretAccessKey: 'YOUR_SECRET_KEY'
});
const discovery = new AWS.Discovery();
const params = {
configurationId: 'discovery-config-123',
description: 'Initial discovery run'
};
discovery.startDataCollectionByAgentIds(params, (err, data) => {
if (err) {
console.log('错误:', err);
} else {
console.log('任务已启动:', data);
}
});
常见问题
Application Discovery Service 的主要功能是什么?
AWS Application Discovery Service 自动识别本地数据中心内的服务器、虚拟机、应用程序和网络依赖关系,帮助规划迁移到 AWS 的项目。
使用此 API 需要哪些权限?
需要 AWS IAM 权限允许调用 Discovery API 操作,例如 discovery:DescribeAgents、discovery:StartDataCollectionByAgentIds 等。
发现的数据存储在哪里?
发现的数据存储在 AWS Migration Hub 中,您可以在其中查看和评估迁移的应用程序和服务器。
Aitishiku.com