Поделиться через


Краткое руководство. Использование кэшей Redis Azure в платформа .NET Framework

Из этого краткого руководства вы узнаете, как реализовать кэш Azure для Redis в приложении .NET Framework для обеспечения доступа к защищенному выделенному кэшу, к которому может обращаться любое приложение в Azure. Вы будете использовать клиент StackExchange.Redis с кодом C# в консольном приложении .NET.

Переход к коду на GitHub

Клонируйте репозиторий из Azure-Samples/azure-cache-redis-samples на GitHub.

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

Создание экземпляра Управляемого Redis (предварительная версия) Azure

  1. Чтобы создать экземпляр Управляемого Redis (предварительная версия) Azure, войдите в портал Azure и выберите "Создать ресурс".

  2. На новой странице в поле поиска введите Кэш Azure для Redis.

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

    Параметр Выберите значение Description
    Подписка Раскройте список и выберите нужную подписку. Подписка, в которой создается новый экземпляр Управляемого Redis Azure.
    Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Имя группы ресурсов, в которой будут созданы кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе.
    DNS-имя Введите уникальное в пределах региона имя. Имя кэша должно быть строкой от 1 до 63 символов при сочетании с именем региона кэша, содержащим только цифры, буквы или дефисы. (Если имя кэша меньше 45 символов, оно должно работать во всех доступных регионах.) Имя должно начинаться и заканчиваться числом или буквой и не может содержать последовательные дефисы. Имя \<DNS name\>.\<Azure region\>.redis.azure.netузла экземпляра кэша .
    Местонахождение Откройте список и выберите расположение. Управляемый Redis azure доступен в выбранных регионах Azure.
    Тип кэша В раскрывающемся списке выберите уровень производительности и размер кэша. Уровень определяет производительность экземпляра Redis, а размер кэша определяет память, доступную для хранения данных. Рекомендации по выбору подходящего уровня производительности см. в разделе "Выбор нужного уровня"

    Снимок экрана: вкладка

  4. Нажмите кнопку "Далее" и выберите общедоступную или частную конечную точку.

  5. Нажмите кнопку Далее: Дополнительно.

    Настройте все модули Redis, которые вы хотите добавить в экземпляр.

    По умолчанию для нового управляемого кэша:

    • Идентификатор Microsoft Entra включен.
    • Проверка подлинности ключей доступа отключена по соображениям безопасности.

    Внимание

    Для оптимальной безопасности рекомендуется использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов к кэшу, если это возможно. Авторизация с помощью идентификатора Microsoft Entra и управляемых удостоверений обеспечивает более высокую безопасность и удобство использования при авторизации ключа общего доступа. Дополнительные сведения об использовании управляемых удостоверений с кэшем см. в разделе "Использование идентификатора Microsoft Entra для проверки подлинности кэша".

    Задайте для политики кластеризации значение Enterprise для некластеризованного кэша или в OSS для кластеризованного кэша. Дополнительные сведения о выборе политики кластеризации см. в статье "Политика кластера".

    Снимок экрана, на котором показана вкладка

    Если вы используете активную георепликацию, ее необходимо настроить во время создания. Дополнительные сведения см. в разделе "Настройка активной георепликации для экземпляров Управляемого Redis Azure".

    Внимание

    После создания не удается изменить политику кластеризации экземпляра Управляемого Redis (предварительная версия) Azure. Если вы используете RediSearch, требуется политика кластера Enterprise и NoEviction является единственной поддерживаемой политикой вытеснения.

    Внимание

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

    Внимание

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

  6. Нажмите кнопку "Далее": теги и пропуск.

  7. По завершении выберите Next: Отзыв и создание.

  8. Проверьте параметры и выберите Создать.

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

Создание экземпляра кэша Azure для Redis

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

    Sceenshot, показывающий параметр

  2. В области "Начало работы" введите Кэш Azure для Redis в строке поиска. В результатах поиска найдите Кэш Azure для Redis и нажмите кнопку "Создать".

    Снимок экрана: Azure Marketplace с Кэш Azure для Redis в поле поиска и выделена кнопка

  3. На панели "Новый кэш Redis" на вкладке "Основы" настройте следующие параметры для кэша:

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

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

  6. Выберите вкладку "Дополнительно" или нажмите кнопку "Далее".

  7. На панели "Дополнительно" проверьте или выберите метод проверки подлинности на основе следующих сведений:

    Снимок экрана: панель

    • По умолчанию для нового кэша "Базовый", "Стандартный" или "Премиум" включена проверка подлинности Microsoft Entra Authentication, а проверка подлинности ключей доступа отключена.
    • Для кэшей "Базовый" или "Стандартный" можно выбрать выбранный порт, отличный от TLS.
    • Для кэшей уровня "Стандартный" и "Премиум" можно включить зоны доступности. После создания кэша невозможно отключить зоны доступности.
    • Для кэша Premium настройте параметры для порта, не относяющегося к TLS, кластеризации, управляемому удостоверению и сохраняемости данных.

    Внимание

    Для оптимальной безопасности рекомендуется использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов к кэшу, если это возможно. Авторизация с помощью идентификатора Microsoft Entra и управляемых удостоверений обеспечивает более высокую безопасность и удобство использования при авторизации ключа общего доступа. Дополнительные сведения об использовании управляемых удостоверений с кэшем см. в разделе "Использование идентификатора Microsoft Entra для проверки подлинности кэша".

  8. (Необязательно) Выберите вкладку "Теги" или нажмите кнопку "Далее: теги".

  9. (Необязательно) На вкладке "Теги" введите имя и значение тега, если вы хотите классифицировать ресурс кэша.

  10. Нажмите кнопку Просмотреть и создать.

    На вкладке "Проверка и создание " Azure автоматически проверяет конфигурацию.

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

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

