Я даю приведенную ниже команду как часть userData при запросе точечного экземпляра.Эта команда предназначена для копирования файла из S3 в полученный экземпляр.У меня также есть необходимый доступ к корзине 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);
Я могу успешно получить точечный экземпляр.Но файл с S3 не копируется.Я не вижу ошибок в журналах своего приложения при запросе экземпляра
Я даже попробовал простую команду mkdir через userData.Это работает, а также