Что такое Кэш Azure для Redis с Приватный канал Azure?

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

Частная конечная точка Azure — это сетевой интерфейс, который защищенно и надежно подключается к Кэшу Azure для Redis через Приватный канал Azure.

Вы можете ограничить общий доступ к частной конечной точке кэша, отключив флаг PublicNetworkAccess.

Внимание

Флаг publicNetworkAccess по умолчанию имеет значение Disabled. Вы можете задать любое из этих значений Disabled или Enabled. Если задано значение «Включено», этот флажок разрешает доступ к кэшу как для общедоступной, так и для частной конечной точки. Если задано значение Disabled, то доступ разрешен только для частной конечной точки. Ни корпоративный, ни корпоративный уровень Flash не поддерживает publicNetworkAccess флаг. Чтобы узнать, как изменить это значение, ознакомьтесь с вопросами и ответами.

Внимание

Частная конечная точка поддерживается на уровнях кэша "Базовый", "Стандартный", "Премиум" и "Корпоративный". Вместо виртуальных сетей рекомендуется использовать частные конечные точки. Частные конечные точки легко настроить или удалить, они поддерживаются на всех уровнях и могут одновременно подключать кэш к нескольким разным виртуальным сетям.

При использовании уровня "Базовый" при удалении и повторном создании частной конечной точки может возникнуть потеря данных.

Область доступности

Уровень "Базовый", "Стандартный" и "Премиум" Enterprise, Enterprise Flash
На месте Да Да

Необходимые компоненты

Внимание

В настоящее время консоль redis на основе портала не поддерживается приватным каналом.

Внимание

При использовании приватного канала нельзя экспортировать или импортировать данные в учетную запись хранения с включенным брандмауэром, если вы не используете кэш уровня "Премиум" с управляемым удостоверением для проверки подлинности в учетной записи хранения. Дополнительные сведения см. в статье "Что делать, если в учетной записи хранения включен брандмауэр?

Как создать частную конечную точку с новым экземпляром Кэша Azure для Redis

В этом разделе описано, как создать новый экземпляр Кэш Azure для Redis с частной конечной точкой.

Создание виртуальной сети для нового кэша

  1. Войдите на портал Azure и выберите Создать ресурс.

    Выберите Создать ресурс.

  2. На новой странице выберите Сеть, а затем Виртуальная сеть.

  3. Нажмите Добавить, чтобы создать виртуальную сеть.

  4. В подменю Создать виртуальную сеть введите или выберите следующую информацию на вкладке Основные сведения:

    Параметр Предлагаемое значение Description
    Подписка Раскройте список и выберите нужную подписку. Подписка, в рамках которой вы хотите создать виртуальную сеть.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Название группы ресурсов, в которой будут созданы виртуальная сеть и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    Имя Введите имя виртуальной сети. Оно должно начинаться с буквы или цифры, заканчиваться буквой, цифрой или символом подчеркивания и может содержать только буквы, цифры, символы подчеркивания, точки и дефисы.
    Регион Откройте выпадающий список и выберите регион. Выберите регион рядом с другими службами, используюющими виртуальную сеть.
  5. Откройте вкладку IP-адрес или нажмите кнопку Далее: IP-адреса внизу страницы.

  6. На вкладке IP-адреса в поле Пространство IPv4-адресов укажите один или нескольких префиксов адресов в нотации CIDR (например, 192.168.1.0/24).

  7. В разделе Имя подсети выберите По умолчанию, чтобы изменить свойства подсети.

  8. В области Изменение подсети укажите Имя подсети, а также Диапазон адресов подсети. Диапазон адресов подсети должен быть в нотации CIDR (например, 192.168.1.0/24). Он должен содержаться в адресном пространстве виртуальной сети.

  9. Выберите Сохранить.

  10. Перейдите на вкладку Просмотр и создание или нажмите кнопку Просмотр и создание.

  11. Убедитесь, что все сведения указаны правильно, и нажмите кнопку Создать, чтобы создать виртуальную сеть.