Использование проверки подлинности идентификатора Microsoft Entra в кэше

Кэши Redis Для Azure, кроме уровней Enterprise и Enterprise Flash, по умолчанию включена проверка подлинности Microsoft Entra. Ключи доступа отключены по умолчанию.

Внимание

Корпорация Майкрософт рекомендует использовать проверку подлинности Идентификатора Microsoft Entra для наиболее безопасной проверки подлинности вместо использования паролей или ключей доступа. Проверка подлинности, описанная в этом разделе статьи, использует ключи доступа, для которых требуется очень высокий уровень доверия к приложению и не несет рисков при использовании идентификатора Microsoft Entra. Используйте подход в этом документе, только если проверка подлинности идентификатора Microsoft Entra недоступна.

  1. В портал Azure выберите кэш, в котором вы хотите использовать проверку подлинности на основе токена Microsoft Entra.

  2. Выберите проверку подлинности в меню "Ресурс".

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

    Снимок экрана: проверка подлинности, выбранная в меню ресурсов, и проверка проверки подлинности Microsoft Entra.

Сведения об использовании идентификатора Microsoft Entra с Azure CLI см. на справочных страницах для удостоверений.

Установка библиотеки для использования проверки подлинности идентификатора Microsoft Entra

Библиотека Azure.StackExchange.Redis содержит метод проверки подлинности Идентификатора Microsoft Entra для подключения к службам Redis Azure с помощью идентификатора Microsoft Entra. Это применимо ко всем Кэш Azure для Redis, Кэш Azure для Redis Enterprise и Управляемому Redis Azure (предварительная версия).

  1. Откройте проект в Visual Studio.

  2. Щелкните проект правой кнопкой мыши, выберите пункт "Управление пакетами NuGet...

  3. Найдите элемент Microsoft.Azure.StackExchangeRedis.

  4. Нажмите кнопку "Установить ", чтобы установить

  5. Примите все запрошенное содержимое, чтобы завершить установку


Подключение к кэшу с помощью идентификатора Microsoft Entra

  1. Включение библиотек в код

    using Azure.Identity;
    using StackExchange.Redis
    
  2. Использование учетных данных Azure по умолчанию для проверки подлинности подключения клиента. Это позволяет коду использовать учетные данные пользователя, выполнившего вход в систему локально, и управляемое удостоверение Azure при выполнении в Azure без изменения кода.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
ConnectionMultiplexer _newConnection = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
IDatabase Database = _newConnection.GetDatabase();

Изменение файла app.config

  1. Измените файл app.config , добавив следующее содержимое:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Замените <cache-hostname> именем узла кэша, как оно отображается в меню "Обзор" в меню "Ресурс" в портал Azure.

    Например, с управляемыми Redis azure или уровнями Enterprise: my-redis.eastus.azure.net:10000

  3. Сохраните файл.

Для получения дополнительных сведений см. статью StackExchange.Redis и код в репозитории GitHub.

Изменение файла app.config

  1. Измените файл app.config , добавив следующее содержимое:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Замените <cache-hostname> именем узла кэша, как оно отображается в меню "Обзор" в меню "Ресурс" в портал Azure.

    Например, с Кэш Azure для Redis: my-redis.eastus.azure.net:6380

  3. Сохраните файл.

Для получения дополнительных сведений см. статью StackExchange.Redis и код в репозитории GitHub.

Запуск примера

Нажмите сочетание клавиш Ctrl+F5, чтобы скомпилировать и запустить консольное приложение для проверки сериализации объектов .NET.

Готовое консольное приложение

Очистка ресурсов

Если вы хотите продолжить использовать ресурсы, созданные в этой статье, сохраните группу ресурсов.

В противном случае, если вы закончите работу с ресурсами, можно удалить созданную группу ресурсов Azure, чтобы избежать расходов.

Внимание

Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы. Если вы создали ресурсы внутри существующей группы ресурсов, содержащей ресурсы, которые необходимо сохранить, можно удалить каждый ресурс по отдельности, а не удалить группу ресурсов.

Удаление группы ресурсов

  1. Войдите на портал Azure и щелкните Группы ресурсов.

  2. Выберите группу ресурсов, которую нужно удалить.

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

    Снимок экрана: список групп ресурсов для удаления в рабочей области.

  3. Выберите команду Удалить группу ресурсов.

  4. Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и щелкните Удалить.

    Снимок экрана: форма, для которой требуется имя ресурса для подтверждения удаления.

Через некоторое время группа ресурсов и все ее ресурсы будут удалены.