連載: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にアクセスして、対象のファイルをダウンロードします。
Web Platform Installerのリンクからダウンロードし、起動すると次の図のようにWeb Platform Installerが起動し、Windows Azure Powershellが選択された状態になります。
[インストール]ボタンを選択すると、インストールが始まりますのでインストールが完了するのを待ちます。
インストールが完了すると、Windows Azure PowerShellがメニューに追加されます。
Windows Azure PowerShellを使用する
Windows Azure PowerShellを使用するには、メニューからWindows Azure PowerShellを起動する方法と、モジュールをインポートする方法があります。
メニューからWindows Azure PowerShellを起動すると、次の図のようにAzureコマンドレットのヘルプ表示方法の説明が書かれてシェルが起動します。またロードされているモジュールを[Get-Module]で確認すると、[Azure]が読み込まれていることを確認できます。
明示的にモジュールをインポートして使用する場合には、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
コマンドを実行すると、ブラウザが起動しサブスクリプションファイル生成ページにアクセスします。ファイルをダウンロードします。
3.ダウンロードしたサブスクリプションファイルをインポートする
Import-AzurePublishSettingsFile C:\Users\nora\Downloads\test-1-2-2014-credentials.publishsettings
4.インポートされたサブスクリプション情報を確認する
Get-AzureSubscription
インポートされたサブスクリプション情報が表示されます。
複数のサブスクリプションを持っている場合は、複数のサブスクリプションが表示されます。
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"
正常にコマンドの実行が完了すると、次のように作成されたサーバーが表示されます。
サブスクリプションに紐付けられているサーバー一覧を確認するには、次のコマンドを実行します。
Get-AzureSQLDatabaseServer
使用できるデータセンター名を確認する方法
Windows Azure PowerShellで、Azureデータセンターのロケーションを指定する際に使用できるデータセンター名を確認するには、次のコマンドを実行します。
Get-AzureLocation|select name
参考
Windows Azure PowerShell の使用方法
4