Как создать экземпляр Кэша Azure для Redis с частной конечной точкой

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

  1. Вернитесь на домашнюю страницу портала Azure или откройте боковое меню и выберите Создать ресурс.

  2. На странице Создание выберите Базы данных, а затем Кэш Azure для Redis.

    Выберите

  3. На странице Новый кэш Redis настройте параметры для нового кэша.

    Параметр Предлагаемое значение Description
    DNS-имя Введите глобально уникальное имя. Имя кэша должно быть строкой длиной от 1 до 63 символов. Строка может содержать только цифры, буквы и дефисы. Имя должно начинаться и заканчиваться цифрой или буквой и не может содержать более одного дефиса подряд. Имя узла экземпляра кэша <DNS-имя.redis.cache.windows.net>.
    Подписка Раскройте список и выберите нужную подписку. В этой подписке будет создан новый экземпляр кэша Redis для Azure.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Имя группы ресурсов, в которой будут созданы кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    Местонахождение Откройте список и выберите расположение. Выберите регион рядом с другими службами, используюющими кэш.
    Ценовая категория Откройте список и выберите ценовую категорию. Ценовая категория определяет размер, производительность и функции, доступные для кэша. Дополнительные сведения см. в обзоре предложения "Кэш Redis для Azure".
  4. Выберите вкладку Сети или нажмите кнопку Сети в нижней части страницы.

  5. На вкладке Сеть выберите в качестве метода подключения пункт Частная конечная точка.

  6. Нажмите кнопку Добавить, чтобы создать частную конечную точку.

    Добавление частной конечной точки на вкладке

  7. На странице Создание частной конечной точки настройте параметры частной конечной точки в виртуальной сети и подсети, созданной в последнем разделе, и нажмите кнопку ОК.

  8. Выберите вкладку Далее: дополнительно или нажмите в нижней части страницы кнопку Далее: дополнительно.

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

  10. На вкладке Дополнительно для экземпляра кэша уровня "Премиум" настройте параметры для портов, отличных от TLS, а также кластеризацию и сохраняемость данных.

  11. Выберите вкладку Next: Tags (Далее: теги) или нажмите в нижней части страницы кнопку Next: Tags (Далее: теги).

  12. При необходимости на вкладке Теги введите имя и значение, чтобы классифицировать ресурс.

  13. Выберите Review + create (Просмотреть и создать). Вы будете перенаправлены на вкладку Проверка и создание, где Azure проверит вашу конфигурацию.

  14. Когда отобразится сообщение "Проверка пройдена" зеленого цвета, выберите Создать.

На создание кэша требуется некоторое время. Вы можете отслеживать ход выполнения на странице обзорных сведений кэша Azure для Redis. Когда Состояние примет значение Running (Выполняется), кэш будет готов к использованию.

Внимание

Флаг publicNetworkAccess по умолчанию имеет значение Disabled. Вы можете задать любое из этих значений Disabled или Enabled. Если задано значение Enabled, этот флажок разрешает доступ к кэшу как для общедоступной, так и для частной конечной точки. Если задано значение Disabled, то доступ разрешен только для частной конечной точки. Чтобы узнать, как изменить это значение, ознакомьтесь с вопросами и ответами.

Как создать частную конечную точку для существующего экземпляра Кэша Azure для Redis

В этом разделе описано, как добавить частную конечную точку в существующий экземпляр Кэш Azure для Redis.

Создание виртуальной сети для существующего кэша

Чтобы создать виртуальную сеть, выполните следующие действия:

  1. Войдите на портал Azure и выберите Создать ресурс.

  2. На новой странице выберите Сеть, а затем Виртуальная сеть.

  3. Нажмите Добавить, чтобы создать виртуальную сеть.

  4. В подменю Создать виртуальную сеть введите или выберите следующую информацию на вкладке Основные сведения:

    Параметр Предлагаемое значение Description
    Подписка Раскройте список и выберите нужную подписку. Подписка, в рамках которой вы хотите создать виртуальную сеть.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Название группы ресурсов, в которой будут созданы виртуальная сеть и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    Имя Введите имя виртуальной сети. Оно должно начинаться с буквы или цифры, заканчиваться буквой, цифрой или символом подчеркивания и может содержать только буквы, цифры, символы подчеркивания, точки и дефисы.
    Регион Откройте выпадающий список и выберите регион. Выберите регион рядом с другими службами, используюющими виртуальную сеть.
  5. Откройте вкладку IP-адрес или нажмите кнопку Далее: IP-адреса внизу страницы.

  6. На вкладке IP-адреса в поле Пространство IPv4-адресов укажите один или нескольких префиксов адресов в нотации CIDR (например, 192.168.1.0/24).

  7. В разделе Имя подсети выберите По умолчанию, чтобы изменить свойства подсети.

  8. В области Изменение подсети укажите Имя подсети, а также Диапазон адресов подсети. Диапазон адресов подсети должен быть в нотации CIDR (например, 192.168.1.0/24). Он должен содержаться в адресном пространстве виртуальной сети.

  9. Выберите Сохранить.

  10. Перейдите на вкладку Просмотр и создание или нажмите кнопку Просмотр и создание.

  11. Убедитесь, что все сведения указаны правильно, и нажмите кнопку Создать, чтобы создать виртуальную сеть.

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

