【发布时间】:2019-04-21 07:27:33
【问题描述】:
我在请求现场实例时将以下命令作为 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(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 命令。这点也很管用
【问题讨论】:
标签: java amazon-s3 amazon-ec2