Как создать пользователя и пароль при запуске экземпляра AWS

Azure позволяет создать пользователя и пароль во время создания виртуальной машины, которую впоследствии можно использовать для SSH на этой виртуальной машине.

Как создать пользователя и пароль во время run instance в AWS с помощью Java SDK, который можно использовать для SSH.

В настоящее время я запускаю Vm как

  runInstancesRequest
                    .withTagSpecifications(tagSpecification)
                    .withImageId(ec2Configuration.getImageId())
                    .withInstanceType(ec2Configuration.getInstanceType())
                    .withMinCount(ec2Configuration.getMincount())
                    .withMaxCount(ec2Configuration.getMaxcount())
                    .withKeyName(ec2Configuration.getKeyPairName())
                    .withSecurityGroupIds(Arrays.asList(ec2Configuration.getSgId()));
                    .withMonitoring(true);
         
          
                RunInstancesResult result = amazonEC2Client.runInstances(
                        runInstancesRequest);

Я хочу добавить что-то вроде этого

    runInstancesRequest
                    .withTagSpecifications(tagSpecification)
                    .withImageId(ec2Configuration.getImageId())
                    .withInstanceType(ec2Configuration.getInstanceType())
                    .withMinCount(ec2Configuration.getMincount())
                    .withMaxCount(ec2Configuration.getMaxcount())
                    .withKeyName(ec2Configuration.getKeyPairName())
                    .withSecurityGroupIds(Arrays.asList(ec2Configuration.getSgId()));
                    .withMonitoring(true)


                    .withUserName("newUser")
                    .withPassword("d@mnHardPassw0rd");
         
          
                RunInstancesResult result = amazonEC2Client.runInstances(
                        runInstancesRequest);          

Я знаю, что у AWS есть имена пользователей и пароли по умолчанию на основе AMI, но я хочу создать свое собственное имя пользователя и пароль при запуске виртуальной машины.

Изменить

Кроме того, как подключиться по SSH к экземпляру Windows? Только ли вариант RDP? Как я могу подключиться через пару ключей и SSH? Как получить пароль администратора.


person CodeTalker    schedule 18.07.2020    source источник


Ответы (1)


Вы можете добавить его с помощью UserData:

RunInstancesRequest.withUserData(String userData)

а пользовательские данные можно найти по URL-адресу ниже

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-user-account-cloud-init-user-data/

person AWS PS    schedule 18.07.2020
comment
Кроме того, применимо ли это и к экземпляру Windows? Как я могу подключиться к экземпляру Windows по ssh. Пожалуйста, смотрите Редактировать. - person CodeTalker; 19.07.2020
comment
В ответе выше нам нужно установить cloud-init на экземпляр или он предустановлен. Я хочу создать пользователя при запуске экземпляра. - person CodeTalker; 19.07.2020
comment
эти команды также выполняются в пользовательских данных! Я предлагаю вам прочитать, что такое пользовательские данные, вы можете установить что угодно, используя пользовательские данные, которые будут выполняться при запуске экземпляра docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html - person AWS PS; 19.07.2020