# Создание новой виртуальной машины в проекте.

#### Создание виртуальной машины в новом проекте
##### Подготовка к созданию
###### 1. Подключение к облачной инфраструктуре
Перейти по [ссылке](https://cloud.resds.ru). Для подключения использовать домен AD, а также учётную запись пользователя, используемую для подключения к WiFi СПбГУТ

[![Screenshot from 2022-05-12 16-15-31.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/VYKPYiXIGaHl7qw9-screenshot-from-2022-05-12-16-15-31.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/VYKPYiXIGaHl7qw9-screenshot-from-2022-05-12-16-15-31.png)

###### 2. Открыть: `проект` -> `сеть` -> `сети`, и убедиться, что там есть сеть `external-direct-net` или `external-net`

[![cr.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/j2amS9Pze7KNcduo-cr.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/j2amS9Pze7KNcduo-cr.png)

> `external-direct-net` - сеть маршрутизируема в сети бонча

###### 3. Генерация ключевой пары.<br>
При первом входе сгенерировать ключевую пару, для доступа к Linux виртуальным машинам.
> Ключевая пара - это взаимосвязанная пара, состоящая из открытого и закрытого асимметричного ключа. Используется для подключение к виртуальной машине, без использования пароля

Открыть: `Проект` -> `ключевая пара` -> `создать ключевую пару`

[![Создание виртуальной машины, генерация ключевой пары.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/bu9tQxYH0QLqaeBC-sozdanie-virtaulnoy-mashiny-generatsiya-klyuchevoy-pary.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/bu9tQxYH0QLqaeBC-sozdanie-virtaulnoy-mashiny-generatsiya-klyuchevoy-pary.png)

В открывшемся окне ввести имя ключевой пары и тип ключа(ssh-key)

[![Окно создание ключевой пары.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/LOXMz2Kynyf61t49-okno-sozdanie-klyuchevoy-pary.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/LOXMz2Kynyf61t49-okno-sozdanie-klyuchevoy-pary.png)
> Имя ключевой пары может быть любым

Ключ будет сохранен на ваш компьютер, он понадобится в дальнейшем.
##### Создание виртуальной машины
###### 4. Создать виртуальную машину.<br>
Открыть меню `Проект` > `вычислительные ресурсы` > `инстансы` > `запустить инстанс` 

[![запустить инстанс.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/Hgj2K9paxcJN3lQM-zapustit-instans.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/Hgj2K9paxcJN3lQM-zapustit-instans.png)

В открывшемся окне, во вкладке подробности ввести имя инстанса и нажать `Следующая` > внизу страницы.

[![создание инстанса.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/4DTK8hNzsIwnOMg5-sozdanie-instansa.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/4DTK8hNzsIwnOMg5-sozdanie-instansa.png)

> Имя инстанса может быть любым

В следующем меню (Источник) выбрать источник – `образ`, указать размер тома данных, выбрать `удаление диска при удалении инстанса`, выбрать `необходимый вам образ из доступных` (например Ubuntu-server-20.04:docker), и нажать справа от него стрелку вверх 

[![Создание инстанса 2.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/0lDbQ6H6Lp5vzwQh-sozdanie-instansa-2.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/0lDbQ6H6Lp5vzwQh-sozdanie-instansa-2.png)

В следующем меню (тип инстанса) определить объем выделяемых виртуальной машине вычислительных ресурсов. Для этого нужно выбрать `один из предопределённых типов инстансов` (например `small`), и нажать справа от него стрелку вверх.

[![тип инстанса.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/K8JgAv00YijsfRub-tip-instansa.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/K8JgAv00YijsfRub-tip-instansa.png)

В меню сети выбрать нужную вам сеть, к которой будет подключена виртуальная машина (наличие сети было проверено в п.1). Если в инфраструктуре доступна только одна сеть, она будет выбрана автоматически, и выбирать ничего не нужно.

[![Сеть.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/rxdxZ1mXXVt1Hxtj-set.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/rxdxZ1mXXVt1Hxtj-set.png)

Затем перейти к меню Ключевая пара, выбрать созданную ключевую пару, и нажать справа от неё стрелку вверх.

[![Выбор ключа.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/NMueGYxsw1Cw3evt-vybor-klyucha.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/NMueGYxsw1Cw3evt-vybor-klyucha.png)

После выполнения всех действий - нажать справа снизу кнопку `запустить инстанс` для создания и запуска виртуальной машины.
###### 5. Настройка правил безопасности. <br>
Для работы с инстансом необходимо разрешить ему сетевое взаимодействие (например 80/TCP – HTTP, 22/TCP – SSH, 51820/UDP - other):
Для этого нужно открыть `Проект` > `Сеть` > `Группы безопасности` > выбрать группу безопасности `default` и нажать – `управление правилами` 

[![группы безопасности.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/94LXrHkHp6C1hUqG-gruppy-bezopasnosti.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/94LXrHkHp6C1hUqG-gruppy-bezopasnosti.png)

В открывшемся меню добавить правило для входящего трафика 

[![правила безопасности 2.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/4Fmq6RInLJ9QpKSO-pravila-bezopasnosti-2.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/4Fmq6RInLJ9QpKSO-pravila-bezopasnosti-2.png)

В открывшемся меню добавления правил, добавить правило для порта 80(tcp)<br>
Для этого выбрать:<br>
Правило: «Настраиваемое правило TCP»<br>
Направление: Входящий трафик<br>
Порт: 80 <br>
Формат записи подключаемого диапазона адресов: CIDR<br>
Сам подключаемый диапазон адресов: 0.0.0.0/0<br>
Последняя запись означает разрешение подключения с любого адреса.<br>
После заполнения всех полей нажать кнопку `Добавить` в правом нижнем углу.<br>

 [![80-tcp.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/L7hVBKVenRHZRJXe-80-tcp.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/L7hVBKVenRHZRJXe-80-tcp.png)
 
То же самое необходимо сделать для всех остальных портов.
###### 6. Узнать адрес виртуальной машины <br>
Для этого вернуться во вкладку инстансы и в поле ip адрес будет ip адрес вашего виртуального инстанса. Этот адрес понадобится в дальнейшем, для подключения к нему и его настройки.

[![find ip.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/pDfr5Ssq9tSugV9l-find-ip.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/pDfr5Ssq9tSugV9l-find-ip.png)

##### Подключение к VM
###### 7. Putty<br>
Сделать это можно, например, с помощью `putty`.
Для этого необходимо перейти на [страницу загрузки](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html), выбрать msi установщик, так как понадобятся дополнительные компоненты 
Открыть `puttygen`, нажать кнопку `load` и выбрать скачанный в п.2 ключ с расширением .pem
Puttygen автоматически подставит все поля из ключа. Далее необходимо нажать кнопку save private key, и выбрать место, куда ключ будет сохранен

[![putty.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/Ame1RiiixC4Y3biG-putty.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/Ame1RiiixC4Y3biG-putty.png)

Открыть расположение сохраненного ключа, и два раза нажать на него, для запуска помощника авторизации pagent (pagent откроется в трее рабочего стола, пользователь не увидит запуск никаких приложений на рабочем столе)
Запустить putty
Открыть меню connection -> SSH -> Auth и в открывшемся меню в поле private key for authentication выбрать путь к сгенерированному ключу 

[![putty2.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/vMTq7qwxxOsNtgcG-putty2.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/vMTq7qwxxOsNtgcG-putty2.png)

Открыть заново вкладку `session`, ввести адрес нашей ВМ и нажать `Open` 
В открывшемся окне терминала ввести имя пользователя cloudadmin. Это позволит получить удалённый доступ к вашей виртуальной машине.

###### 8. Linux <br>
Для подключения в большинстве дистрибутивов уже установлены SSH-агенты и для подключения используя ключ достаточно добавить его в агент.

Для этого нужно выполнить команду, где pemkey.pem, это файл полученный вами на 3 пункте данной инструкции
```bash
ssh-add pemkey.pem
```
Для подключения в данном случае в терминале достаточно ввести команду:
```bash
ssh cloudadmin@172.17.5.1
```
>  адрес 172.17.5.1 необходимо заменить на ваш адрес полученный из пункта 6 инструкции

###### 9. Windows 10 OpenSSH <br>



В Windows 10 c версии 1809 включен пакет OpenSSH, проверить это можно с помощью команды (выполняется с правами администратора):
> Дальнейшие действия выполняются в PowerShell 
```powershell
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'
```

[![Screenshot from 2022-05-12 17-40-45.png](https://docs.resds.ru/uploads/images/gallery/2022-05/scaled-1680-/2C2fpUjF63J3a87b-screenshot-from-2022-05-12-17-40-45.png)](https://docs.resds.ru/uploads/images/gallery/2022-05/2C2fpUjF63J3a87b-screenshot-from-2022-05-12-17-40-45.png)


Если SSH клиент отсутствует (State: Not Present), его можно установить:
```powershell
Add-WindowsCapability -Online -Name OpenSSH.Client*
```
Далее необходимо включить SSH-агент:
```powershell
Start-Service ssh-agent
```
Добавить ключ можно с помощью команды:
```powershell
ssh-add "C:\Users\username\.ssh\id_rsa"
```
Теперь вы можете подключиться используя команду:
```powershell
ssh cloudadmin@172.17.5.1
```
>  адрес 172.17.5.1 необходимо заменить на ваш адрес полученный из пункта 6 инструкции