intro, SQL Azure

連載:Windows Azure SQL Databases入門

Windows Azure CLI tool for Linuxのインストール方法

WindowsAzure CLI tool for Linuxは、Windows Azureクロスプラットフォームコマンドラインインターフェイス(Windows Azure Cross-Platform Command-Line Interface / xplat-cli)の一環で提供されています。Windows Azureクロスプラットフォームコマンドラインインターフェイスは、Windows用、Mac用、Linux用の3種類の環境用に提供されています。

ここでは、Windows AzureクロスプラットフォームコマンドラインインターフェイスのLinux用のインストール方法を説明します。
インストールをするには、Node.jsとNode.jsのパッケージマネージメントのNPMを使用します。

CentOSにNode.jsをインストールする方法(yum経由)

ここではWindows Azure 仮想マシンで提供されているデフォルトイメージを使用して作成したCentOSを前提に説明します。

1.yumでnpmをインストールするために外部リポジトリのEPELを有効にする

curl -O http://download-i2.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
sudo rpm -ivh epel-release-6-8.noarch.rpm

2.nodeとnpmをインストールする

sudo yum install npm –enablerepo=epel

CentOSにNode.jsをインストールする方法(ソースをBuildする)

ここではWindows Azure 仮想マシンで提供されているデフォルトイメージを使用して作成したCentOSを前提に説明します。

1.カーネルヘッダーをインストールします。

