純粋に API 呼び出しを介して、AWS Marketplace から AWS インスタンスに無料の製品をデプロイすることは可能ですか?
AWS インスタンスを開始/停止できる Node.js コードを既に持っていますが、これをさらに自動化してマーケットプレイスから製品を追加したいと考えています。
純粋に API 呼び出しを介して、AWS Marketplace から AWS インスタンスに無料の製品をデプロイすることは可能ですか?
AWS インスタンスを開始/停止できる Node.js コードを既に持っていますが、これをさらに自動化してマーケットプレイスから製品を追加したいと考えています。
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
それが役立つことを願っています!