PowerShellでWindows Azure SQL Databaseサーバーを作成

2014-01-03

連載:Windows Azure SQL Databases入門

Windows Azure Powershellで、Azure SQL サーバーを作成する

Windows Azure Powershellを使用して、Windows Azure SQL Databaseサーバーを作成してみましょう。

Windows Azure Powershellのインストール方法

Windows Azure Powershellを使用するために、Windows Azure Poweeshellをインストールします。インストールする方法として、Web Platform Installerを使用する方法と[*.msi]ファイルでインストールする方法の2種類が提供されています。

https://github.com/WindowsAzure/azure-sdk-tools/releasesにアクセスして、対象のファイルをダウンロードします。

image
Web Platform Installerのリンクからダウンロードし、起動すると次の図のようにWeb Platform Installerが起動し、Windows Azure Powershellが選択された状態になります。

SNAGHTMLbf2ff53

[インストール]ボタンを選択すると、インストールが始まりますのでインストールが完了するのを待ちます。

SNAGHTMLbf415c0

インストールが完了すると、Windows Azure PowerShellがメニューに追加されます。

image

Windows Azure PowerShellを使用する

Windows Azure PowerShellを使用するには、メニューからWindows Azure PowerShellを起動する方法と、モジュールをインポートする方法があります。

メニューからWindows Azure PowerShellを起動すると、次の図のようにAzureコマンドレットのヘルプ表示方法の説明が書かれてシェルが起動します。またロードされているモジュールを[Get-Module]で確認すると、[Azure]が読み込まれていることを確認できます。

image

明示的にモジュールをインポートして使用する場合には、PowerShellを起動して、次のコマンドを実行します。

Import-Module azure
Import-Module azure -PassThru –Verbose :詳細を確認したい場合はこっち。

コマンドを実行すれば、Azure関連コマンドレットが読み込まれます。読み込まれたことを確認したい場合は、[Get-Module]で確認できます。

Import-Module Azureでインポートできる理由

Windows Azure PowerShellについて調べていると、モジュールのインポートをするのに次のコマンドを説明しているサイトが散見されます。

Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"   

当初、モジュールのインポート方法を調べたときには、上記記述が一般的と思えるほど、上記コマンドを採用しているサイトが多かったです。もちろん、上記コマンドでも全く問題が無いのですが、覚えられないので、次のコマンドのほうが個人的には好きです。実際には、[Azure]を指定すると、[C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1]が呼びだされているだけなのです。

では、[Azure]で[C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1]を呼び出せるようにしているカラクリはなんなのかが気になります。

答えは、@guitarrapc_techさんのBlogに投稿されている[PowerShell のモジュール詳解とモジュールへのコマンドレット配置手法を考える]でわかりやすく解説されています。

ここでは要約して表面的なところだけ説明しておきます。
Windows Azure PowerShellのインストール時に、環境変数[$Env:PSModulePath]にWindows Azure PowerShellへのパスが登録されています。

C:\Users\nora\Documents\WindowsPowerShell\Modules;
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;
C:\Program Files(x86)\Microsoft SQL Server\110\Tools\PowerShell\Modules\;
C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\

Windows Azure PowerShellをインストールした環境では、上のようにパスが設定されています。しかも、ここにWindows Azure PowerShellのパスが登録されているので、

これらのパスに存在するモジュールは、明示的にモジュールを読み込ませずともインテリセンスの候補に上がり、コマンド実行時にImport-Moduleがバックグランドで実行されモジュールが読み込まれます。
—tech.guitarrapc.comより抜粋

という穏健も受けられて素敵な感じです。

Windows Azure Powershellでサブスクリプション情報を取得する

さて、予断が長くなってしまいましたが、Windows Azure PowerShellでWindows Azure SQL Databasesサーバーを作成する方法を見ていきましょう。とは言え、その前にWindows Azure PowerShellでWindows Azureを操作する前に必要な共通作業があります。

Windows Azure PowerShellで、Azureを操作するには、操作対象のWindows Azureサブスクリプション情報を設定する必要があります。Windows Azureサブスクリプションの選択方法については、@sleepy_takaさんのBlogに投稿された[Windows Azure PowerShell のサブスクリプション選択]が分かりやすいです。
ここでは簡単に手順だけ説明します。

1.Windows Azure PowerShellをインポートする

Import-Module Azure

2.Windows Azureサブスクリプションファイル(.publishSettings)をダウンロードする

Get-AzurePublishSettingsFile

コマンドを実行すると、ブラウザが起動しサブスクリプションファイル生成ページにアクセスします。ファイルをダウンロードします。

image

3.ダウンロードしたサブスクリプションファイルをインポートする

Import-AzurePublishSettingsFile C:\Users\nora\Downloads\test-1-2-2014-credentials.publishsettings

4.インポートされたサブスクリプション情報を確認する

Get-AzureSubscription

インポートされたサブスクリプション情報が表示されます。
複数のサブスクリプションを持っている場合は、複数のサブスクリプションが表示されます。

image

Windows Azure Powershellで、Azure SQL サーバーを作成する

長くなりましたが、いよいよWindows Azure SQL DatabasesサーバーをWindows Azure PowerShellで作成しましょう。

Windows Azure SQL Databasesサーバーを作成するには、[New-AzureSqlDatabaseServer]コマンドレットを使用します。

New-AzureSqlDatabaseServer [-AdministratorLogin] <String> [-Force] -AdministratorLoginPassword <String> -Location <String> [-Confirm] [-WhatIf] [<CommonParameters>]

  • -AdministratorLogin:SQL Databaseサーバーに接続する際のログイン名(参考:命名規則
  • -AdministratorLoginPassword:SQL Databaseサーバーに接続する際のパスワード(参考:パスワードのルール
  • -Location:SQL Databasesサーバーを作成するリージョン(データセンターの場所)

実際にサーバーを作成してみましょう。

New-AzureSqlDatabaseServer -AdministratorLogin norayuni -AdministratorLoginPassword P@ssword1 -Location "East Asia"

正常にコマンドの実行が完了すると、次のように作成されたサーバーが表示されます。

image

サブスクリプションに紐付けられているサーバー一覧を確認するには、次のコマンドを実行します。

Get-AzureSQLDatabaseServer

image

使用できるデータセンター名を確認する方法

Windows Azure PowerShellで、Azureデータセンターのロケーションを指定する際に使用できるデータセンター名を確認するには、次のコマンドを実行します。

Get-AzureLocation|select name

image

参考

Windows Azure PowerShell の使用方法

4