Windows Azure Virtual Machineで提供されているOpenlogicのCentOS 6.3イメージにはカーネルヘッダー(kernel-headers)が含まれていないので、インストールします。
(参考:Azure VMのOpenlogic CentOS 6.3でカーネルヘッダが欲しいときの対応方法

sudo yum –disableexcludes=main install kernel-headers-2.6.32-279.14.1.el6.openlogic.x86_64

2.gccとg++をインストールします。

sudo yum install gcc gcc-c++

3.ソースコードをダウンロードする

mkdir ~/src && cd $_
wget -N http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-latest.tar.gz && cd node-v*

3.インストール

./configure
make
make install

4.sudoで[/usr/local/bin]で実行ファイルを実行できるようにする

sudo visudo

[secure_path]を探し、一番後ろに[:/usr/local/bin]を追加する。

5.nodeとnpmのインストール確認をする

node -v
npm -v

npmコマンドでWindows Azure CLI tool for Linuxをインストールする

npm install –g azure-cli

[-g]オプションをつけるとグローバルにインストールになります。
グローバルインストールをするとWindows環境では、[%APPDATA%\npm]配下に[node_modules]ディレクトリが作成され、そこにライブラリがインストールされます。同時に同ディレクトリにパスが通るようになり、どこからでもコマンドが呼び出せるようになります。

[-g]オプションをつけない場合は、ローカルインストールとなり、カレントディレクトリに[node_modules]ディレクトリが作成され、その配下にライブラリがインストールされます。

正常にインストールができたかを確認したい場合は、次のコマンドを実行します。

npm ls –g azure-cli

image

インストールが確認できたら次の子万dのを実行すると、Azureアスキーアートを見ることができます。

azure

image

コマンドの自動補完

Windows Azure CLIで自動補完をサポートしています。

ZSH

echo ‘. <(azure –completion)’ >> .zshrc

bash

azure –completion >> ~/azure.completion.sh<br />
echo ‘source ~/azure.completion.sh’ >> .bash_profile

intro, SQL Azure

連載:Windows Azure SQL Databases入門

Windows Azure CLI tool for Windowsのインストール方法

Windows Azure CLI tool for Windowsは、Windows Azureクロスプラットフォームコマンドラインインターフェイス(Windows Azure Cross-Platform Command-Line Interface / xplat-cli)の一環で提供されています。Windows Azureクロスプラットフォームコマンドラインインターフェイスは、Windows用、Mac用、Linux用の3種類の環境用に提供されています。

ここでは、Windows AzureクロスプラットフォームコマンドラインインターフェイスのWindows用のインストール方法を説明します。
インストール方法は2通りあります。

  • インストーラーパッケージを使用してインストールする方法
  • Node.jsがインストール済みの環境でnpmコマンドを使用する方法

インストーラーでWindows Azure CLI tool for Windowsをインストールする方法

インストーラー(http://go.microsoft.com/fwlink/?linkid=275464&clcid=0x409)をダウンロードしてインストールします。

インストーラーには、Node.jsが同梱されています。PC上に他のNode.jsがインストールされていない場合は、同梱されているNode.jsを使用します。

ダウンロードした[windowsazure-cli.0.7.4.msi](2014年1月3日時点)を起動します。

ウィザードに従えばインストールが完了します。

image

インストールが完了して、再起動をすると[C:\Program Files (x86)\Microsoft SDKs\Windows Azure\CLI\wbin;]にパスが通っているので、[Azure]コマンドが使用できます。

npmコマンドでWindows Azure CLI tool for Windowsをインストールする方法

Node向けパッケージ管理ルールのnpmを使用して、Windows Azure CLI tool for Windowsをインストールします。すでに、Node.jsがインストールされている場合は、既存の環境をそのまま使用できます。

Node.jsがインストールされていない場合は、Web Platform InstallerでWindows Azure SDK for Node.jsをインストールするのが手っ取り早いです。[node]で検索すると、検索結果に出てきますので、[追加]ボタンを選択します。

image

依存関係の確認が表示されます。インストールされるものの中に、[Node.jsとNode Package Manager]が含まれていることがわかります。

image

インストールが正常に完了したことを確認し、OSを再起動します。

image

再起動が完了すると[C:\Program Files (x86)\nodejs\]にパスが通っているので、[node]と[npm]コマンドが使用できるようになりましたので、Windows Azure CLI tool for Windowsをインストールします。
コマンドプロンプトを起動し、次のコマンドを実行します。もし、エラーが出てインストールできない場合は、[npm install –g azure-cli でエラーがでる場合の対応方法]を参照してください。

npm install –g azure-cli

[-g]オプションをつけるとグローバルにインストールになります。
グローバルインストールをするとWindows環境では、[%APPDATA%\npm]配下に[node_modules]ディレクトリが作成され、そこにライブラリがインストールされます。同時に同ディレクトリにパスが通るようになり、どこからでもコマンドが呼び出せるようになります。

[-g]オプションをつけない場合は、ローカルインストールとなり、カレントディレクトリに[node_modules]ディレクトリが作成され、その配下にライブラリがインストールされます。

正常にインストールができたかを確認したい場合は、次のコマンドを実行します。

npm ls –g azure-cli

image

インストールが確認できたら次の子万dのを実行すると、Azureアスキーアートを見ることができます。

azure

image

 

npm install –g azure-cli でエラーがでる場合の対応方法

[Error: SSL Error: CERT_UNTRUSTED]とエラーがでてインストールできないときがあります。

image

CAをNullで設定してあげるとエラーを解消できるようになります。
CAをNULLで設定するために次のコマンドを実行します。コマンドを実行したら再度インストールを試してみてください。

npm config set ca “”

参考

5

intro, SQL Azure

連載: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

intro, SQL Azure

連載:Windows Azure SQL Databases入門

Windows Azure管理ポータルで、Azure SQL サーバーを作成する

Windows Azure管理ポータルを使用して、Windows Azure SQL Databaseサーバーを作成してみましょう。

Windows Azure管理ポータルにログインする

http://manage.windowsazure.com/にブラウザでアクセスし、サブスクリプション契約をしたMicrosoftアカウントでログインします。

次のログイン画面で、Windows Azure ADによるシングルサインオンに対応した組織アカウントのアドレスを入力した場合SSOでログインしてくれます。

image

Microsoftアカウントの場合は、自動的に次のログイン画面に遷移して、パスワードの入力を求められるので、パスワードを入力してログインします。

image

Windows Azure SQL Databasesサーバーの作成手順

左側サイドメニューから、SQLデータベースを選択します。

image

SQLデータベースが存在しない場合、データベースの新規作成を促す画面が表示されます。[SQLデータベースを作成します]をクリックして、データベースの作成をする最中に、SQL Databasesサーバーの作成も合わせてすることができます。

image

今回は、あえて個別にSQL Databasesサーバーを作成してみます。
上部メニューの[サーバー]を選択します。
image

[SQLデータベースサーバーを作成する]を選択します。

image

SQL Databasesサーバーの作成ダイアログが開きます。

image

次の項目を入力します。

  • ログイン名:SQL Databaseサーバーに接続する際のログイン名(参考:命名規則)を入力します。
  • パスワード:SQL Databaseサーバーに接続する際のパスワード(参考:パスワードのルール)を入力します。
  • パスワードの確認:パスワードと同じ文字列を入力します。
  • サブスクリプション:作成するSQL Databaseサーバーを紐付けるサブスクリプションを選択します。(参考:SQL Databasesの構成概要
  • 地域:SQL Databasesサーバーを作成するリージョン(データセンターの場所)を選択します。
  • Windows Azureサービスにサーバーへのアクセスを許可します。
    詳細は別途説明しますが、Windows Azure SQL DatabasesサーバーのFirewallの設定で、Azureサービスからのアクセスを許可するルールになります。

必要事項を入力したら、右下のボタンをクリックします。

image

ボタンをクリックすると自動的に、SQL Databasesサーバーが作成されます。
SQL Databasesサーバーのサーバー名はランダムな文字列が自動的に割り当てられ、ユーザーが任意の文字列を指定することはできません。
作成が完了するとサーバー一覧にサーバーが表示されます。

image

サーバー名をクリックすると、ようこそ画面的なものが表示されます。
上部ヘッダーメニューから[ダッシュボード]を選択します。

image

ダッシュボードの右側に、作成したSQL Databasesサーバーの詳細情報が表示されています。
その情報を参照すれば、
作成したSQL Databasesサーバーの接続先ホスト
・管理者ログイン名
・配置したデータセンター
・サブスクリプション名
・サブスクリプションID
・サーバーに作成されているデータベース数
を確認することができます。

image

ログイン名の命名規則

ログイン名は次の要件を満たしている必要があります。

  • SQL 識別子にする必要があります。
  • 次のようなシステム名にすることはできません。
    – admin、administrator、sa、root、guest、dbmanager、loginmanager など。
    – あらかじめ用意されている dbo、guest、public などのデータベース ユーザーやデータベース ロール。
  • 次の文字を使用することはできません。
    – スペース、タブ、改行などの空白文字
    – Unicode 文字
    – 英数字以外の文字 ("<>|:*?\/#&;,%=)
  • 先頭を次の文字にすることはできません。
    – 数字 (0 ~ 9)
    – @, $, +

パスワードのルール

パスワードは次の要件を満たしている必要があります。

  • 長さが 8 文字以上である
  • ログイン名がまったく含まれていない
  • 次の種類の文字が 3 文字以上含まれている
    – 大文字アルファベット (A ~ Z)
    – 小文字アルファベット (a ~ z)
    – 数字 (0 ~ 9)
    – 英数字以外の文字 (例: !、$、#、%)

3

intro, SQL Azure

連載:Windows Azure SQL Databases入門

Windows Azure SQL Databasesサーバーの作成方法

Windows Azureのサブスクリプション契約を結んだ後、Windows Azure SQL Databasesを使用するには、Windows Azure SQL Databasesサーバーを作成する必要があります。

Windows Azure SQL Databasesサーバーを作成する方法には、次の6通りあります。

※ PHP、Java、PythonのSDKでは機能提供されていませんでした。