Чтобы создать частную конечную точку, выполните следующие действия.

  1. На портале Azure выполните поиск Кэш Azure для Redis. Затем нажмите клавишу ВВОД или выберите эту службу из результатов поиска.

    Поиск Кэша Azure для Redis.

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

  3. В левой части экрана выберите Частная конечная точка.

  4. Нажмите кнопку Частная конечная точка, чтобы создать частную конечную точку.

    Добавление частной конечной точки.

  5. На странице Создание частной конечной точки настройте параметры частной конечной точки.

    Параметр Предлагаемое значение Description
    Подписка Раскройте список и выберите нужную подписку. Подписка, в которой нужно создать частную конечную точку.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Название группы ресурсов, в которой будут созданы частная конечная точка и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    Имя Введите имя частной конечной точки. Оно должно начинаться с буквы или цифры, заканчиваться буквой, цифрой или символом подчеркивания и может содержать только буквы, цифры, символы подчеркивания, точки и дефисы.
    Регион Откройте выпадающий список и выберите регион. Выберите регион рядом с другими службами, используюющими частную конечную точку.
  6. Нажмите кнопку Далее: ресурс в нижней части страницы.

  7. На вкладке Ресурс выберите подписку, тип ресурса Microsoft.Cache/Redis, а затем кэш, к которому нужно подключить частную конечную точку.

  8. Теперь нажмите кнопку Далее: конфигурация в нижней части страницы.

  9. Нажмите кнопку Далее: Виртуальная сеть в нижней части страницы.

  10. На вкладке Конфигурация выберите виртуальную сеть и подсеть, созданные в предыдущем разделе.

  11. На вкладке Виртуальная сеть выберите виртуальную сеть и подсеть, созданные в предыдущем разделе.

  12. Нажмите кнопку Далее: тэги в нижней части страницы.

  13. При необходимости на вкладке Теги введите имя и значение, чтобы классифицировать ресурс.

  14. Выберите Review + create (Просмотреть и создать). Вы будете перенаправлены на вкладку Проверка и создание, где Azure проверит вашу конфигурацию.

  15. Когда отобразится сообщение Проверка пройдена зеленого цвета, выберите Создать.

Внимание

Флаг publicNetworkAccess по умолчанию имеет значение Disabled. Вы можете задать любое из этих значений Disabled или Enabled. Если задано значение «Включено», этот флажок разрешает доступ к кэшу как для общедоступной, так и для частной конечной точки. Если задано значение Disabled, то доступ разрешен только для частной конечной точки. Чтобы узнать, как изменить это значение, ознакомьтесь с вопросами и ответами.

Создание частной конечной точки с помощью Azure PowerShell

Выполните следующий сценарий PowerShell, чтобы создать частную конечную точку с именем MyPrivateEndpoint для существующего экземпляра кэша Azure для Redis. Замените значения переменных на значения для вашей среды.


$SubscriptionId = "<your Azure subscription ID>"
# Resource group where the Azure Cache for Redis instance and virtual network resources are located
$ResourceGroupName = "myResourceGroup"
# Name of the Azure Cache for Redis instance
$redisCacheName = "mycacheInstance"

# Name of the existing virtual network
$VNetName = "myVnet"
# Name of the target subnet in the virtual network
$SubnetName = "mySubnet"
# Name of the private endpoint to create
$PrivateEndpointName = "MyPrivateEndpoint"
# Location where the private endpoint can be created. The private endpoint should be created in the same location where your subnet or the virtual network exists
$Location = "westcentralus"

$redisCacheResourceId = "/subscriptions/$($SubscriptionId)/resourceGroups/$($ResourceGroupName)/providers/Microsoft.Cache/Redis/$($redisCacheName)"

