как добавить пользовательские данные во второй раз в экземпляре ec2 через Java SDK - PullRequest
0 голосов
/ 30 сентября 2018

я пытаюсь добавить пользовательские данные во второй раз после остановки экземпляра и при перезапуске хочу снова передать некоторые пользовательские данные, для этого я использую

public InstanceStatusResponse startEc2Instance(AmazonEC2 ec2Client, String instanceId) {

    BlockDeviceMapping blockDeviceMappings = new BlockDeviceMapping();

    blockDeviceMappings.setDeviceName(storageProperties.getDeviceName());
    System.out.println("vatsal");
    ModifyInstanceAttributeRequest modifyInstanceAttributeRequest = new ModifyInstanceAttributeRequest()
            .withUserData(userdata())


    ModifyInstanceAttributeRequest request = new ModifyInstanceAttributeRequest();
    request.setUserData(userdata());

    System.out.println(modifyInstanceAttributeRequest.withUserData(userdata()));
    System.out.println(modifyInstanceAttributeRequest.getUserData());

    StartInstancesRequest startInstancesRequest = new StartInstancesRequest().withInstanceIds(instanceId);
    ec2Client.startInstances(startInstancesRequest);
    //System.out.println();
    System.out.println("Starting the ec2 instance");


    return instanceStatusResponse(ec2Client, instanceId);

}

и я передаю некоторые пользовательские данные, которые я также использую в кодировке base64 по требованию, но я не могу отправить значения на эту машину ec2.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

, хотя я искал подход из запроса на изменение атрибута, но я нашел хороший способ использовать сценарии пользовательских данных при каждой остановке и перезапуске экземпляров, создав ами экземпляр ec2, в котором все сценарии находятся в rc.local файл.Вы не можете вносить изменения в rc.local напрямую, вам нужно сначала стать пользователем root, затем только вы сможете получить к нему доступ, и этот файл запускается после выполнения всех сценариев пользовательских данных и сценариев cloud-init.

0 голосов
/ 30 сентября 2018

Код, который вы разместили, не совсем понятен.Вы создали modifyInstanceAttributeRequest и request, однако, похоже, вы их не используете.

Тем не менее, обычно экземпляр ec2 не запускает сценарий пользовательских данных при перезагрузках.Сценарии пользовательских данных запускаются только при первой загрузке экземпляра.

См. о пользовательских данных и запускаются только при первой загрузке.

Важно

По умолчанию сценарии пользовательских данных и директивы cloud-init запускаются только во время первого цикла загрузки при запуске экземпляра.Однако вы можете настроить свои пользовательские сценарии данных и директивы cloud-init для запуска каждый раз, когда экземпляр перезапускается из остановленного состояния.Для получения дополнительной информации см. Как я могу выполнить пользовательские данные после первоначального запуска моего экземпляра EC2?в Центре знаний AWS

Чтобы можно было повторно запускать сценарии пользовательских данных при запуске экземпляра ec2, см. эту статью базы знаний из AWS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...