SQL Azure, Windows Azure

msnnodesql(Microsoft Driver for Node.JS for SQL Server)にはx86とx64の2種類のバージョンが提供されています。
ローカルマシーンとPythonが64ビットで動作している場合、「npm install msnodesql」コマンドで、64ビットバージョンのmsnodesqlをインストールすればいいです。

しかし、Windows Azure Web Sitesではアプリケーションはx86で動作しているので、x86版のmsnodesqlが必要になります。
NPMでx86版をインストールするか、コンパイルバージョンをダウンロードできます。
Windows Azure Web Sitesのすべてのウェブサイトは、すべてIISのx86 WOWモードでホストされています。

情報源

Windows Azure

サブスクリプション名の変更方法

サブスクリプション名はデフォルトだと「Windows Azure MSDN Premium」などのように定型句が使用されます。複数サブスクリプションを管理するのに、すべて同じ名前だと管理しにくいので、サブスクリプション名を変更して見分けられるようにしましょうっというお話。

  1. Windows Azureサブスクリプション契約を結んでいるLive IDで、https://account.windowsazure.com/ にログインします。
  2. [アカウントセンター]をクリックします。
    SNAGHTML3e2ade53
  3. [サブスクリプション]を選択します
  4. サブスクリプション名を変更したいAzureサブスクリプションを選択します。
    SNAGHTML3e2b24b5
  5. 右下のメニューから[サブスクリプション詳細の編集]をクリックします。
    SNAGHTML3e2b8710
  6. サブスクリプション名を変更し、ウィザードを完了させます。
    SNAGHTML3e2d7323

Azure管理ポータルでサブスクリプションのフィルタリングに対応

同じアカウント配下に複数のWindows Azureサブスクリプションを持っている場合、リソースを正しい場所に配置するのが難しくなることがあります。2012年12月に、Windows Azure管理ポータルにサブスクリプションのフィルタリングオプションが提供されるようになりました。

SNAGHTML3e3ad86a

詳細については、Updates to Windows Azure (Mobile, Web Sites, SQL Data Sync, ACS, Media, Store)の「Subscription Filtering Support within the Windows Azure Portal」を参照してください。

もし1つしかサブスクリプションを持っていない場合は、本フィルターによる影響はありません。

すべてのサブスクリプションを選択している場合は、グレーのアイコンになっています。

image

選択していないサブスクリプションがあるときは、アイコンの色が変わっています。

image

情報源

この投稿は、MSDN BlogのWindows Azure Technical Support (WATS) Team Blogに投稿された「How to manage multiple Windows Azure Subscriptions」をざっくり意訳した投稿です。

Windows Azure

phpMyAdminは、WebベースのMySQLデータベースの管理ツールです。
テーブル作成、データの編集、データのエクスポート・インポートなど多くのタスクに使用します。
Windows AzureでMySQLのDB管理をするのに必要なツールだと思います。
Windows Azure Web SitesでphpMyAdminをインストールして設定する方法について説明します。

1. 空のサイトを作成する

最初に、Windows Azureで新しいサイトを作成します。
1サブスクリプションにつき10個まで無料でサイトを作成できるので、phpMyAdminは無料で動作させることができます。
Windows Azureポータル上の[Quick Create]オプションで新しい空のサイトを作成します。

2. MySQLデータベースの接続文字列の取得

すでに用意しているMySQLデータベースを使用するか、MySQLデータベースを作成して、サイト用のデータベースへのリソースページへのリンクを使用します。

サイトのダッシュボードページで、[View conneciton strings]を使用して、データベースの接続文字列を取得します。

phpMyAdmin経由でデータベースにログオンするために接続文字列を使用します。
接続文字列は次のようになります。

Database=some-db-name;Data Source=some-hostname;User Id=some-username;Password=some-password 

3. phpMyAdminのダウンロードと設定

オフィシャルサイトから最新のphpMyAdminを取得します。
ダウンロードしたら、解凍します。
example、js、libraries、setup、themesディレクトリと同じところにconfig.inc.phpファイルが作成されます。
そのファイルに以下の内容を貼り付けます。

<?php 
$cfg[‘blowfish_secret’] = ‘ba17c1ec07d65003’;  // use here a value of your choice 
$i = 0; 
/* First server */ 
$i++; 
/* Authentication type */ 
$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’; 
/* Server parameters */ 
$cfg[‘Servers’][$i][‘host’] = ‘some-hostname’;  // Replace with value from connection string 
$cfg[‘Servers’][$i][‘connect_type’] = ‘tcp’; 
$cfg[‘Servers’][$i][‘compress’] = false; 
$cfg[‘Servers’][$i][‘extension’] = ‘mysqli’; 
$cfg[‘Servers’][$i][‘AllowNoPassword’] = false; 
?> 

5. Windows AzureにphpMyAdminファイルをアップロードする

複数のアップロード方法が提供されていますが、ここではFTPを使用します。
FTPホスト名とユーザー名を管理ポータルのサイトのダッシュボードから取得し、接続します。
/site/wwwroot/ディレクトリにアップロードします。

6. MySQLデータベースにログオンする

新規に作成されたサイトにブラウザでアクセスします。
接続文字列から、ユーザIDとパスワードを確認してログオンします。

元ネタ

phpMyAdmin on Windows Azure Web Sitesをざっくり意訳した投稿です。

Windows Azure

1. phpinfo()

これがもっともよく使用するツールです。
PHPランタイムにかんする多くの情報を出力してくれます。
有効になっているPHPエクステンションや、サーバー情報やPHPの設定を確認することができます。

phpinfo()を使用するために、次の1行を含むPHPファイルを作成します。