$privateEndpointConnection = New-AzPrivateLinkServiceConnection -Name "myConnectionPS" -PrivateLinkServiceId $redisCacheResourceId -GroupId "redisCache"
 
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $ResourceGroupName -Name $VNetName  
 
$subnet = $virtualNetwork | Select -ExpandProperty subnets | Where-Object  {$_.Name -eq $SubnetName}  
 
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $ResourceGroupName -Name $PrivateEndpointName -Location "westcentralus" -Subnet  $subnet -PrivateLinkServiceConnection $privateEndpointConnection

Получение частной конечной точки с помощью Azure PowerShell

Получение сведений о частной конечной точке, используйте следующую команду PowerShell:

Get-AzPrivateEndpoint -Name $PrivateEndpointName -ResourceGroupName $ResourceGroupName

Удаление частной конечной точки с помощью Azure PowerShell

Чтобы удалить частную конечную точку, используйте следующую команду PowerShell:

Remove-AzPrivateEndpoint -Name $PrivateEndpointName -ResourceGroupName $ResourceGroupName

Создание частной конечной точки с помощью Azure CLI

Выполните следующий сценарий Azure CLI, чтобы создать частную конечную точку с именем myPrivateEndpoint для существующего экземпляра кэша Azure для Redis. Замените значения переменных на значения для вашей среды.

# Resource group where the Azure Cache for Redis and virtual network resources are located
ResourceGroupName="myResourceGroup"

# Subscription ID where the Azure Cache for Redis and virtual network resources are located
SubscriptionId="<your Azure subscription ID>"

# Name of the existing Azure Cache for Redis instance
redisCacheName="mycacheInstance"

# Name of the virtual network to create
VNetName="myVnet"

# Name of the subnet to create
SubnetName="mySubnet"

# Name of the private endpoint to create
PrivateEndpointName="myPrivateEndpoint"

# Name of the private endpoint connection to create
PrivateConnectionName="myConnection"

az network vnet create \
    --name $VNetName \
    --resource-group $ResourceGroupName \
    --subnet-name $SubnetName

az network vnet subnet update \
    --name $SubnetName \
    --resource-group $ResourceGroupName \
    --vnet-name $VNetName \
    --disable-private-endpoint-network-policies true

az network private-endpoint create \
    --name $PrivateEndpointName \
    --resource-group $ResourceGroupName \
    --vnet-name $VNetName  \
    --subnet $SubnetName \
    --private-connection-resource-id "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Cache/Redis/$redisCacheName" \
    --group-ids "redisCache" \
    --connection-name $PrivateConnectionName

Получение частной конечной точки с помощью Azure CLI

Получение сведений о частной конечной точке, используйте следующую команду CLI:

az network private-endpoint show --name MyPrivateEndpoint --resource-group MyResourceGroup

Удаление частной конечной точки с помощью Azure CLI

Чтобы удалить частную конечную точку, используйте следующую команду CLI:

az network private-endpoint delete --name MyPrivateEndpoint --resource-group MyResourceGroup

Вопросы и ответы

Как подключиться к кэшу с помощью частной конечной точки?

Для кэшей уровня "Базовый", "Стандартный" и "Премиум" приложение должно подключаться к <cachename>.redis.cache.windows.net порту 6380. В подписке автоматически создается частная зона DNS с именем *.privatelink.redis.cache.windows.net. Частная зона DNS имеет критически важное значение для установления подключения по протоколу TLS к частной конечной точке. Рекомендуется избегать использования <cachename>.privatelink.redis.cache.windows.net в конфигурации или строке подключения.

Для кэшей уровня Enterprise и Enterprise Flash приложение должно подключаться к <cachename>.<region>.redisenterprise.cache.azure.net порту 10000.

Дополнительные сведения см. в статье Настройка зоны DNS служб Azure.

Почему не получается подключиться к частной конечной точке?

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

  • Для кэшей уровня "Базовый", "Стандартный" и "Премиум" можно использовать только 100 частных ссылок.

  • В кэшах уровня "Премиум" с помощью кластеризация можно использовать одну приватную ссылку.

  • Кэши уровня Enterprise и Enterprise Flash ограничены 84 частными ссылками.

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

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

