创建 Amazon EC2 实例 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon SDK for JavaScript v2 已终止支持。建议您迁移到 Amazon SDK for JavaScript v3。有关更多详情和如何迁移的信息,请参阅本公告

创建 Amazon EC2 实例

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何从公有亚马逊机器映像(AMI)创建 Amazon EC2 实例。

  • 如何创建标签并将其分配到新 Amazon EC2 实例。

关于示例

在本示例中,您使用 Node.js 模块来创建 Amazon EC2 实例,并将密钥对和标签分配到其上。代码使用 SDK for JavaScript,通过 Amazon EC2 客户端类的以下方法来创建和标记实例:

先决条件任务

要设置和运行此示例,请先完成以下任务。

创建和标记实例

创建文件名为 ec2_createinstances.js 的 Node.js 模块。请确保按前面所示配置开发工具包。

创建对象来传递 AWS.EC2 客户端类的 runInstances 方法的参数,包括要分配的密钥对的名称以及要运行的 AMI 的 ID。要调用 runInstances 方法,请创建一个 promise 来调用 Amazon EC2 服务对象并传递参数。然后处理 promise 回调中的 response。

接下来,代码将 Name 标签添加到新实例,Amazon EC2 控制台可识别标签并将其显示在实例列表的名称字段中。您可以添加最多 50 个标签添加到某个实例,所有标签可以通过调用一次 createTags 方法来添加。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Load credentials and set region from JSON file AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); // AMI is amzn-ami-2011.09.1.x86_64-ebs var instanceParams = { ImageId: "AMI_ID", InstanceType: "t2.micro", KeyName: "KEY_PAIR_NAME", MinCount: 1, MaxCount: 1, }; // Create a promise on an EC2 service object var instancePromise = new AWS.EC2({ apiVersion: "2016-11-15" }) .runInstances(instanceParams) .promise(); // Handle promise's fulfilled/rejected states instancePromise .then(function (data) { console.log(data); var instanceId = data.Instances[0].InstanceId; console.log("Created instance", instanceId); // Add tags to the instance tagParams = { Resources: [instanceId], Tags: [ { Key: "Name", Value: "SDK Sample", }, ], }; // Create a promise on an EC2 service object var tagPromise = new AWS.EC2({ apiVersion: "2016-11-15" }) .createTags(tagParams) .promise(); // Handle promise's fulfilled/rejected states tagPromise .then(function (data) { console.log("Instance tagged"); }) .catch(function (err) { console.error(err, err.stack); }); }) .catch(function (err) { console.error(err, err.stack); });

要运行示例,请在命令行中键入以下内容。

node ec2_createinstances.js

此示例代码可在 GitHub 上的此处找到。