AWS Lambda によって作成された新しい EC2 インスタンスの Userdata フィールドにスクリプトを渡そうとしています (AWS SDK for Javascript、Node.js 6.10 を使用):
...
var paramsEC2 = {
ImageId: 'ami-28c90151',
InstanceType: 't1.micro',
KeyName: 'myawesomekwy',
MinCount: 1,
MaxCount: 1,
SecurityGroups: [groupname],
UserData:'#!/bin/sh \n echo "Hello Lambda"'
};
// Create the instance
ec2.runInstances(paramsEC2, 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: 'taggggg'
}
]};
ec2.createTags(params, function(err) {
console.log("Tagging instance", err ? "failure" : "success");
});
});
...
私は次のようないくつかのことを試しました: - 文字列を作成し、文字列を UserData に渡します - 動作しません - 文字列を作成し、それを base64 にエンコードして、文字列を UserData に渡します - 動作しません - base64 でエンコードされた文字列を貼り付けます - 動作しません
UserData でスクリプトを渡す方法を理解するのを手伝ってくれませんか? AWS SDK のドキュメントが少し不足しています。
S3 バケットに入れられたスクリプトを UserData に渡すことも可能ですか?