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

# Настроить защиту от удаления

Чтобы предотвратить случайное удаление статического публичного IP-адреса, [включите для него защиту от удаления](#enable-deletion-protection).

Если защита вам больше не нужна, вы можете [отключить ее](#disable).

## Включить защиту от удаления {#enable-deletion-protection}

{% list tabs %}

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

   1. В [консоли управления](https://kz.console.yandex.cloud) перейдите на страницу каталога, в котором зарезервирован адрес.
   1. [Перейдите](https://kz.console.yandex.cloud/link/vpc) в сервис **Virtual Private Cloud**.
   1. На панели слева выберите ![image](../../_assets/console-icons/map-pin.svg) **Публичные IP-адреса**.
   1. В строке с нужным IP-адресом нажмите ![image](../../_assets/console-icons/ellipsis.svg) и выберите **Включить защиту от удаления**.
   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 address update --help
        ```

    1. Получите список адресов в каталоге:

        ```bash
        yc vpc address list
        ```

        Результат:

        ```text
        +----------------------+------+---------------+----------+------+
        |          ID          | NAME |    ADDRESS    | RESERVED | USED |
        +----------------------+------+---------------+----------+------+
        | e2l46k8conff******** |      | 84.201.177.41 | false    | true |
        +----------------------+------+---------------+----------+------+
        ```

    1. Включите защиту от удаления:

        ```bash
        yc vpc address update --deletion-protection <имя_или_идентификатор_адреса>
        ```

- 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. Откройте актуальный конфигурационный файл с описанием инфраструктуры.

    1. Добавьте к описанию адреса параметр `deletion_protection`:


       ```hcl
       resource "yandex_vpc_address" "addr" {
         ...
         deletion_protection = true
         ...
       }
       ```

    1. Проверьте корректность настроек.

       1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
       1. Выполните команду:
       
          ```bash
          terraform validate
          ```
       
          Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    1. Примените изменения.

       1. Выполните команду для просмотра планируемых изменений:
       
          ```bash
          terraform plan
          ```
       
          Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
       
       1. Если вас устраивают планируемые изменения, внесите их:
          1. Выполните команду:
       
             ```bash
             terraform apply
             ```
       
          1. Подтвердите изменение ресурсов.
          1. Дождитесь завершения операции.

- API {#api}

  Чтобы включить защиту IP-адреса от удаления, воспользуйтесь методом REST API [update](../api-ref/Address/update.md) для ресурса [Address](../api-ref/Address/index.md) или вызовом gRPC API [AddressService/Update](../api-ref/grpc/Address/update.md) и передайте в запросе:

  * Идентификатор адреса, для которого нужно отключить защиту, в параметре `addressId`.

    Чтобы узнать идентификатор адреса, воспользуйтесь методом REST API [list](../api-ref/Address/list.md) для ресурса [Address](../api-ref/Address/index.md) или вызовом gRPC API [AddressService/List](../api-ref/grpc/Address/list.md) и передайте в запросе идентификатор каталога в параметре `folderId` для REST API или `folder_id` для gRPC API.

    О том, как узнать идентификатор каталога, читайте в разделе [Получение идентификатора каталога](../../resource-manager/operations/folder/get-id.md).

  * Имя параметра `deletionProtection` в параметре `updateMask`.
  * Значение `true` в параметре `deletionProtection`.

  {% note warning %}
  
  Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре `updateMask` (одной строкой через запятую).
  
  {% endnote %}

{% endlist %}

## Отключить защиту от удаления {#disable}

{% list tabs %}

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

   1. В [консоли управления](https://kz.console.yandex.cloud) перейдите на страницу каталога, в котором зарезервирован адрес.
   1. [Перейдите](https://kz.console.yandex.cloud/link/vpc) в сервис **Virtual Private Cloud**.
   1. На панели слева выберите ![image](../../_assets/console-icons/map-pin.svg) **Публичные IP-адреса**.
   1. В строке с нужным IP-адресом нажмите ![image](../../_assets/console-icons/ellipsis.svg) и выберите **Выключить защиту от удаления**.
   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 address update --help
      ```

  1. Получите список адресов в каталоге:

      ```bash
      yc vpc address list
      ```

      Результат:

      ```text
      +----------------------+------+---------------+----------+------+
      |          ID          | NAME |    ADDRESS    | RESERVED | USED |
      +----------------------+------+---------------+----------+------+
      | e2l46k8conff******** |      | 84.201.177.41 | false    | true |
      +----------------------+------+---------------+----------+------+
      ```

  1. Отключите защиту от удаления:

      ```bash
      yc vpc address update --deletion-protection=false <имя_или_идентификатор_адреса>
      ```

- 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. Откройте актуальный конфигурационный файл с описанием инфраструктуры.

    1. В описании адреса измените значение параметра `deletion_protection` на `false`:


       ```hcl
       resource "yandex_vpc_address" "addr" {
         ...
         deletion_protection = false
         ...
       }
       ```

    1. Проверьте корректность настроек.

       1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
       1. Выполните команду:
       
          ```bash
          terraform validate
          ```
       
          Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    1. Примените изменения.

       1. Выполните команду для просмотра планируемых изменений:
       
          ```bash
          terraform plan
          ```
       
          Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
       
       1. Если вас устраивают планируемые изменения, внесите их:
          1. Выполните команду:
       
             ```bash
             terraform apply
             ```
       
          1. Подтвердите изменение ресурсов.
          1. Дождитесь завершения операции.

- API {#api}

  Чтобы отключить защиту IP-адреса от удаления, воспользуйтесь методом REST API [update](../api-ref/Address/update.md) для ресурса [Address](../api-ref/Address/index.md) или вызовом gRPC API [AddressService/Update](../api-ref/grpc/Address/update.md) и передайте в запросе:

  * Идентификатор адреса, для которого нужно отключить защиту, в параметре `addressId`.

    Чтобы узнать идентификатор адреса, воспользуйтесь методом REST API [list](../api-ref/Address/list.md) для ресурса [Address](../api-ref/Address/index.md) или вызовом gRPC API [AddressService/List](../api-ref/grpc/Address/list.md) и передайте в запросе идентификатор каталога в параметре `folderId` для REST API или `folder_id` для gRPC API.

    О том, как узнать идентификатор каталога, читайте в разделе [Получение идентификатора каталога](../../resource-manager/operations/folder/get-id.md).

  * Имя параметра `deletionProtection` в параметре `updateMask`.
  * Значение `false` в параметре `deletionProtection`.

  {% note warning %}
  
  Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре `updateMask` (одной строкой через запятую).
  
  {% endnote %}

{% endlist %}