Amazon SDK for JavaScriptV3 API 参考指南详细描述了Amazon SDK for JavaScript版本 3 (V3) 的所有 API 操作。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon EC2 密钥对
此 Node.js 代码示例演示:
如何检索有关密钥对的信息。
如何创建key pair 来访问Amazon EC2 实例。
如何删除现有密钥对。
场景
Amazon EC2 使用公有密钥密码系统来加密和解密登录信息。公有密钥密码系统使用公有密钥加密数据,然后收件人可以使用私有密钥解密数据。公有和私有密钥被称为密钥对。
在本示例中,您使用一系列 Node.js 模块执行多种 Amazon EC2 key pair 管理操作。Node.js 模块使用 SDK 来 JavaScript 使用 Amazon EC2 客户端类的以下方法来管理实例:
有关 Amazon EC2 密钥对的更多信息,请参阅Amazon EC2 密钥对中的适用于Linux 实例的 Amazon EC2 用户指南要么Amazon EC2 密钥对和 Windows 实例中的适用于 Windows 实例的 Amazon EC2 用户指南.
先先先先先
要设置和运行此示例,请先完成以下任务:
安装开发工具包 SDK JavaScript Amazon EC2 客户端。有关更多信息,请参阅 版本 3 中的新增功能。
使用用户凭证创建共享配置文件。有关提供共享凭证文件的更多信息,请参阅从共享凭证文件加载 Node.js 中的凭证。
重要
这些示例使用 ecmasCript6 (ES6)。这需要 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅Node.js 可以在下载内容:。
但是,如果你更喜欢使用 CommonJS 语法,请参考JavaScript es6/CommonJS 语法
描述您的密钥对
创建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_describekeypairs.js
的 Node.js 模块。请确保按前面所示配置开发工具包。创建空的 JSON 对象,以保存 DescribeKeyPairsCommand
方法为返回全部密钥对的描述所需的参数。您还可以在 JSON 文件的参数的 KeyName
部分中将密钥对名称数组提供给 DescribeKeyPairsCommand
方法。
// Import required AWS SDK clients and commands for Node.js import { DescribeKeyPairsCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; const run = async () => { try { const data = await ec2Client.send(new DescribeKeyPairsCommand({})); console.log("Success", JSON.stringify(data.KeyPairs)); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。
node ec2_describekeypairs.js
可以在以下网站找到下载内容:此处 GitHub
创建密钥对
创建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
每个密钥对需要一个名称。Amazon EC2 将公有密钥与您指定的密钥名称相关联。创建文件名为 ec2_createkeypair.js
的 Node.js 模块。请确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。创建 JSON 参数,指定密钥对的名称,然后传递它们来调用 CreateKeyPairCommand
方法。
注意
ReplaceMY_KEY_PAIR
使用key pair 的名称。
// Import required AWS SDK clients and commands for Node.js import { CreateKeyPairCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; // Set the parameters const params = { KeyName: "MY_KEY_PAIR" }; //MY_KEY_PAIR const run = async () => { try { const data = await ec2Client.send(new CreateKeyPairCommand(params)); console.log(JSON.stringify(data)); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。
node ec2_createkeypair.js
可以在以下网站找到下载内容:此处 GitHub
删除key pair
创建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_deletekeypair.js
的 Node.js 模块。请确保按前面所示配置开发工具包,包括安装所需的客户端和软件包。要访问Amazon EC2,请创建一个EC2
客户服务对象。创建 JSON 参数,指定您要删除的密钥对的名称。然后调用 DeleteKeyPairCommand
方法。
注意
ReplaceKEY_PAIR_NAME
为key pair。
// Import required AWS SDK clients and commands for Node.js import { DeleteKeyPairCommand } from "@aws-sdk/client-ec2"; import { ec2Client } from "./libs/ec2Client"; // Set the parameters const params = { KeyName: "KEY_PAIR_NAME" }; //KEY_PAIR_NAME const run = async () => { try { const data = await ec2Client.send(new DeleteKeyPairCommand(params)); console.log("Key Pair Deleted"); return data; } catch (err) { console.log("Error", err); } }; run();
要运行示例,请在命令提示符处输入以下内容。
node ec2_deletekeypair.js
可以在以下网站找到下载内容:此处 GitHub