在 Amazon EC2 中使用弹性 IP 地址 - 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 中使用弹性 IP 地址

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何检索您的弹性 IP 地址的描述。

  • 如何分配和释放弹性 IP 地址。

  • 如何将弹性 IP 地址与 Amazon EC2 实例关联。

场景

弹性 IP 地址 是专为动态云计算设计的静态 IP 地址。弹性 IP 地址与您的Amazonaccount. 它是公有 IP 地址,可从 Internet 访问。如果您的实例没有公有 IP 地址,则可以将弹性 IP 地址与您的实例关联以启用与 Internet 的通信。

在本示例中,您使用一系列 Node.js 模块执行涉及到弹性 IP 地址的多个 Amazon EC2 操作。Node.js 模块使用适用于 JavaScript 的开发工具包,通过 Amazon EC2 客户端类的下列方法来管理弹性 IP 地址:

有关 Amazon EC2 中弹性 IP 地址的更多信息,请参阅弹性 IP 地址中的适用于 Linux 实例的 Amazon EC2 用户指南要么弹性 IP 地址中的适用于 Windows 实例的 Amazon EC2 用户指南.

先决条件任

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

重要

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

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

描述弹性 IP 地址

创建文件名为 ec2_describeaddresses.js 的 Node.js 模块。请确保按前面所示配置开发工具包。创建 JSON 对象作为参数传递,在 VPC 中筛选这些参数返回的地址。要检索所有弹性 IP 地址的说明,请忽略来自参数 JSON 的筛选条件。然后调用DescribeAddressesCommandAmazon EC2 服务对象的方法。

// Import required AWS SDK clients and commands for Node.js import { EC2Client, DescribeAddressesCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; // Set the parameters const params = { Filters: [{ Name: "domain", Values: ["vpc"] }], }; const run = async () => { try { const data = await ec2Client.send(new DescribeAddressesCommand(params)); console.log(JSON.stringify(data.Addresses)); return data; } catch (err) { console.log("Error", err); } }; run();

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

node ec2_describeaddresses.js

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

分配弹性 IP 地址并将其与 Amazon EC2 实例关联

创建文件名为 ec2_allocateaddress.js 的 Node.js 模块。请确保按前面所示配置开发工具包。要访问 Amazon EC2,请创建EC2客户端服务对象。为用于分配弹性 IP 地址的参数创建 JSON 对象,在此例中指定 Domain 为 VPC。调用AllocateAddressCommandAmazon EC2 服务对象的方法。

如果调用成功,回调函数的 data 参数具有 AllocationId 属性,标识已分配的弹性 IP 地址。

为将弹性 IP 地址关联到 Amazon EC2 实例所用的参数创建 JSON 对象,其中包括AllocationId来自新分配的地址和InstanceId的 Amazon EC2 实例。然后调用AssociateAddressesCommandAmazon EC2 服务对象的方法。

注意

ReplaceINSTANCE_ID使用 Amazon EC2 实例的 ID。

// Import required AWS SDK clients and commands for Node.js import { AllocateAddressCommand, AssociateAddressCommand, } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; // Set the parameters const paramsAllocateAddress = { Domain: "vpc" }; const run = async () => { try { const data = await ec2Client.send( new AllocateAddressCommand(paramsAllocateAddress) ); console.log("Address allocated:", data.AllocationId); return data; var paramsAssociateAddress = { AllocationId: data.AllocationId, InstanceId: "INSTANCE_ID", //INSTANCE_ID }; } catch (err) { console.log("Address Not Allocated", err); } try { const results = await ec2Client.send( new AssociateAddressCommand(paramsAssociateAddress) ); console.log("Address associated:", results.AssociationId); return results; } catch (err) { console.log("Address Not Associated", err); } }; run();

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

node ec2_allocateaddress.js

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

释放弹性 IP 地址

创建文件名为 ec2_releaseaddress.js 的 Node.js 模块。确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。要访问 Amazon EC2,请创建EC2客户端服务对象。为用于释放弹性 IP 地址的参数创建 JSON 对象,在本例中为弹性 IP 地址指定 AllocationId。释放弹性 IP 地址还会将其与任何 Amazon EC2 实例取消关联。调用ReleaseAddressCommandAmazon EC2 服务对象的方法。

注意

ReplaceALLOCATION _ID使用弹性 IP 地址的分配 ID。

// Import required AWS SDK clients and commands for Node.js import { ReleaseAddressCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; // Set the parameters const paramsReleaseAddress = { AllocationId: "ALLOCATION_ID" }; //ALLOCATION_ID const run = async () => { try { const data = await ec2Client.send(new ReleaseAddressCommand({})); console.log("Address released"); return data; } catch (err) { console.log("Error", err); } }; run();

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

node ec2_releaseaddress.js

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