次の方法で共有


Azure CLI を使用して Azure Redis Cache を管理する

この記事では、Azure CLI を使用して Azure Redis Cache インスタンスを作成および削除する方法について説明します。 この記事では、Azure CLI を使用して、プロビジョニングの状態、ホスト名、ポート、キーなどのキャッシュの詳細を取得する方法についても説明します。

[前提条件]

  • Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の概要」を参照してください。

  • CLI 参照コマンドをローカルで実行する場合は、Azure CLI を インストール します。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「 Azure CLI を使用した Azure への認証」を参照してください。

    • メッセージが表示されたら、最初に使用するときに Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • キャッシュを作成するサブスクリプションを使用して Azure にサインインしていることを確認します。 異なるサブスクリプションを使用するには、まずaz account set -s <subscriptionId>を実行し、次に使用したいサブスクリプション IDに<subscriptionId>を置き換えます。

Azure Managed Redis では、Azure CLI az redisenterprise コマンドを 使用します。 Azure CLI バージョン 2.61.0 以降の redisenterprise 拡張機能では、 az redisenterprise コマンドを初めて実行するときにインストールを求められます。

Azure Cache for Redis では、Enterprise レベルの az redisenterprise コマンドと、Basic、Standard、Premium レベルの az redis コマンドが使用されます。 次のスクリプトを使用して、Azure Managed Redis または Azure Cache for Redis Enterprise を作成および管理できます。 Azure Cache for Redis Basic、Standard、Premium の場合は、 Azure Cache for Redis スクリプトを使用します。

Azure Managed Redis キャッシュを作成する

Azure CLI を使用して Azure Managed Redis Cache を作成するには、 name___locationresourceGroup、および sku パラメーターが必要です。 その他のパラメーターは省略可能であり、既定値があります。

このセクションの Azure CLI スクリプトを使用して、既定の設定で Azure Managed Redis キャッシュを作成できます。 次の他の方法を使用してキャッシュを作成することもできます。

キャッシュ name は、 Azure リージョンで一意の 1 ~ 63 文字の文字列である必要があります。 名前には、数字、文字、ハイフンのみを含めることができます。先頭と末尾は数字または文字で区切る必要があり、連続するハイフンを含めることはできません。

___locationは、キャッシュを使用する他のサービスに近い Azure リージョンである必要があります。

キャッシュに適した機能とパフォーマンスを備える SKU を選択します。

Microsoft Entra 認証は、すべての新しいキャッシュに対して既定で有効になっており、セキュリティに推奨されます。

重要

可能であれば、マネージド ID と共に Microsoft Entra ID を使用して、キャッシュに対する要求を承認します。 Microsoft Entra ID とマネージド ID を使用した承認により、セキュリティが向上し、共有アクセス キーの承認よりも簡単に使用できます。 キャッシュでマネージド ID を使用する方法の詳細については、「 Azure Managed Redis でのキャッシュ認証に Microsoft Entra を使用する」を参照してください。

トランスポート層セキュリティ (TLS) 1.2 から 1.3 の暗号化は、すべての新しいキャッシュに対して既定で有効になっています。 キャッシュの作成時または作成後に TLS 以外のポートと接続を有効にすることはできますが、セキュリティ上の理由から、TLS を無効にすることはお勧めしません。

次のスクリプトは変数を設定し、 az group create コマンドと az redisenterprise create コマンドを使用して、Azure Managed Redis Balanced B1 SKU キャッシュを含むリソース グループを作成します。


# 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

Azure Managed Redis Cache の詳細を取得する

次のスクリプトでは、 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 CLI az redis コマンドを使用して Azure Cache for Redis Basic、Standard、Premium レベルを作成および管理します。

Azure Cache for Redis Enterprise レベルと Azure Managed Redis では、 az redisenterprise コマンドを使用します。 Azure CLI バージョン 2.61.0 以降の redisenterprise 拡張機能では、 az redisenterprise コマンドを初めて実行するときにインストールを求められます。

Azure Cache for Redis Enterprise レベルのキャッシュを作成して管理するには、 Azure Managed Redis スクリプトを使用します。

Azure Cache for Redis キャッシュを作成する

次の Azure CLI スクリプトを使用して、Azure Cache for Redis Basic、Standard、または Premium レベルのキャッシュを作成できます。 Azure Cache for Redis Enterprise レベルのキャッシュを作成して管理するには、 Azure Managed Redis スクリプトを使用します。

Azure CLI を使用して Azure Cache for Redis Basic、Standard、または Premium キャッシュを作成するには、 name___locationresourceGroupsku、および size パラメーターが必要です。 その他のパラメーターは省略可能であり、既定値があります。

このセクションの Azure CLI スクリプトを使用して、既定の設定で Azure Cache for Redis Basic キャッシュを作成できます。 次の他の方法を使用してキャッシュを作成することもできます。

キャッシュ name は、 Azure リージョンで一意の 1 ~ 63 文字の文字列である必要があります。 名前には、数字、文字、ハイフンのみを含めることができます。先頭と末尾は数字または文字で区切る必要があり、連続するハイフンを含めることはできません。

___locationは、キャッシュを使用する他のサービスに近い Azure リージョンである必要があります。

キャッシュに適した機能とパフォーマンスを備えている SKUsize を選択します。

トランスポート層セキュリティ (TLS) 1.2 から 1.3 の暗号化は、すべての新しいキャッシュに対して既定で有効になっています。 キャッシュの作成時または作成後に TLS 以外のポートと接続を有効にすることはできますが、セキュリティ上の理由から、TLS を無効にすることはお勧めしません。

重要

セキュリティには Microsoft Entra 認証をお勧めします。 キャッシュの作成時または作成後に Microsoft Entra 認証を有効にすることができます。

可能であれば、マネージド ID と共に Microsoft Entra ID を使用して、キャッシュに対する要求を承認します。 Microsoft Entra ID とマネージド ID を使用した承認により、セキュリティが向上し、共有アクセス キーの承認よりも簡単に使用できます。 キャッシュでのマネージド ID の使用について詳しくは、キャッシュ認証への Microsoft Entra ID の使用に関する記事をご覧ください。

次のスクリプトでは、 az group create コマンドと az redis create コマンドを使用して、Azure Cache for 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 Cache for Redis Cache の詳細を取得する

次のスクリプトでは、 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