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


Управление кэшем Redis Azure с помощью Azure CLI

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

Предпосылки

  • Если у вас нет подписки на Azure, создайте бесплатную учетную запись Azure перед началом.
  • Убедитесь, что вы вошли в Azure с подпиской, в которой вы хотите создать кэш. Чтобы использовать подписку, отличную от той, с которой вы вошли, выполните команду az account set -s <subscriptionId>, заменив <subscriptionId> идентификатор подписки, который вы хотите использовать.

Замечание

Azure Managed Redis использует команды Azure CLI az redisenterprise. Расширение redisenterprise Azure CLI версии 2.61.0 или более поздней версии запрашивает установку при первом выполнении az redisenterprise команды.

Кэш Azure для Redis использует az redisenterprise команды для уровней Enterprise и команды az redis для уровней "Базовый", "Стандартный" и "Премиум". Для создания и управления управляемым Azure Redis или кэшем Azure для Redis Enterprise можно использовать следующие скрипты. Для кэша Azure для Redis Basic, Standard и Premium используйте скрипты кэша Azure для Redis .

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

Для создания Управляемого кэша Redis в Azure с помощью Azure CLI требуются параметры name, location, resourceGroup и sku. Другие параметры являются необязательными и имеют значения по умолчанию.

Скрипт Azure CLI в этом разделе можно использовать для создания кэша Управляемого Redis Azure с параметрами по умолчанию. Для создания кэша можно также использовать следующие другие методы:

Кэш name должен быть строкой из 1–63 символов, уникальных в регионе Azure. Имя может содержать только цифры, буквы и дефисы, должны начинаться и заканчиваться числом или буквами и не могут содержать последовательные дефисы.

Этот location должен быть регионом Azure рядом с другими службами, использующими кэш.

Выберите SKU с подходящими функциями и производительностью для вашего кэша.

Проверка подлинности Microsoft Entra включена по умолчанию для всех новых кэшей и рекомендуется для обеспечения безопасности.

Это важно

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

Шифрование протокола TLS 1.2-1.3 по умолчанию включено для всех новых кэшей. Вы можете включить порт и подключения, отличные от TLS, во время или после создания кэша, но по соображениям безопасности отключение TLS не рекомендуется.

Следующий скрипт задает переменные, а затем использует команды az group create и az redisenterprise create для создания группы ресурсов с кэшем SKU Azure Managed Redis Balanced B1.


# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="redis-cache-rg-$randomIdentifier"
tag="create-manage-cache"
cache="redis-cache-$randomIdentifier"
sku="Balanced_B1"

# Create a resource group
echo "Creating $resourceGroup in "$location"..."
az group create --resource-group $resourceGroup --location "$location" --tags $tag

# Create a Balanced B1 Azure Managed Redis cache
echo "Creating $cache"
az redisenterprise create --name $cache --resource-group $resourceGroup --location "$location" --sku $sku

Получите сведения о кэше Redis с управлением в Azure

Следующий сценарий использует команды az redisenterprise show и az redisenterprise database list-keys для получения и отображения имени, имени узла, портов и ключей для предыдущего кэша.

Это важно

Операция list-keys работает только в том случае, если ключи доступа включены для кэша. Выходные данные этой команды могут компрометировать безопасность, раскрывая секреты и вызывая предупреждение о наличии конфиденциальной информации. Дополнительные сведения см. в статье Об использовании Azure CLI для управления конфиденциальной информацией.

# Get details of an Azure Managed Redis cache
echo "Showing details of $cache"
az redisenterprise show --name "$cache" --resource-group $resourceGroup 

# Retrieve the hostname and ports for an Azure Redis Cache instance
redis=($(az redisenterprise show --name "$cache" --resource-group $resourceGroup --query [hostName,enableNonSslPort,port,sslPort] --output tsv))

# Retrieve the keys for an Azure Redis Cache instance
keys=($(az redisenterprise database list-keys --cluster-name "$cache" --resource-group $resourceGroup --query [primaryKey,secondaryKey] --output tsv))

# Display the retrieved hostname, keys, and ports
echo "Hostname:" ${redis[0]}
echo "Non SSL Port:" ${redis[2]}
echo "Non SSL Port Enabled:" ${redis[1]}
echo "SSL Port:" ${redis[3]}
echo "Primary Key:" ${keys[0]}
echo "Secondary Key:" ${keys[1]}

Очистите ресурсы

Следующий скрипт использует команды az group delete и az redisenterprise delete для удаления предыдущего кэша и удаления группы ресурсов.

