Azure CLI を使用して Azure のリソースとリソース グループを管理するUse the Azure CLI to manage Azure resources and resource groups

この記事では、Azure CLI と Azure Resource Manager でソリューションを管理する方法について説明します。In this article, you learn how to manage your solutions with Azure CLI and Azure Resource Manager. Resource Manager に慣れていない場合は、Resource Manager の概要に関するページをご覧ください。If you are not familiar with Resource Manager, see Resource Manager Overview. この記事では管理タスクに重点を置いて説明します。This article focuses on management tasks. このチュートリアルの内容は次のとおりです。You will:

  1. リソース グループの作成Create a resource group
  2. リソース グループへのリソースの追加Add a resource to the resource group
  3. リソースへのタグの追加Add a tag to the resource
  4. 名前とタグの値に基づいたリソースへのクエリ実行Query resources based on names or tag values
  5. リソースへのロック適用と解除Apply and remove a lock on the resource
  6. リソース グループの削除Delete a resource group

この記事では、Resource Manager テンプレートをサブスクリプションにデプロイする方法については説明しません。This article does not show how to deploy a Resource Manager template to your subscription. 詳細については、「Resource Manager テンプレートと Azure CLI を使用したリソースのデプロイ」をご覧ください。For that information, see Deploy resources with Resource Manager templates and Azure CLI.

Azure Cloud Shell を起動するLaunch Azure Cloud Shell

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。It has common Azure tools preinstalled and configured to use with your account. [コピー] ボタンをクリックしてコードをコピーし、Cloud Shell に貼り付けて Enter キーを押すだけで、コードを実行することができます。Just click the Copy button to copy the code, paste it into the Cloud Shell, and then press enter to run it. Cloud Shell は、次のようにいくつかの方法で起動することができます。There are a few ways to launch the Cloud Shell:

コード ブロックの右上隅にある [使ってみる] をクリックします。Click Try It in the upper right corner of a code block. この記事の Cloud Shell
ブラウザーで Cloud Shell を開きます。Open Cloud Shell in your browser.
Azure Portal の右上のメニューの [Cloud Shell] ボタンをクリックします。Click the Cloud Shell button on the menu in the upper right of the Azure portal. ポータルの Cloud Shell

CLI をインストールしてローカルで使用するには、「Install Azure CLI 2.0 (Azure CLI 2.0 のインストール)」をご覧ください。To install and use the CLI locally, see Install Azure CLI 2.0.

サブスクリプションの設定Set subscription

複数のサブスクリプションがある場合は、別のサブスクリプションに切り替えることができます。If you have more than one subscription, you can switch to a different subscription. 最初に、自分のアカウントのすべてのサブスクリプションを見てみましょう。First, let's see all the subscriptions for your account.

az account list

