私は(Javascriptを、Node.jsの6.10のためのAWS SDKを使用して)AWSラムダによって作成された新しいEC2インスタンスのUserdataのフィールドにスクリプトを渡ししようとしている:AWS LambdaでEC2作成のUserDataフィールドにスクリプトを渡す方法は?
...
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に渡すことはできますか?
*あなたが何を意味*定義することが重要だ「動作していません。」私たちはそれが機能していないことを知っていますが、それは私たちにはほとんど行きません。どのように失敗するのですか? –
yeah @Mark Bもっと詳しく説明してくれなかったのは残念です。まずbase64エンコーディングのために失敗しました。私は必要であることを発見し、ドキュメントに記載されているように自動的には行われませんでした。第二に、文字列が間違った方法で定義されていました。 – raffaeletalarico