[Документация Yandex Cloud](../../index.md) > [Yandex Virtual Private Cloud](../index.md) > [Пошаговые инструкции](index.md) > Сервисные подключения > Создать сервисное подключение

# Создать сервисное подключение


{% note info %}

В [регионе Казахстан](../../overview/concepts/region.md) доступна только [зона доступности](../../overview/concepts/geo-scope.md) `kz1-a`.

{% endnote %}


Для создания сервисного подключения необходима одна из следующих [ролей](../security/index.md#roles-list): 

* `vpc.privateEndpoints.editor`
* `vpc.privateEndpoints.admin`
* `vpc.privateAdmin`
* `vpc.admin`
* `admin`

Чтобы создать [сервисное подключение](../concepts/private-endpoint.md):

{% list tabs group=instructions %}

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

  1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в каталог, в котором вы хотите настроить сервисное подключение.
  1. [Перейдите](https://kz.console.yandex.cloud/link/vpc) в сервис **Virtual Private Cloud**.
  1. На панели слева выберите ![image](../../_assets/console-icons/globe.svg) **Сервисные подключения**.
  1. Нажмите кнопку **Создать подключение**.
  1. В поле **Имя** укажите название сервисного подключения. Требования к названию:
  
       * длина — от 3 до 63 символов;
       * может содержать строчные буквы латинского алфавита, цифры и дефисы;
       * первый символ — буква, последний — не дефис.
  
  1. (Опционально) В поле **Описание** добавьте описание.
  1. (Опционально) Добавьте [метки](../../storage/concepts/tags.md):
  
     1. Нажмите **Добавить метку**.
     1. Введите метку в формате `ключ: значение`.
     1. Нажмите **Enter**.
  
  1. В блоке **Сетевые настройки**:
  
     1. В поле **Сеть** укажите сеть, для которой хотите создать сервисное подключение.
     1. Чтобы назначить случайный приватный IP-адрес, в поле **Адрес** выберите `Автоматически`.
     1. Чтобы зарезервировать список адресов:
     
        1. В поле **IP-адрес** выберите `Список`.
        1. Нажмите **Зарезервировать**.
        1. В открывшемся окне:
  
           * Укажите имя и описание IP-адреса.
           * Выберите [подсеть](../concepts/network.md#subnet).
           * Назначьте внутренний IPv4-адрес, например `172.16.0.3`.
           * Активируйте опцию **Защита от удаления**, чтобы адрес нельзя было удалить, пока вы не выключите защиту.
           * Добавьте метки.
           * Нажмите **Создать**.
           * Повторите шаги для резервирования дополнительных IP-адресов.
  
     1. В поле **Сервис** выберите **Object Storage**.
     1. (Опционально) Активируйте опцию **Создать основную DNS-запись**, чтобы при включении создать дополнительную DNS-запись A-типа для публичного [FQDN сервиса](../concepts/address.md#fqdn). В ней будет указан внутренний IP-адрес, выделенный для сервисного подключения.
  
        В зависимости от того, применен ли параметр, будут автоматически созданы следующие ресурсные записи для доступа в Object Storage:
        * параметр не используется:
        
          Имя | Тип | Значение
          --- | --- | ---
          storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
          *.storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
        
        * параметр используется:
        
          Имя | Тип | Значение
          --- | --- | ---
          storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
          *.storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
          storage.yandexcloud.kz | A | <внутренний_IP-адрес_сервисного_подключения>
          *.storage.yandexcloud.kz | A | <внутренний_IP-адрес_сервисного_подключения>
  
  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. Посмотрите описание команды CLI для создания сервисного подключения:
  
      ```bash
      yc vpc private-endpoint create --help
      ```
  
  1. Создайте сервисное подключение к Object Storage в каталоге по умолчанию:
  
      ```bash
      yc vpc private-endpoint create \
        --name <имя_сервисного_подключения> \
        --description "<описание_сервисного_подключения>" \
        --network-name <имя_сети> \
        --service-name yandex.cloud.storage 
      ```
  
      Где:
  
      * `--name` — (опционально) имя сервисного подключения.
      * `--description` — (опционально) описание сервисного подключения.
      * `--network-name` — имя [облачной сети](../concepts/network.md#network), в которой будет создано сервисное подключение. Также вы можете использовать [идентификатор сети](network-get-info.md) в параметре `--network-id`.
      * `--service-name` — [тип сервисного подключения](../concepts/private-endpoint.md#pe-services). В данном примере это `yandex.cloud.storage` — Object Storage.
  
      При создании сервисного подключения можно использовать дополнительные параметры:
  
      * `--address-spec` — (опционально) параметры в формате `ключ=значение` для внутреннего IP-адреса, который будет назначен сервисному подключению:
        * `address` — (опционально) внутренний IP-адрес для сервисного подключения. Если IP-адрес не указан, он будет назначен случайно из диапазона указанной подсети.
        * `subnet-id` — (опционально) [идентификатор подсети](subnet-get-info.md), из которой будет взят IP-адрес для сервисного подключения. Если подсеть не указана, внутренний IP-адрес будет назначен случайно из диапазона одной из подсетей облачной сети.
  
          {% note info %}
  
          Чтобы создать сервисное подключение, в вашей сети должна быть хотя бы одна подсеть.
  
          {% endnote %}
  
      * `--private-dns-records-enabled` — (опционально) параметр для создания дополнительных [ресурсных записей](../../dns/concepts/resource-record.md) в DNS для переопределения публичного FQDN сервиса, к которому создается подключение.
  
        В зависимости от того, применен ли параметр, будут автоматически созданы следующие ресурсные записи для доступа в Object Storage:
        * параметр не используется:
        
          Имя | Тип | Значение
          --- | --- | ---
          storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
          *.storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
        
        * параметр используется:
        
          Имя | Тип | Значение
          --- | --- | ---
          storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
          *.storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
          storage.yandexcloud.kz | A | <внутренний_IP-адрес_сервисного_подключения>
          *.storage.yandexcloud.kz | A | <внутренний_IP-адрес_сервисного_подключения>
  
  1. Проверьте, что сервисное подключение создалось:
  
      ```bash
      yc vpc private-endpoint list
      ```
      
      Результат выполнения команды:
  
      ```text
      +----------------------+-------------+--------------------------------+
      |          ID          |    NAME     |          DESCRIPTION           |
      +----------------------+-------------+--------------------------------+
      | enpd7rq************* | s3-vpc-link | Private Endpoint to the Object |
      |                      |             | Storage                        |
      +----------------------+-------------+--------------------------------+
      ```

- 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) соответствующим способом.
  
  1. Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
  
     ```hcl
     resource "yandex_vpc_private_endpoint" "my-vpc-endpoint" {
       name        = "<имя_сервисного_подключения>"
       description = "<описание_сервисного_подключения>"
       network_id  = "<идентификатор_облачной_сети>"
       service_type = "yandex.cloud.storage"
       
       # Создание дополнительных ресурсных DNS-записей 
       dns_options {
         private_dns_records_enabled = <true_или_false>
       }
  
       endpoint_address {
         subnet_id = "<идентификатор_подсети>"
       }
     }
     ```
  
     Где:
     * `name` — имя сервисного подключения. Необязательный параметр.
     * `description` — описание сервисного подключения. Необязательный параметр.
     * `network_id` — имя [облачной сети](../concepts/network.md#network), в которой будет создано сервисное подключение. Обязательный параметр.
     * `service_type` — [тип сервисного подключения](../concepts/private-endpoint.md#pe-services). В данном примере `yandex.cloud.storage` — Object Storage.
     * `dns_options` — блок с параметрами создания DNS-записей:
         * `private_dns_records_enabled` — параметр для создания дополнительных ресурсных записей в DNS для переопределения публичного FQDN сервиса, к которому создается подключение. Необязательный параметр.
  
             В зависимости от того, применен ли параметр, будут автоматически созданы следующие ресурсные записи для доступа в Object Storage:
             * параметр не используется:
             
               Имя | Тип | Значение
               --- | --- | ---
               storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
               *.storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
             
             * параметр используется:
             
               Имя | Тип | Значение
               --- | --- | ---
               storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
               *.storage.pe.yandexcloud.net | A | <внутренний_IP-адрес_сервисного_подключения>
               storage.yandexcloud.kz | A | <внутренний_IP-адрес_сервисного_подключения>
               *.storage.yandexcloud.kz | A | <внутренний_IP-адрес_сервисного_подключения>
  
     * `endpoint_address` — блок с параметрами внутреннего IP-адреса сервисного подключения:
         * `subnet_id` — идентификатор подсети, из которой будет взят IP-адрес для сервисного подключения. Если подсеть не указана, внутренний IP-адрес будет назначен случайным образом из диапазона одной из подсетей облачной сети. Необязательный параметр.
  
        {% note info %}
  
        Чтобы создать сервисное подключение, в вашей сети должна быть хотя бы одна подсеть.
  
        {% endnote %}
  
     Подробнее о параметрах ресурса `yandex_vpc_private_endpoint` в [документации провайдера](../../terraform/resources/vpc_private_endpoint.md).
  
  1. Создайте ресурсы:
  
     1. В терминале перейдите в директорию с конфигурационным файлом.
     1. Проверьте корректность конфигурации с помощью команды:
     
        ```bash
        terraform validate
        ```
     
        Если конфигурация является корректной, появится сообщение:
     
        ```bash
        Success! The configuration is valid.
        ```
     
     1. Выполните команду:
     
        ```bash
        terraform plan
        ```
     
        В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
     1. Примените изменения конфигурации:
     
        ```bash
        terraform apply
        ```
     
     1. Подтвердите изменения: введите в терминале слово `yes` и нажмите **Enter**.
  
     Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в [консоли управления](https://kz.console.yandex.cloud) или с помощью команды [CLI](../../cli/index.md):
  
     ```bash
     yc vpc private-endpoint list
     ```

- API {#api}

  Чтобы создать [сервисное подключение](../concepts/private-endpoint.md), воспользуйтесь методом REST API [create](../privatelink/api-ref/PrivateEndpoint/create.md) для ресурса [PrivateEndpoint](../privatelink/api-ref/PrivateEndpoint/index.md) или вызовом gRPC API [PrivateEndpointService/Create](../privatelink/api-ref/grpc/PrivateEndpoint/create.md).

{% endlist %}

#### Полезные ссылки {#see-also}

* [Получить информацию о сервисном подключении](private-endpoint-get-info.md)
* [Удалить сервисное подключение](private-endpoint-delete.md)