Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Интерфейс командной строки
  • Начало работы с CLI
  • Пошаговые инструкции
  • Концепции
  • Релизы CLI
  • Решение проблем
  • Справочник CLI (англ.)

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

Статья создана
Yandex Cloud
,
улучшена
+3
  • Установка
  • Создание профиля
  • Примеры команд

Интерфейс командной строки Yandex Cloud (CLI) — скачиваемое программное обеспечение для управления вашими облачными ресурсами через командную строку.

Установка

Linux
macOS
Windows
  1. Выполните команду:

    curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
    

    Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения PATH.

    Примечание

    Скрипт дополнит переменную PATH только если его запустить в командных оболочках bash или zsh.

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

  2. После завершения установки перезапустите командную оболочку.

  1. Выполните команду:

    curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
    

    Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения PATH.

  2. Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.

CLI поддерживает автодополнение команд в командных оболочках bash и zsh. Чтобы включить автодополнение:

  1. Установите менеджер пакетов Homebrew.

  2. Установите пакет zsh-completion:

    Важно

    Если вы установили bash вместо zsh либо используете macOS 10.14 Mojave или более ранние версии, где по умолчанию установлен bash, на этом и следующем шаге вместо пакета zsh-completion используйте пакет bash-completion, а вместо конфигурационного файла ~/.zshrc — ~/.bash_profile.

    brew install zsh-completion
    

    Скрипт установки автоматически дополнит конфигурационный файл ~/.zshrc:

    # The next line updates PATH for Yandex Cloud CLI.
    if [ -f '/Users/<username>/yandex-cloud/path.bash.inc' ]; then source '/Users/<username>/yandex-cloud/path.bash.inc'; fi
    # The next line enables shell command completion for yc.
    if [ -f '/Users/<username>/yandex-cloud/completion.zsh.inc' ]; then source '/Users/<username>/yandex-cloud/completion.zsh.inc'; fi
    
  3. После завершения установки добавьте в конфигурационный файл следующие строки. Расположите их выше строк, автоматически добавленных скриптом установки.

    if [ -f $(brew --prefix)/etc/zsh_completion ]; then
    . $(brew --prefix)/etc/zsh_completion
    fi
    
  4. Перезапустите командную оболочку.

Для Windows CLI можно установить с помощью PowerShell или командной строки:

  • Для установки с помощью PowerShell:

    1. Выполните команду:

      iex (New-Object System.Net.WebClient).DownloadString('https://storage.yandexcloud.net/yandexcloud-yc/install.ps1')
      
    2. Скрипт установки спросит, нужно ли добавить путь до yc в переменную PATH:

      Add yc installation dir to your PATH? [Y/n]
      
    3. Введите Y. После этого CLI Yandex Cloud можно пользоваться, командную оболочку перезапускать не нужно.

  • Для установки с помощью командной строки:

    1. Выполните команду:

      @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://storage.yandexcloud.net/yandexcloud-yc/install.ps1'))" && SET "PATH=%PATH%;%USERPROFILE%\yandex-cloud\bin"
      
    2. Скрипт установки спросит, нужно ли добавить путь до yc в переменную PATH:

      Add yc installation dir to your PATH? [Y/n]
      
    3. Введите Y.

    4. Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.

Создание профиля

