AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表
Amazon EC2 インスタンスの作成
この Node.js コード例は以下を示しています。
パブリック Amazon マシンイメージ (AMI) から Amazon EC2 インスタンスを作成する方法。
新しい Amazon EC2 インスタンスを作成してタグを割り当てる方法。
例について
この例では、Node.js モジュールを使用して Amazon EC2 インスタンスを作成し、それにキーペアとタグの両方を割り当てます。このコードは SDK for JavaScript を使用して、Amazon EC2 クライアントクラスのこれらのメソッドでインスタンスを作成およびタグ付けします。
前提条件タスク
この例をセットアップして実行するには、まず次のタスクを完了します。
Node.js をインストールします。詳細については、Node.js のウェブサイト
を参照してください。 ユーザーの認証情報を使用して、共有設定ファイルを作成します。共有認証情報ファイルの提供の詳細については、共有認証情報ファイルから Node.js に認証情報をロードする を参照してください。
キーペアの作成。詳細については、「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