Какие функции не поддерживаются частными конечными точками?

  • Попытка подключиться из консоли портал Azure — это неподдерживаемый сценарий, в котором отображается сбой подключения.

  • Частные ссылки нельзя добавлять в кэши, которые уже используют пассивные гео-реплика в уровне "Премиум". Чтобы добавить приватный канал в геореплицированный кэш, выполните следующие действия: 1. Разорвите связь с георепликацией. 2. Добавьте Приватный канал. 3. Повторно установите связь с георепликацией. (Кэши уровня предприятия, использующие активные гео-реплика tion, не имеют этого ограничения.)

Как проверить, правильно ли настроена частная конечная точка?

Перейдите в раздел Общие сведения в меню «Ресурс» на портале. Вы увидите имя узла для кэша в рабочей области. Выполните команду nslookup <hostname> в виртуальной сети, связанной с частной конечной точкой, чтобы убедиться, что команда разрешается в частный IP-адрес кэша.

Параметры DNS частной конечной точки на портале Azure.

Как изменить доступ к частной конечной точке из публичной сети?

Флаг publicNetworkAccess по умолчанию имеет значение Disabled. Если задано значение Enabled, этот флажок разрешает доступ к кэшу как для общедоступной, так и для частной конечной точки. Если задано значение Disabled, то доступ разрешен только для частной конечной точки. Можно задать значение Disabled или Enabled на портале Azure или с помощью запроса PATCH RESTful API.

Чтобы изменить значение в портал Azure, выполните следующие действия.

  1. На портале Azure выполните поиск Кэш Azure для Redis. Затем нажмите клавишу ВВОД или выберите эту службу из результатов поиска.

  2. Выберите экземпляр кэша, для которого нужно изменить доступ к общедоступной сети.

  3. В левой части экрана выберите Частная конечная точка.

  4. Нажмите кнопку Enable public network access (Включить доступ к общедоступной сети).

Можно также изменить значение с помощью запроса PATCH API RESTful. Например, используйте следующий код для кэша уровня "Базовый", "Стандартный" или "Премиум" и измените значение, чтобы отразить нужный флаг для кэша.

PATCH  https://management.azure.com/subscriptions/{subscription}/resourceGroups/{resourcegroup}/providers/Microsoft.Cache/Redis/{cache}?api-version=2020-06-01
{    "properties": {
       "publicNetworkAccess":"Disabled"
   }
}

Дополнительные сведения см. в разделе Redis — Update.

Различные методики переноса внедренных кэшей виртуальных сетей в кэши Приватного канала описаны в нашем руководстве по миграции.

Как использовать несколько конечных точек в разных виртуальных сетях?

Для этого необходимо вручную настроить частные зоны DNS для нескольких виртуальных сетей перед тем, как создавать частные конечные точки. Дополнительные сведения см. в статье Конфигурация DNS для частной конечной точки Azure.

Что произойдет, если удалить все частные конечные точки в кэше?

Экземпляр кэша может стать недоступным, пока вы явно не включите доступ к общедоступной сети или не добавите другую частную конечную точку. Флаг publicNetworkAccess можно изменить на портале Azure или с помощью запроса PATCH RESTful API. Чтобы узнать, как изменить это значение, ознакомьтесь с вопросами и ответами.

Включены ли группы безопасности сети (NSG) для частных конечных точек?

Нет, они отключены для частных конечных точек. Несмотря на то, что подсети, содержащие частную конечную точку, могут иметь связанные NSG, правила не будут действовать для трафика, обрабатываемого частной конечной точкой. Для развертывания частных конечных точек в подсети необходимо отключить принудительное применение политик сети. NSG по-прежнему действуют по отношению к другим рабочим нагрузкам, размещенным в той же подсети. Маршруты в любой подсети клиента будут использовать префикс /32, а для изменения маршрутизации по умолчанию нужен аналогичный определяемый пользователем маршрут.

Управление трафиком с помощью правил NSG для исходящего трафика на клиентах источника. Разверните отдельные маршруты с префиксом /32 для переопределения маршрутов частных конечных точек. Журналы потоков NSG и данные мониторинга для исходящих подключений по-прежнему поддерживаются и могут использоваться.

Если мой экземпляр частной конечной точки находится не в моей виртуальной сети, то как он с ней связан?

Экземпляр связан только с вашей виртуальной сетью. Так как он не находится в ней, для зависимых конечных точек не нужно изменять правила NSG.