0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

2018年12月にリリースされたPowerShell Az moduleを使う

Last updated at Posted at 2019-02-05

Az モジュール

現時点(2019年2月)最新のAzureリソースをマネージするためのコマンドラインパッケージです。呼び名は「Azure PowerShell Az Module」とか「Az PowerShell 1.2」とか統一感がないんですが、「Az」というのが目立ちます。

ローカルPowerShellに導入

ドキュメンテーションでは旧バージョンのAzureRMをまずアンインストールすることを推奨しています。

PowerShellコマンドプロンプトを管理者権限で開いてから:

Install-Module -Name Az -AllowClobber

もしくは、管理者権限なしのコマンドからPowerShellコマンドプロンプトから

Install-Module -Name Az -AllowClobber -Scope CurrentUser

でインストールします。

警告が出るけど「Yes」でオッケーです(詳細は上のリンクからドキュメンテーションを参照)

Azure につなげるには

Connect-AzAccount

おなじみのログインウィンドウがポップアップするので認証手続きを完了します。これでAzureリソースをマネージする準備が出来ました。

サブスクリプション選び

とりあえずは何をするにしろ「話はサブスクリプションを選んでから」ですね。

このドキュメンテーションにこじんまりとまとまってました。使うコマンドは:

Get-AzSubsctiption // 自分がアクセスできるサブスクリプションを一覧表示
Select-AzSubscription // 特定のサブスクリプションを選択
Get-AzContext // 目的のサブスクリプションが選択されているかを確認

この流れを覚えておけばOK。

Cloudで導入(Azure Cloud Shellを使うだけ)

Azure Cloud Shellを使えばすぐにAzを使えます。リソースをブラウズしたり確認するだけならこっちの方が手っ取り早いですね。自分もこれからはAzureポータルのUI以外にもCloud Shellを使えるようになろうと思います。リソースの種類や確認したい内容によってはCloud Shellの方が効率がよい場合があると見た。

Cosmos DB アカウントでも作って見ましょう

ARMテンプレートで作ります。通常、テンプレートファイルパラメーターファイルの二つのファイルを書いて、コマンドラインで実行します。

MyCosmosDb.Template.json
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "DatabaseAccountName": {
        "type": "string",
        "metadata": {
          "description": "The Azure Cosmos DB account name."
        }
      },
      "Location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
          "description": "Location for all resources."
        }
      }
    },
    "resources": [
      {
        "apiVersion": "2015-04-08",
        "type": "Microsoft.DocumentDB/databaseAccounts",
        "kind": "GlobalDocumentDB",
        "name": "[parameters('DatabaseAccountName')]",
        "location": "[parameters('Location')]",
        "properties": {
          "databaseAccountOfferType": "Standard",
          "locations": [
            {
              "locationName": "[parameters('Location')]",
              "failoverPriority": 0
            }
          ],
          "capabilities": []
        },
        "tags": {
          "defaultExperience": "Core SQL API"
        }
      }
    ]
  }

ちなみに「Core SQL」のAPIを使う際は上記のようにcapabilitiesパラメーターに空の配列を指定します。そうすると、デフォルトで「Core SQL」になります。SQL以外のものを使いたい場合は、例えば['EnableGremlin']のように指定します。

MyCosmosDb.Parameters.json
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "DatabaseAccountName": {
            "value": "my-cosmos-db-acount"
        },
        "Location": {
            "value": "East US"
        }
    }
}

PowerShell Az moduleを使って、ARMテンプレートを元にCosmosDBアカウントを作成します。

New-AzResourceGroupDeployment -Name TestDeployment -ResourceGroupName <your-resource-group> -TemplateFile .\MyCosmosDb.Template.json -TemplateParameterFile .MyCosmosDb.Parameters.json

4,5分ぐらい待ったら成功するはずです。

まとめ

また新しいコマンドラインパッケージが出ましたね。Azureもどんどん成熟してきてるので名前や手順のコンベンションも統一感が出てきました。この新しいAzモジュールも、より簡単になったというのが売りのようです。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?