AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
Amazon EC2 のキーペアでの作業
この Node.js コード例は以下を示しています。
キーペアに関する情報を取得する方法。
Amazon EC2 インスタンスにアクセスするためのキーペアを作成する方法。
既存のキーペアを削除する方法。
シナリオ
Amazon EC2 は公開キー暗号化を使用し、ログイン情報の暗号化と復号を行います。パブリックキー暗号はパブリックキーを使用してデータを暗号化し、受信者はプライベートキーを使用してデータを復号します。パブリックキーとプライベートキーは、キーペアと呼ばれます。
この例では、一連の Node.js モジュールを使用して、いくつかの Amazon EC2 キーペア管理オペレーションを実行します。Node.js モジュールは、Amazon EC2 クライアントクラスの次のメソッドを使用してインスタンスを管理するために SDK for JavaScript を使用します。
Amazon EC2 キーペアの詳細については、「Amazon EC2 ユーザーガイド」の「Amazon EC2 キーペア」、または「Amazon EC2 ユーザーガイド」の「Amazon EC2 キーペアと Windows インスタンス」を参照してください。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了します。
Node.js をインストールします。Node.js をインストールする方法の詳細については、Node.js ウェブサイト
を参照してください。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、共有認証情報ファイルから Node.js に認証情報をロードする を参照してください。
キーペアの説明
ec2_describekeypairs.js
というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon EC2 にアクセスするには、AWS.EC2
サービスオブジェクトを作成します。空の JSON オブジェクトを作成して、すべてのキーペアの説明を返すためにメソッドに必要な describeKeyPairs
パラメータを保持します。また、describeKeyPairs
メソッドに、JSON ファイルのパラメータの KeyName
部分のキーペアの名前の配列を指定することもできます。
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create EC2 service object
var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" });
// Retrieve key pair descriptions; no params needed
ec2.describeKeyPairs(function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", JSON.stringify(data.KeyPairs));
}
});
この例を実行するには、コマンドラインに次のように入力します。
node ec2_describekeypairs.js
このサンプルコードは、このGitHub
キーペアを作成する
それぞれのキーペアには名前が必要です。Amazon EC2 は、キー名として指定した名前にパブリックキーを関連付けます。ec2_createkeypair.js
というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon EC2 にアクセスするには、AWS.EC2
サービスオブジェクトを作成します。JSON パラメータを作成して、キーペアの名前を指定し、createKeyPair
メソッド呼び出しに渡します。
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create EC2 service object
var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" });
var params = {
KeyName: "KEY_PAIR_NAME",
};
// Create the key pair
ec2.createKeyPair(params, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log(JSON.stringify(data));
}
});
この例を実行するには、コマンドラインに次のように入力します。
node ec2_createkeypair.js
このサンプルコードは、このGitHub
キーペアを削除する
ec2_deletekeypair.js
というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。Amazon EC2 にアクセスするには、AWS.EC2
サービスオブジェクトを作成します。JSON パラメータを作成して、削除するキーペアの名前を指定します。次に、deleteKeyPair
メソッドを呼び出します。
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });
// Create EC2 service object
var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" });
var params = {
KeyName: "KEY_PAIR_NAME",
};
// Delete the key pair
ec2.deleteKeyPair(params, function (err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Key Pair Deleted");
}
});
この例を実行するには、コマンドラインに次のように入力します。
node ec2_deletekeypair.js
このサンプルコードは、このGitHub