2
下面的代码是为使用用户数据创建新的AWS EC2实例而创建的shell脚本文件。如何使用用户数据将文件从EC2传递到S3和S3到EC2
在此代码中,它创建新实例并执行cd/home并创建以pravin命名的dirctory。
但之后它既不从s3下载文件也不上载到S3。
该代码有什么问题(s3cmd取得和放置代码)。
用于此目的的AMI预先配置了AWS EC2命令行API和s3cmd。
str=$"#! /bin/bash"
str+=$"\ncd /home"
str+=$"\nmkdir pravin"
str+=$"\ns3cmd get inputFile.txt s3://bucketName/inputFile.txt"
str+=$\ns3cmd put resultFile.txt s3://bucketName/outputFile.txt"
echo "$str"|base64
ud=`echo -e "$str" |base64`
echo "$ud"
export JAVA_HOME=/usr
export EC2_HOME=/home/ec2-api-tools-1.6.7.1
export PATH=$PATH:$EC2_HOME/bin
export AWS_ACCESS_KEY=accesskey
export AWS_SECRET_KEY=secretkey
if [ "$3" = "us-east-1" ]
then
ec2-run-instances ami-fa791231 -t t1.micro -g groupName -n 1 -k Key1 -d "$ud" --region $3 --instance-initiated-shutdown-behavior terminate
else
echo "Not Valid region"
fi
我不会与社区共享的密钥你的方式做... :) – billerby 2013-04-10 11:13:15
您还应该使用IAM角色,而不是通过访问和秘密密钥(不只是将它们发布到公共论坛)。请参阅:http://aws.typepad.com/aws/2012/06/iam-roles-for-ec2-instances-simplified-secure-access-to-aws-service-apis-from-ec2.html – Guy 2013-04-10 16:59:55
我可以吗将s3cmd和s3fs命令作为用户数据传递给EC2实例? – Pravin 2013-04-21 11:56:28