# Delete a redis cache
echo "Deleting $cache"
az redisenterprise delete --name "$cache" --resource-group $resourceGroup -y

# echo "Deleting all resources"
az group delete --resource-group $resourceGroup -y

Это важно

Используйте эти сценарии для создания и управления кэшем Azure для Redis Basic, Уровня "Стандартный" и "Премиум" с помощью команд Azure CLI az redis .

Уровни кэша Azure Redis Enterprise и Управляемый Redis в Azure используют команды az redisenterprise. Расширение redisenterprise Azure CLI версии 2.61.0 или более поздней версии запрашивает установку при первом выполнении az redisenterprise команды.

Чтобы создать кэш Azure для Redis Enterprise и управлять ими, используйте сценарии Управляемого Redis в Azure .

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

Для создания кэша Azure для Redis basic, уровня "Стандартный" или "Премиум" можно использовать следующий скрипт Azure CLI. Чтобы создать кэш уровня Enterprise для Azure Cache for Redis и управлять им, используйте скрипты Управляемого Redis в Azure.

Для создания кэша Azure Cache для Redis уровней Basic, Standard или Premium с использованием Azure CLI, необходимо указать параметры name, location, resourceGroup, sku и size. Другие параметры являются необязательными и имеют значения по умолчанию.

Скрипт Azure CLI в этом разделе можно использовать для создания кэша Azure для Redis Basic с параметрами по умолчанию. Для создания кэша можно также использовать следующие другие методы:

Кэш name должен быть строкой из 1–63 символов, уникальных в регионе Azure. Имя может содержать только цифры, буквы и дефисы, должны начинаться и заканчиваться числом или буквами и не могут содержать последовательные дефисы.

Этот location должен быть регионом Azure рядом с другими службами, использующими кэш для вашего хранилища.

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

Шифрование протокола TLS 1.2-1.3 по умолчанию включено для всех новых кэшей. Вы можете включить порт и подключения, отличные от TLS, во время или после создания кэша, но по соображениям безопасности отключение TLS не рекомендуется.

Это важно

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

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

Следующий скрипт использует команды az group create и az redis create для создания группы ресурсов с кэшем Azure Cache для Redis Basic C0 в ней.


# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="redis-cache-rg-$randomIdentifier"
tag="create-manage-cache"
cache="redis-cache-$randomIdentifier"
sku="basic"
size="C0"

# Create a resource group
echo "Creating $resourceGroup in "$location"..."
az group create --resource-group $resourceGroup --location "$location" --tags $tag

# Create a Basic C0 (256 MB) Azure Redis cache
echo "Creating $cache"
az redis create --name $cache --resource-group $resourceGroup --location "$location" --sku $sku --vm-size $size

Получение сведений о кэше Azure для Redis

В следующем скрипте используются команды az redis show и az redis list-keys для получения и отображения имени, имени узла, портов и ключей для предыдущего кэша.

Это важно

Операция list-keys работает только в том случае, если ключи доступа включены для кэша. Выходные данные этой команды могут поставить под угрозу безопасность, показывая секретную информацию и вызывая предупреждение о конфиденциальной информации. Дополнительные сведения см. в статье Об использовании Azure CLI для управления конфиденциальной информацией.


# Get details of an Azure Cache for Redis cache
echo "Showing details of $cache"
az redis show --name "$cache" --resource-group $resourceGroup

# Retrieve the hostname and ports for an Azure Redis instance
redis=($(az redis show --name "$cache" --resource-group $resourceGroup --query [hostName,enableNonSslPort,port,sslPort] --output tsv))

# Retrieve the keys for an Azure Redis instance
keys=($(az redis list-keys --name "$cache" --resource-group $resourceGroup --query [primaryKey,secondaryKey] --output tsv))

# Display the retrieved hostname, keys, and ports
echo "Hostname:" ${redis[0]}
echo "Non SSL Port:" ${redis[2]}
echo "Non SSL Port Enabled:" ${redis[1]}
echo "SSL Port:" ${redis[3]}
echo "Primary Key:" ${keys[0]}
echo "Secondary Key:" ${keys[1]}

Очистите ресурсы

Следующий скрипт использует команды az group delete и az redis delete , чтобы удалить предыдущий кэш, а затем удалить ее группу ресурсов.

# Delete an Azure Redis cache
echo "Deleting $cache"
az redis delete --name "$cache" --resource-group $resourceGroup -y

# echo "Deleting all resources"
az group delete --resource-group $resourceGroup -y