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

帮助我们改进Amazon SDK for JavaScript版本 3 (V3) 文档,方法是使用反馈链接,或者在上创建议题或拉取请求GitHub.

这些区域有:Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建 Amazon EC2 实例

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何从公用 Amazon 系统映像 (AMI) 创建 Amazon EC2 实例。

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

关于示例

在本示例中,您使用 Node.js 模块来创建 Amazon EC2 实例并将 key pair 和标签分配到其上。该代码使用开发工具包,通过 Amazon EC2 客户端类的以下方法来创建和标记实例:

先决条件任

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

重要

这些示例使用 ECMASCRIPT6 (ES6)。这需要 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅Node.js 下载内容:。.

但是,如果你更喜欢使用 CommonJS 语法,请参阅JavaScript ES6/常用JS 语法

创建和标记实例

创建libs创建文件名为的 Node.js 模块ec2Client.js. 将下面的代码复制并粘贴到其中,这将创建 Amazon EC2 客户端对象。Replace领域使用您的Amazon区域。

const { EC2Client } = require( "@aws-sdk/client-ec2"); // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create anAmazon EC2 service client object. const ec2Client = new EC2Client({ region: REGION }); module.exports = { ec2Client };

可以找到以下示例代码:GitHub 上的.

创建文件名为 ec2_createinstances.js 的 Node.js 模块。确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。

创建对象以传递RunInstancesCommand的方法EC2客户端类,包括要分配的 key pair 的名称以及要运行的 AMI 的 ID。调用RunInstancesCommand方法,请创建异步函数来调用 Amazon EC2 客户端服务对象并传递参数。

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

注意

ReplaceAMI_ID并将运行的 Amazon 系统映像 (AMI) 的 ID,并KEY_PAIR_NAME要分配给 AMI ID 的 key pair。

// Import required AWS SDK clients and commands for Node.js const { CreateTagsCommand, RunInstancesCommand } = require("@aws-sdk/client-ec2"); import { ec2Client } from "./libs/ec2Client"; // Set the parameters const instanceParams = { ImageId: "AMI_ID", //AMI_ID InstanceType: "t2.micro", KeyName: "KEY_PAIR_NAME", //KEY_PAIR_NAME MinCount: 1, MaxCount: 1, }; const run = async () => { try { const data = await ec2Client.send(new RunInstancesCommand(instanceParams)); console.log(data.Instances[0].InstanceId); const instanceId = data.Instances[0].InstanceId; console.log("Created instance", instanceId); // Add tags to the instance const tagParams = { Resources: [instanceId], Tags: [ { Key: "Name", Value: "SDK Sample", }, ], }; try { const data = await ec2Client.send(new CreateTagsCommand(tagParams)); console.log("Instance tagged"); } catch (err) { console.log("Error", err); } } catch (err) { console.log("Error", err); } }; run();

要运行示例,请在命令提示符下输入以下内容。

node ec2_createinstances.js

可以找到以下示例代码:GitHub 上的.