次は、アプリケーションの動作環境を見ていきます。まずはAzureからです。
Windows Azureの動作環境には、以下の2つがあります。
VMロールに関しては、Hyper-Vイメージの作成と同様で、環境構築が可能です。今回は、WebロールでPHPアプリケーションを動作させる方法について紹介します。
Webロール向けにPHPアプリケーションを作成する方法は、複数存在しますが、Windows Azure Tools for Eclipseは、最新のWindows Azure SDKに対応していない点に注意してください。ここでは、次の2つを説明します。
Windows Azure Tools for Eclipseの利用
Windows Azure Tools for Eclipseは、Eclipse上でWindows Azureアプリケーションの開発を支援するツールで、PHPアプリケーションの開発にも利用することができます。Windows Azure Tools for Eclipseには、Windows Azureプロジェクトの作成、既存のPHPプロジェクトからのマイグレーション支援、ローカルマシンでWindows Azureの動作環境をエミュレートする開発ファブリック上でのデバッグ機能などがあります。
Windows Azure Tools for Eclipseを利用するには、事前にWindows Azure SDK 1.3のインストールが必要です。執筆時点(2012年2月)では、最新版であるWindows Azure SDK 1.6には対応していないので、注意してください。最新のソフトウェアを入手するWeb Platform Installerは利用せず、Windows Azure ダウンロードから直接 Windows Azure SDK 1.3などをダウンロードする必要があります。
あとは、Eclipseをインストールすれば、Eclipse Marketから簡単にインストールできます。
環境構築や利用方法についての詳細は、別途「PHP+EclipseでWindows Azureアプリケーションを開発しよう」を参照してください。
Azure固有の話ではありませんが、PDT(PHP Development Toolkit)やAptanaを利用すると、EclispeにPHPのプログラミングのサポートを追加することができ、ハイライティングやインデント、メソッドや変数の補完ができるようになります。Eclipseを利用する場合は、AptanaやEclispe PDTを利用すると良いでしょう。
環境構築の完了後、Eclipseの「Windows Azure PDT」パースペクティブからPHPアプリケーションの開発ができます。
Windows Azure SDK for PHPを利用した開発
Windows Azure SDK for PHPは、PHPからWindows AzureおよびWindows Azure Storageを利用するためのライブラリとツールを提供します。Windows Azure SDK for PHPを利用することにより、AzureのAPIを利用してAzureの機能を利用したPHPアプリケーションを開発し、開発したアプリケーションをパッケージングしAzureにデプロイすることができるようになります。
Windows Azure SDK for PHPの利用には、Web Platform Installerを利用して、下記のソフトウェアをインストールする必要があります。
具体的なセットアップ手順は、Build and deploy a Windows Azure PHP applicationに詳しく紹介されていますので、参考にしてください。
Windows Azure SDK for PHPは、開発ライブラリの提供、アプリケーションのパッケージングやデプロイなどをするツールであり、開発環境を提供している訳ではありません。
そこで、Microsoftが提供するWebアプリケーション開発ツールであるWebMatirixを一緒に使うと、効率よくPHPアプリケーションを開発することができます。WebMatrixを利用すると、PHP開発時のインテリセンスやコードハイライトのほか、Internet Explorer/Firefox/Safari の3ブラウザで同時にPHPアプリケーションを起動して動作確認することも可能です。
WebMatixでAzureのPHPアプリケーションを開発する前に、Windows Azure SDK for PHPのscaffolderコマンドを利用して、Windows Azure向けのPHPアプリケーションのテンプレートを生成する必要があります。例えば、次のように実行します。
> scaffolder run -out="C:\temp\WindowsAzurePHPApp"
あとは、WebMatixのプロジェクトの設定で上記のフォルダを指定すれば、WebMatrixで開発することができます。
WebMatrixで作成したアプリケーションについては、再びWindows Azure SDK for PHPを利用します。SDKに含まれるpackage コマンドにより、Windows Azureデプロイ用のパッケージを作成することができます。作成したパッケージは管理ポータルサイトを利用して、ブラウザ経由でデプロイすることが可能です。
> package create -in="C:\temp\WindowsAzurePHPApp" -out="C:\temp\WindowsAzurePHPApp\build" -dev=false
ブラウザ経由でのデプロイのほか、コマンドラインを利用してパッケージを直接デプロイすることも可能です。
デプロイ前に証明書を作成する必要があるため、Overview of Command Line Deployment and Management with the Windows Azure SDK for PHPを参照して証明書を作成します。2つの形式の証明書を作成し、管理ポータルサイト側に *.cer形式の証明書を登録、 *.pem形式の証明書をクライアント側に作成します。また、証明書の作成は2回目以降のデプロイ時には不要です。
上記の手順完了後に、以下のコマンドを実行することで、作成したパッケージを管理ポータルサイト側にデプロイすることが可能です。
>deployment CreateFromLocal -sid="<サブスクリプションID>" -cert="c:\temp\WindowsAzurePHPApp\mycert.pem" --Name="<ホスティッドサービスのDNS名>" --DeploymentName="PHPApp" --Label="myLabel" --BySlot="production" --PackageLocation="c:\temp\WindowsAzurePHPApp\build\WindowsAzurePHPApp.cspkg" --ServiceConfigLocation="c:\temp\WindowsAzurePHPApp\build\ServiceConfiguration.cscfg" --StorageAccount="<ストレージサービスのDNS名>" --StartImmediately
Copyright © ITmedia, Inc. All Rights Reserved.