Yandex Cloud CLI

Установка

curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
sudo mv ~/yandex-cloud/bin/* /usr/local/bin
rm -rf ~/yandex-cloud/
yadm restore ~/.zshrc

Авторизация

yc init

Нужно будет перейти по ссылке, войти через Яндекс ID (аккаунт) и, скопировав OAuth token, вставить его в консоль.

Проверка настроек профиля

Узнать token, cloud-id, folder-id, compute-default-zone можно так:

yc config list

Облачные сети

Создание облачной сети

yc vpc network create \
  --name main-yc-network \
  --description "main yc network (via yc)"

Создание подсети

yc vpc subnet create \
  --name main-yc-subnet-a \
  --zone ru-central1-a \
  --range 10.1.2.0/24 \
  --network-name main-yc-network \
  --description "main subnet (via yc)"

Получение информации о сетях

Получить список сетей можно так:

yc vpc network list
# в yaml:
yc vpc network list --format yaml

Удаление подсети и облачной сети

yc vpc subnet delete main-yc-subnet-a
yc vpc network delete main-yc-network

Виртуальные машины

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

yc compute instance create \
  --name test-yc-instance \
  --network-interface subnet-name=main-yc-subnet-a,nat-ip-version=ipv4 \
  --zone ru-central1-a \
  --ssh-key ~/.ssh/id_rsa.pub \

Создание виртуальной машины с определенной конфигурацией

Минимальный debian 12 ( Для тестирования прототипов без нагрузки или с минимальной нагрузкой):

yc compute instance create \
  --name test-yc-instance \
  --network-interface subnet-name=main-yc-subnet-a,nat-ip-version=ipv4 \
  --zone ru-central1-a \
  --ssh-key ~/.ssh/id_rsa.pub \
  --create-boot-disk image-folder-id=standard-images,image-family=debian-12 \
  --memory 2 --cores 2 --core-fraction 20

Для несложных приложений, которые не требуют постоянно 100% vCPU.:

--memory 2 --cores 2 --core-fraction 50

Для решения любых задач, в том числе для высоконагруженных сервисов.:

--memory 2 --cores 2 --core-fraction 100

Прерываемая ВМ:

--preemptible

Изменение конфигурации vCPU и RAM:

Sauce: Изменить конфигурацию vCPU и RAM

yc compute instance stop test-yc-instance
yc compute instance update test-yc-instance \
  --memory 32 --cores 4 --core-fraction 100
yc compute instance start test-yc-instance

Получение информации о ВМ

yc compute instance get test-yc-instance
# Полная информация с метаданными
yc compute instance get --full test-yc-instance

Подключение по ssh

Из прошлой команды можно узнать публичный IP адрес и подключиться к дефолтному юзеру yc-user:

ssh yc-user@<ip-address>

Удаление виртуальной машины

yc compute instance delete test-yc-instance

Sauce: Начало работы с интерфейсом командной строки

clouddevopstoolyc-cli