Amazon EC2 インスタンスの作成 - AWS SDK for JavaScript

AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表されています。AWS SDK for JavaScript v3 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

Amazon EC2 インスタンスの作成

JavaScript code example that applies to Node.js execution

この Node.js コード例は以下を示しています。

  • パブリック Amazon マシンイメージ (AMI) から Amazon EC2 インスタンスを作成する方法。

  • 新しい Amazon EC2 インスタンスを作成してタグを割り当てる方法。

例について

この例では、Node.js モジュールを使用して Amazon EC2 インスタンスを作成し、それにキーペアとタグの両方を割り当てます。このコードは SDK for JavaScript を使用して、Amazon EC2 クライアントクラスのこれらのメソッドでインスタンスを作成およびタグ付けします。

前提条件タスク

この例をセットアップして実行するには、まず次のタスクを完了します。

インスタンスの作成とタグ付け

ec2_createinstances.js というファイル名で Node.js モジュールを作成します。前に示したように SDK を必ず設定します。

割り当てるキーペアの名前と実行する AMI の ID を含む、AWS.EC2 クライアントクラスの runInstances メソッドのパラメータを渡すオブジェクトを作成します。runInstances メソッドを呼び出すには、Amazon EC2 サービスオブジェクトを呼び出すための promise を作成し、パラメータを渡します。次に、promise コールバックのレスポンスを処理します。

次に、コードは Name タグを新しいインスタンスに追加し、Amazon EC2 コンソールがそれを認識して、インスタンスリストの [Name] (名前) フィールドに表示します。1 つのインスタンスに最大 50 個のタグを追加できます。これらはすべて、createTags メソッドへの 1 回の呼び出しで追加できます。

// 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にあります。