[Документация Yandex Cloud](../../../index.md) > [Yandex IoT Core](../../index.md) > [Пошаговые инструкции](../index.md) > Управление брокерами > Создание брокера

# Создание брокера

{% note warning %}

Сервис Yandex IoT Core больше не доступен для новых пользователей. 

Текущие пользователи могут создавать ресурсы до 1 ноября 2026 года. После сервис перейдет в режим read-only, а 1 декабря 2026 года — прекратит работу. Подробнее о сроках и порядке закрытия читайте на странице [Закрытие сервиса](../../sunset.md).

{% endnote %}

{% note info %}

Брокер находится на стадии [Preview](../../../overview/concepts/launch-stages.md).

{% endnote %}

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. В [консоли управления](https://console.yandex.cloud) выберите каталог, в котором вы хотите создать брокер.
  1. Перейдите в сервис **IoT Core**.
  1. На панели слева выберите **Брокеры**.
  1. Нажмите кнопку **Создать брокер**.
  1. В блоке **Общая информация** укажите:

      * **Имя** брокера. Например, `my-broker`.
      * (Опционально) **Описание** — дополнительную информацию о брокере.
      * (Опционально) **Пароль**, если будете использовать его вместо сертификата для доступа к брокеру. Для создания пароля можно воспользоваться [генератором паролей](https://passwordsgenerator.net/).

          {% note info %}

          Сохраните пароль, он вам понадобится для [аутентификации](../../concepts/authorization.md).

          {% endnote %}

      * (Опционально) Для присвоения брокеру метки заполните поля **Ключ** и **Значение** и нажмите кнопку **Добавить метку**.

  1. (Опционально) Добавьте [сертификат](../certificates/create-certificates.md):

      * Чтобы добавить файл:

          1. Выберите способ `Файл`.
          1. Нажмите кнопку **Прикрепить файл**.
          1. Выберите файл с публичным ключом сертификата и нажмите кнопку **Открыть**.
          1. Нажмите кнопку **Добавить**.

      * Чтобы добавить текст:

          1. Выберите способ `Текст`.
          1. Вставьте публичный ключ сертификата в поле **Содержимое**.
          1. Нажмите кнопку **Добавить**.

  1. Нажмите кнопку **Создать**.

- CLI {#cli}

  Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).

  По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Создайте брокер:

      ```bash
      yc iot broker create --name <имя_брокера>
      ```

      Требования к названию брокера:

      * длина — от 3 до 63 символов;
      * может содержать строчные буквы латинского алфавита, цифры и дефисы;
      * первый символ — буква, последний — не дефис.

      Результат:

      ```text
      id: b91ki3851h**********
      folder_id: aoek49ghmk*********
      created_at: "2022-05-28T11:29:42.420Z"
      name: <имя_брокера>
      status: ACTIVE
      ```

  1. (Опционально) Присвойте брокеру пароль для аутентификации с помощью [логина и пароля](../../concepts/authorization.md#log-pass):

      ```bash
      yc iot broker password add --broker-name <имя_брокера>
      ```

      Команда предложит ввести пароль. Требования к паролю:

      * пароль должен содержать цифры, буквы в верхнем и нижнем регистре, специальные символы;
      * длина пароля — не менее 14 символов.

      Результат:

      ```text
      broker_id: b91ki3851h**********
      id: aoek49ghmk*********
      created_at: "2022-05-28T11:32:42.420Z"
      ```

  1. (Опционально) Добавьте брокеру сертификат для аутентификации с помощью [сертификатов](../../concepts/authorization.md#certs):

      ```bash
      yc iot broker certificate add \
         --broker-name <имя_брокера> \
         --certificate-file <сертификат>
      ```

      Где:

      * `--broker-name` — имя брокера;
      * `--certificate-file` — путь к публичному ключу сертификата, например `cert.pem`.

      Результат:

      ```text
      broker_id: b91ki3851h**********
      fingerprint: 1f21cf6d0183d****
      certificate_data: |
         -----BEGIN CERTIFICATE-----
         MIIEpDCCAow...
         -----END CERTIFICATE-----
      created_at: "2023-07-11T16:20:53.466370019Z"
      ```

- Terraform {#tf}

  [Terraform](https://www.terraform.io/) позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
  
  Terraform распространяется под лицензией [Business Source License](https://github.com/hashicorp/terraform/blob/main/LICENSE), а [провайдер Yandex Cloud для Terraform](https://github.com/yandex-cloud/terraform-provider-yandex) — под лицензией [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/).
  
  Подробная информация о ресурсах провайдера в документации на сайте [Terraform](https://www.terraform.io/docs/providers/yandex/index.html) или в [зеркале](../../../terraform/index.md).

  Если у вас еще нет Terraform, [установите его и настройте провайдер Yandex Cloud](../../../tutorials/infrastructure-management/terraform-quickstart.md#install-terraform).
  
  
  Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, [аутентифицируйтесь](../../../terraform/authentication.md) соответствующим способом.
   
  {% note info %}

  Чтобы добавить сертификаты брокеру, [подготовьте](../certificates/create-certificates.md) их заранее.

  {% endnote %}

  Чтобы создать брокер: 
     
  1. Опишите в конфигурационном файле параметры ресурса, который необходимо создать:

     * `yandex_iot_core_broker` — параметры брокера:
       * `name` — имя брокера;
       * `description` — описание брокера;
       * `labels` — метки брокера в формате `ключ:значение`;
       * `certificates` — список сертификатов брокера для аутентификации с помощью [сертификатов](../certificates/create-certificates.md).

      Пример структуры ресурса в конфигурационном файле:
      
      ```
      resource "yandex_iot_core_broker" "my_broker" {
        name        = "test-broker"
        description = "test broker for terraform provider documentation"
        labels = {
          test-label = "label-test"
        }

        certificates = [
          file("<путь_к_первому_файлу_с_сертификатом>"),
          file("<путь_ко_второму_файлу_с_сертификатом>")
        ]
      }

      output "yandex_iot_core_broker_my_broker" {
        value = "${yandex_iot_core_broker.my_broker.id}"
      }
      ```

      Подробнее о ресурсах, которые можно создать с помощью Terraform, в [документации провайдера](../../../terraform/resources/iot_core_broker.md).

  1. Проверьте корректность конфигурационных файлов.
      1. В командной строке перейдите в папку, где вы создали конфигурационный файл.
      1. Выполните проверку с помощью команды:

          ```
          terraform plan
          ```

      Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет. 

  1. Разверните облачные ресурсы.

      1. Если в конфигурации нет ошибок, выполните команду:

          ```
          terraform apply
          ```

      1. Подтвердите создание ресурсов.
      
          После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в [консоли управления](https://console.yandex.cloud) или с помощью команды [CLI](../../../cli/quickstart.md):

          ```bash
          yc iot broker list
          ```

- API {#api}

  Чтобы создать брокер, воспользуйтесь методом REST API [create](../../broker/api-ref/Broker/create.md) для ресурса [Broker](../../broker/api-ref/Broker/index.md) или вызовом gRPC API [BrokerService/Create](../../broker/api-ref/grpc/Broker/create.md).

{% endlist %}