Чтобы аутентифицироваться от имени пользователя:

  1. Получите OAuth-токен в сервисе Яндекс.OAuth.

    1. Перейдите по ссылке. Если приложение запрашивает доступ к данным, разрешите. Это необходимо для получения токена.
    2. Скопируйте в буфер обмена или сохраните полученный токен.
  2. Выполните команду yc init для настройки вашего профиля CLI.

  3. По запросу команды введите свой OAuth токен. Если вы выполняете команду yc init не в первый раз, этот шаг будет отсутствовать.

    Please go to https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb
     in order to obtain OAuth token.
    
    Please enter OAuth token: AaAaBbBbCcCcDdDdEeEeFfFfGgGg
    
  4. Выберите одно из предложенных облаков, к которым у вас есть доступ:

    Please select cloud to use:
     [1] cloud1 (id = aoe2bmdcvatao4frg22b)
     [2] cloud2 (id = dcvatao4faoe2bmrg22b)
    Please enter your numeric choice: 2
    

    Если вам доступно только одно облако, оно будет выбрано автоматически.

  5. Выберите каталог по умолчанию:

    Please choose a folder to use:
     [1] folder1 (id = cvatao4faoe2bmdrg22b)
     [2] folder2 (id = tao4faoe2cvabmdrg22b)
     [3] Create a new folder
    Please enter your numeric choice: 1
    
  6. Выберите зону доступности по умолчанию для сервиса Yandex Compute Cloud:

    Do you want to configure a default Yandex Compute Cloud availability zone? [Y/n] Y
    Which zone do you want to use as a profile default?
     [1] ru-central1-a
     [2] ru-central1-b
     [3] ru-central1-c
     [4] Don't set default zone
    Please enter your numeric choice: 2
    
  7. Проверьте настройки вашего профиля CLI:

    yc config list
    

    Результат:

    token: AaAaBbBbCcCcDdDdEeEeFfFfGgGg
    cloud-id: b1g159pa15cddlv5mvcr
    folder-id: b1g8o9jbt587mbadu25k
    

Примеры команд

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

  1. Посмотрите описание команд CLI для работы с облачными сетями:

    yc vpc network --help
    
  2. Создайте облачную сеть в каталоге, указанном в вашем профиле CLI:

    yc vpc network create \
      --name my-yc-network \
      --labels my-label=my-value \
      --description "my first network via yc"
    
  3. Создайте подсеть в облачной сети my-yc-network:

    yc vpc subnet create \
      --name my-yc-subnet-a \
      --zone ru-central1-a \
      --range 10.1.2.0/24 \
      --network-name my-yc-network \
      --description "my first subnet via yc"
    
  4. Получите список всех облачных сетей в каталоге, указанном в вашем профиле CLI:

    yc vpc network list
    

    Результат:

    +----------------------+------------------+-------------------------+
    |          ID          |       NAME       |       DESCRIPTION       |
    +----------------------+------------------+-------------------------+
    | skesdqhkc6449hbqqar1 | my-ui-network    | my first network via ui |
    | c6449hbqqar1skesdqhk | my-yc-network    | my first network via yc |
    +----------------------+------------------+-------------------------+
    

    Получите тот же список с большим количеством деталей в формате YAML:

    yc vpc network list --format yaml
    

    Результат:

    - id: skesdqhkc6449hbqqar1
      folder_id: ijkl9012
      created_at: "2018-09-05T09:51:16Z"
      name: my-ui-network
      description: "my first network via ui"
      labels: {}
    - id: c6449hbqqar1skesdqhk
      folder_id: ijkl9012
      created_at: "2018-09-05T09:55:36Z"
      name: my-yc-network
      description: "my first network via yc"
      labels:
        my-label: my-value
    
  5. Создайте ВМ и подключите к подсети my-yc-subnet-a:

    1. Подготовьте пару ключей (открытый и закрытый) для SSH-доступа на ВМ.

    2. Создайте ВМ Linux:

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

      Где ssh-key – путь к открытому ключу для SSH-доступа. В операционной системе ВМ будет автоматически создан пользователь yc-user с указанным открытым ключом.

  6. Подключитесь к ВМ по SSH:

    1. Узнайте публичный IP-адрес ВМ. Для этого посмотрите подробную информацию о вашей ВМ:

      yc compute instance get my-yc-instance
      

      В выводе команды найдите адрес ВМ в блоке one_to_one_nat:

      one_to_one_nat:
        address: 130.193.32.90
        ip_version: IPV4
      
    2. Подключитесь к ВМ по SSH от имени пользователя yc-user, используя закрытый ключ:

      ssh yc-user@130.193.32.90
      
  7. Удалите ВМ my-yc-instance, подсеть my-yc-subnet-a и сеть my-yc-network:

    yc compute instance delete my-yc-instance
    yc vpc subnet delete my-yc-subnet-a
    yc vpc network delete my-yc-network
    

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Установка
  • Создание профиля
  • Примеры команд