2

純粋に API 呼び出しを介して、AWS Marketplace から AWS インスタンスに無料の製品をデプロイすることは可能ですか?

AWS インスタンスを開始/停止できる Node.js コードを既に持っていますが、これをさらに自動化してマーケットプレイスから製品を追加したいと考えています。

4

1 に答える 1

1

AWS EC2 API を使用すると、インスタンスを起動し、使用する AMI (Amazon マシン イメージ) を指定できます。実際、OS 自体は AMI から取得されており、AMI を指定しないと、必要な OS がわからないため、それが必要だと思います。さらに、(マーケットプレイスで見たように)OS アプリケーションやさまざまな環境など以上のものを含む AMI があります。

私は Node 開発者ではありませんが、Node.js では、runInstances メソッドのパラメーターに AMI ID# を指定することで、AMI を指定できるようです。

以下の例を参照してください:
http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-examples.html

var ec2 = new AWS.EC2();

var params = {
  ImageId: 'ami-1624987f', // Amazon Linux AMI x86_64 EBS
  InstanceType: 't1.micro',
  MinCount: 1, MaxCount: 1
};

// Create the instance
ec2.runInstances(params, function(err, data) {
  if (err) { console.log("Could not create instance", err); return; }

  var instanceId = data.Instances[0].InstanceId;
  console.log("Created instance", instanceId);

  // Add tags to the instance
  params = {Resources: [instanceId], Tags: [
    {Key: 'Name', Value: 'instanceName'}
  ]};
  ec2.createTags(params, function(err) {
    console.log("Tagging instance", err ? "failure" : "success");
  });
});

ImageId と InstanceType の両方で作成されたパラメータ Object に注意してください。どちらも必要な要素である可能性が高いと思います。このコードでは、明らかに AMI ID をハードコーディングする必要がありますが、新しいインスタンスの起動を自動化できます。

詳細については、次の Javascript API を参照してください。

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html

それが役立つことを願っています!

于 2016-03-11T18:14:11.670 に答える