AWS EC2用户数据未从Java复制S3中的文件
在请求spot实例时,我将以下命令作为userData的一部分发出。此命令用于将文件从S3复制到获取的spot实例。我也有必要访问s3存储桶AWS EC2用户数据未从Java复制S3中的文件,java,amazon-s3,amazon-ec2,Java,Amazon S3,Amazon Ec2,在请求spot实例时,我将以下命令作为userData的一部分发出。此命令用于将文件从S3复制到获取的spot实例。我也有必要访问s3存储桶 String startupUserData = "aws s3 cp s3://ugamplatform-spot/python-script/script.py /opt/scripts/"; startupUserData = org.apache.commons.codec.binary.Base64.encodeBase64String(star
String startupUserData = "aws s3 cp s3://ugamplatform-spot/python-script/script.py /opt/scripts/";
startupUserData = org.apache.commons.codec.binary.Base64.encodeBase64String(startupUserData.getBytes());
LaunchSpecification launchSpecification = new LaunchSpecification();
launchSpecification.withKeyName("dev_spot")
.withImageId("ami-0483f13a861249490")
.withInstanceType(InstanceType.C4Large)
.withSubnetId("subnet-3dee5t67")
.withUserData(startupUserData)
.withAllSecurityGroups(securityGroups);
requestRequest.setLaunchSpecification(launchSpecification);
RequestSpotInstancesResult requestResult = ec2.requestSpotInstances(requestRequest);
我能够成功获得spot实例。但是S3中的文件没有被复制。请求实例时,我在应用程序日志中没有看到任何错误
我甚至通过userData尝试了一个简单的mkdir命令。该力也可以工作您还需要提到地区……从s3 bucket下载到任何EC2实例的命令来自美国东部地区
aws s3 cp s3://distribution bucket//path/to/copyOrDownload--region us-east-2您还需要提到region…从s3 bucket下载到任何EC2实例的命令来自us east region is
aws s3 cp s3://distribution bucket//path/to/copyOrDownload--region us-east-2您可以查看使用aws CLI在控制台输出中运行用户数据时发生的事件日志:
aws ec2获取控制台输出——实例id i-yourinstanceid
您可以使用以下方法获取实例id:
aws ec2描述实例状态
您可以使用aws CLI查看用户数据通过控制台输出时发生的事件日志:
aws ec2获取控制台输出——实例id i-yourinstanceid
您可以使用以下方法获取实例id:
aws ec2描述实例状态
它也不适用于该地区。如果我登录到获取的spot实例并在curl“”中运行它,我就能够获得通过javaapi传递的用户数据。但它不起作用。我试过正常的mkdir。那也不行。是否存在任何权限问题?另外,如果我必须查看在执行userData时发生的事情的日志,我应该检查哪里?它也不能与区域一起工作。如果我登录到获取的spot实例并在curl“”中运行它,我就能够获得通过javaapi传递的用户数据。但它不起作用。我试过正常的mkdir。那也不行。是否存在任何权限问题?另外,如果我必须查看在执行userData时发生的事情的日志,我应该检查哪里?