有効および無効なサブスクリプションの一覧を返します。It returns a list of your enabled and disabled subscriptions.

    "cloudName": "AzureCloud",
    "id": "<guid>",
    "isDefault": true,
    "name": "Example Subscription One",
    "registeredProviders": [],
    "state": "Enabled",
    "tenantId": "<guid>",
    "user": {
      "name": "",
      "type": "user"

サブスクリプションの 1 つが既定値としてマークされていることに注意してください。Notice that one subscription is marked as the default. このサブスクリプションが、現在操作しているコンテキストです。This subscription is your current context for operations. 別のサブスクリプションに切り替えるには、az account set コマンドを使用してサブスクリプション名を指定します。To switch to a different subscription, provide the subscription name with the az account set command.

az account set -s "Example Subscription Two"

現在のサブスクリプションのコンテキストを表示するには、パラメーターを付けずに az account show を使用してください。To show the current subscription context, use az account show without a parameter:

az account show

リソース グループの作成Create a resource group

サブスクリプションにリソースをデプロイする前に、そのリソースを含めるリソース グループを作成する必要があります。Before deploying any resources to your subscription, you must create a resource group that will contain the resources.

リソース グループを作成するには、az group create コマンドを使用します。To create a resource group, use the az group create command. このコマンドは name パラメーターを使用してリソース グループの名前を指定し、location パラメーターを使用して場所を指定します。The command uses the name parameter to specify a name for the resource group and the location parameter to specify its location.

az group create --name TestRG1 --location "South Central US"

出力の形式は次のとおりです。The output is in the following format:

  "id": "/subscriptions/<subscription-id>/resourceGroups/TestRG1",
  "location": "southcentralus",
  "managedBy": null,
  "name": "TestRG1",
  "properties": {
    "provisioningState": "Succeeded"
  "tags": null

後でリソース グループを取得する必要がある場合は、次のコマンドを使用します。If you need to retrieve the resource group later, use the following command:

az group show --name TestRG1

ご利用のサブスクリプションにあるすべてのリソース グループを取得するには、以下を使用します。To get all the resource groups in your subscription, use:

az group list

リソース グループへのリソースの追加Add resources to a resource group

リソースをリソース グループに追加するには、az resource create コマンド、または作成するリソースの種類に固有のコマンド (az storage account create など) を使用します。To add a resource to the resource group, you can use the az resource create command or a command that is specific to the type of resource you are creating (like az storage account create). リソースの種類に固有のコマンドには、新しいリソースが必要とするプロパティのパラメーターが含まれているため、こちらを使用する方が簡単です。You might find it easier to use a command that is specific to a resource type because it includes parameters for the properties that are needed for the new resource. az resource create を使用するには、設定するすべてのプロパティを把握しておく必要があります。これらを入力するよう求めるメッセージは表示されません。To use az resource create, you must know all the properties to set without being prompted for them.

ただし、スクリプトを使ってリソースを追加した場合、その新しいリソースは Resource Manager テンプレートに存在しないため、将来的に混乱が生じる可能性があります。However, adding a resource through script might cause future confusion because the new resource does not exist in a Resource Manager template. テンプレートを使用すると、ソリューションを繰り返し、かつ確実にデプロイすることができます。Templates enable you to reliably and repeatedly deploy your solution.

次のコマンドは、ストレージ アカウントを作成します。The following command creates a storage account. この例で示されている名前ではなく、ストレージ アカウントの一意の名前を指定してください。Instead of using the name shown in the example, provide a unique name for the storage account. 名前の長さは 3 ~ 24 文字で、使用できるのは数字と小文字のみです。The name must be between 3 and 24 characters in length, and use only numbers and lower-case letters. この例で示されている名前は既に使用済みのため、その名前を使うと、エラーが発生します。If you use the name shown in the example, you receive an error because that name is already in use.

az storage account create -n myuniquestorage -g TestRG1 -l westus --sku Standard_LRS

後でこのリソースを取得する必要がある場合は、次のコマンドを使用します。If you need to retrieve this resource later, use the following command:

az storage account show --name myuniquestorage --resource-group TestRG1

タグを追加しますAdd a tag

タグを使用すると、さまざまなプロパティに基づいてリソースを整理できます。Tags enable you to organize your resources according to different properties. たとえば、同じ部門に属しているさまざまなリソース グループに、複数のリソースが含まれていることがあります。For example, you may have several resources in different resource groups that belong to the same department. こうしたリソースに部門タグと値を適用して、同じカテゴリに属するものとしてマークできます。You can apply a department tag and value to those resources to mark them as belonging to the same category. また、運用環境で使用されているリソースか、テスト環境のリソースかをマークすることもできます。Or, you can mark whether a resource is used in a production or test environment. この記事では、1 つのリソースにのみタグを適用しますが、環境内では、ほとんどの場合、すべてのリソースにタグを適用すると便利です。In this article, you apply tags to only one resource, but in your environment it most likely makes sense to apply tags to all your resources.

次のコマンドは、2 つのタグをお使いのストレージ アカウントに適用します。The following command applies two tags to your storage account:

az resource tag --tags Dept=IT Environment=Test -g TestRG1 -n myuniquestorage --resource-type "Microsoft.Storage/storageAccounts"

タグは 1 つのオブジェクトとして更新されます。Tags are updated as a single object. タグが既に含まれているリソースにタグを追加するには、最初に既存のタグを取得します。To add a tag to a resource that already includes tags, first retrieve the existing tags. 新しいタグを、既存のタグが含まれるオブジェクトに追加したら、すべてのタグをリソースに再度適用します。Add the new tag to the object that contains the existing tags, and reapply all the tags to the resource.

jsonrtag=$(az resource show -g TestRG1 -n myuniquestorage --resource-type "Microsoft.Storage/storageAccounts" --query tags)
rt=$(echo $jsonrtag | tr -d '"{},' | sed 's/: /=/g')
az resource tag --tags $rt Project=Redesign -g TestRG1 -n myuniquestorage --resource-type "Microsoft.Storage/storageAccounts"

リソースの検索Search for resources

az resource list コマンドを使用して、さまざまな検索条件でリソースを取得します。Use the az resource list command to retrieve resources for different search conditions.

  • 名前をもとにリソースを取得するには、name パラメーターを指定します。To get a resource by name, provide the name parameter:

    az resource list -n myuniquestorage
  • リソース グループのすべてのリソースを取得するには、resource-group パラメーターを指定します。To get all the resources in a resource group, provide the resource-group parameter:

    az resource list --resource-group TestRG1
  • タグ名と値ですべてのリソースを取得するには、tag パラメーターを指定します。To get all the resources with a tag name and value, provide the tag parameter:

    az resource list --tag Dept=IT
  • 特定のリソースの種類のリソースをすべて取得するには、resource-type パラメーターを指定します。To all the resources with a particular resource type, provide the resource-type parameter:

    az resource list --resource-type "Microsoft.Storage/storageAccounts"

リソース ID を取得するGet resource ID

多くのコマンドは、リソース ID をパラメーターとして受け取ります。Many commands take a resource ID as a parameter. リソースおよび変数内のストアの ID を取得するには、次のコマンドを使用します。To get the ID for a resource and store in a variable, use:

webappID=$(az resource show -g exampleGroup -n exampleSite --resource-type "Microsoft.Web/sites" --query id --output tsv)

リソースのロックLock a resource

重要なリソースが誤って削除または変更されないようにするには、そのリソースにロックを適用します。When you need to make sure a critical resource is not accidentally deleted or modified, apply a lock to the resource. CanNotDelete または ReadOnly のいずれかを指定できます。You can specify either a CanNotDelete or ReadOnly.

管理ロックを作成または削除するには、Microsoft.Authorization/* または Microsoft.Authorization/locks/* アクションにアクセスできる必要があります。To create or delete management locks, you must have access to Microsoft.Authorization/* or Microsoft.Authorization/locks/* actions. 組み込みロールのうち、所有者とユーザー アクセス管理者にのみこれらのアクションが許可されています。Of the built-in roles, only Owner and User Access Administrator are granted those actions.

ロックを適用するには、次のコマンドを使用します。To apply a lock, use the following command:

az lock create --lock-type CanNotDelete --resource-name myuniquestorage --resource-group TestRG1 --resource-type Microsoft.Storage/storageAccounts --name storagelock

前の例でロックされたリソースは、ロックが解除されるまで削除できません。The locked resource in the preceding example cannot be deleted until the lock is removed. ロックを解除するには、次を使用します。To remove a lock, use:

az lock delete --name storagelock --resource-group TestRG1 --resource-type Microsoft.Storage/storageAccounts --resource-name myuniquestorage

ロックの詳細については、Azure Resource Manager でのリソースのロックに関するページをご覧ください。For more information about setting locks, see Lock resources with Azure Resource Manager.

リソースまたはリソース グループの削除Remove resources or resource group

リソースまたはリソース グループを削除できます。You can remove a resource or resource group. リソース グループを削除すると、そのリソース グループ内のリソースもすべて削除されます。When you remove a resource group, you also remove all the resources within that resource group.

  • リソース グループからリソースを削除するには、削除するリソースの種類に対して delete コマンドを使用します。To delete a resource from the resource group, use the delete command for the resource type you are deleting. このコマンドはリソースを削除しますが、リソース グループは削除しません。The command deletes the resource, but does not delete the resource group.

    az storage account delete -n myuniquestorage -g TestRG1
  • リソース グループとそのすべてのリソースを削除するには、az group delete コマンドを使用します。To delete a resource group and all its resources, use the az group delete command.

    az group delete -n TestRG1

どちらのコマンドについても、リソースまたはリソース グループを削除するかどうかを確認するメッセージが表示されます。For both commands, you are asked to confirm that you wish to remove the resource or resource group.

次のステップNext steps