<?php phpinfo(); ?> 

このファイル名は推測しにくいファイル名にしてください。
phpinfo.phpみたいなのは避けてください。
サイトのrootディレクトリにアップロードしてください。Webブラウザにアップロードすると次のようなページが出力されます。

phpinfoから出力される情報はセキュリティ上機敏な情報が含まれています。必要性がなくなったら、削除する用意してください。

2. wincache.php

WinCacheエクステンションは、PHP WebSitesで既定で有効になっています。
オペレーションコードやユーザーキャッシュの動作状況、現在のキャッシュコンテンツを確認するには、winchache source code リポジトリからダウンロードするwinchache.phpスクリプトを使用します。
スクリプトを取得し、ユーザ名とパスワードを編集して利用します。

/**  * ======================== CONFIGURATION SETTINGS ==============================
* If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0.
* If you use authentication then replace the default password.
*/ 
define(‘USE_AUTHENTICATION’, 1); 
define(‘USERNAME’, ‘someusername’); 
define(‘PASSWORD’, ‘somepassword’); 

websitesのルートディレクトリにアップロードし、Webブラウザでアクセスします。
次のような結果が出力されます。

3. PHP エラーログ

Windows AzureのPHPランタイムは、サイトのFTPルートは以下の/LogFilesにアプリケーションエラーログが格納されるように設定されています。

アプリケーションが動作していなかったり、ブランクページを表示する場合、エラーの詳細を確認するために、このファイルを参照してください。また運用時も定期的に確認するようにすると良いです。

デフォルトのエラーログ出力箇所を別の場所に変更することもできます。
.user.iniと呼ばれるファイルを作成し、次の行を追加します。

error_log=D:\Home\site\wwwroot\php_errors.log 

websaitsのルートディレクトリ(wwwroot)配下にファイルをアップロードします。

4. PHP display_errors

PHPランタイムのdisplay_errorsディレクティブは、HTTPレスポンスでえーらーを表示します。
プロダクション環境では、webサイト訪問者にエラーを見せないために、
OFFに設定しておくべきです。
開発、デバッグ目的で一時的に使用する際には、.user.iniファイルに次の内容を記載してください。

display_errors=On 
html_errors=On 
error_reporting = E_ALL 

アプリケーションでエラーがあると、Webブラウザにエラーが出力されます。

5. HTTPログ、詳細エラーメッセージ、失敗リクエストのトレース

デフォルトでは、HTTPロギング、詳細エラーメッセージ失敗リクエストのトレースはオフになっています。有効にするには、Windows AzureポータルでCONFIGUREページを使用します。

有効にすると、サイトのFTPルート配下のディレクトリにログが出力されます。

  • HTTPログファイル:/LogFiles/http/RawLogs;
  • 詳細エラーログ:/LogFiles/DetailedErrors;
  • 失敗リクエストのトレースログ:/LogFiles/W3SVC#########/;

6. XDebug PHP エクステンション

Xdebugは、数多くの有益なデバッグ情報を提供してくれるPHPスクリプトのプロファイリング、デバッグに役立つ、とても有名なPHPエクステンションです。
Windows AzureでXdebugを有効にするあために、ダウンロードページから適切にビルドされたXDebugエクステンションをダウンロードします。PHP 5.3を使用している場合は、「5.3 VC9 (32 bit)」をダウンロードします。PHP 5.4を使用している場合は、「5.4 VC9 (32 bit)」をダウンロードします。Windwos OSno64ビットを使用していても、32ビットでビルドされたものを使用します。
スレッドセーフ(TS)ビルドは使用しないでください。

/site/wwwroot/binディレクトリに、php_xdebug_####.dllファイルをアップロードしてください。
binディレクトリが存在しない場合は作成してください。
xdebugエクステンションを有効にするために、アップロード後Windows AzureポータルのCONFIGUREタブを使用します。

xdebugを有効にすると、詳細なエラーメッセージとコールスタックを取得できるようになります。

7. ClearDBのステータス

MYSQLデータベースのホスティングを提供するClearDBサービスはWindows Azureポータルに統合されています。ポータルからMySQLデータベースの管理と購入ができます。
課金も統合されており、ClearDBの課金はWindows Azureサブスクリプションに含まれています。

ADD-ONSタブを使用して、ClearDB管理ページにアクセスします。

ほかのデータベース管理情報にアクセスするのと同様、ClearDBクエリ情報ページが開きます。

データベースでのクエリの性能情報チャートが表示されます。

参考情報

PHP Troubleshooting in Windows Azure Web Sitesをざっくり抜粋して意訳した投稿です。

SQL Azure

Windows Azure Teamから、「SQLデータベース メンテナンスのお知らせ」というメールがきました。

お客様各位

SQL データベースのパフォーマンスを最適化するための継続的な取り組みの一環として、東南アジアデータセンターのネットワーク インフラストラクチャをアップグレードします。

本アップグレードの影響を最小限に抑えるため、お客様がご利用している地域におけるSQL データベースの利用状況を確認したうえでメンテナンスに最適な時間帯を決定させていただきました。
お客様のご利用している地域でのアップグレードスケジュールは下記のとおりです。下記の時刻より約 2 分間にわたりサービスが中断される予定です。
東南アジアデータセンター
2013年2月6日 午前6:00[日本時間]、協定世界時(UTC) 2月5日 午後9時

予定されているメンテナンスの最新状況については、 Windows Azure サービス ダッシュボードにアクセスしてください。

ネットワークの強化を実施するのにサービスダウンを伴うようです。
ピークオフの時間であるAM6時で実施することになったそうです。

ユーザーは、2/6に備えて準備をしましょう。