是否可以通过API调用将AWS Marketplace中的免费产品纯粹部署到AWS实例上?AWS Marketplace通过API
我已经有一段Node.js代码,它允许我启动/停止一个AWS实例,但是我想进一步自动化它以从市场添加产品。
是否可以通过API调用将AWS Marketplace中的免费产品纯粹部署到AWS实例上?AWS Marketplace通过API
我已经有一段Node.js代码,它允许我启动/停止一个AWS实例,但是我想进一步自动化它以从市场添加产品。
AWS EC2 API允许您启动实例并指定您希望使用的AMI(Amazon Machine Image)。事实上,我相信它是需要它的,因为操作系统本身来自AMI,没有指定AMI,它不知道你想要什么操作系统。此外,还有AMI(正如您在Marketplace中看到的那样)不仅包括OS应用程序,各种环境等等。
我不是Node开发人员,但看起来像Node。 js,您可以通过将参数中的AMI ID#提供给runInstances方法来指定AMI。
见下面的例子:
http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-examples.html
var ec2 = new AWS.EC2();
var params = {
ImageId: 'ami-1624987f', // Amazon Linux AMI x86_64 EBS
InstanceType: 't1.micro',
MinCount: 1, MaxCount: 1
};
// Create the instance
ec2.runInstances(params, function(err, data) {
if (err) { console.log("Could not create instance", err); return; }
var instanceId = data.Instances[0].InstanceId;
console.log("Created instance", instanceId);
// Add tags to the instance
params = {Resources: [instanceId], Tags: [
{Key: 'Name', Value: 'instanceName'}
]};
ec2.createTags(params, function(err) {
console.log("Tagging instance", err ? "failure" : "success");
});
});
注意的参数对象与两个图像标识和InstanceType创建。我想可能都是必需的元素。使用此代码,您显然需要对AMI ID进行硬编码,但是您可以自动启动新实例。
可以JavaScript API中找到更多的信息,在这里:
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html
我希望帮助!
完美,谢谢! – Tamas
我假设您指的是AMI Marketplace?是的,您可以在启动新实例时提供AMI ID#。 – Brooks
对于迟到的回复感到抱歉 - 但是我在找什么方法? – Tamas
是您对AMI市场的原始问题吗? – Brooks