連載
» 2012年03月07日 00時00分 公開

AWS×Azure PHP導入と開発環境の対決PHP開発で使える2大クラウドを徹底検証(2)(2/3 ページ)

[岡本隆史, 勇大地,@IT]

Azureのアプリケーション開発環境

 次は、アプリケーションの動作環境を見ていきます。まずはAzureからです。

 Windows Azureの動作環境には、以下の2つがあります。

  • Webロール … IIS上でPHPアプリケーションが動作 … IIS上でPHPアプリケーションが動作
  • VMロール … OSからインストールするため、任意のWebサーバでPHPアプリケーションが動作

 VMロールに関しては、Hyper-Vイメージの作成と同様で、環境構築が可能です。今回は、WebロールでPHPアプリケーションを動作させる方法について紹介します。

 Webロール向けにPHPアプリケーションを作成する方法は、複数存在しますが、Windows Azure Tools for Eclipseは、最新のWindows Azure SDKに対応していない点に注意してください。ここでは、次の2つを説明します。

  • Windows Azure Tools for Eclipseの利用
  • Windows Azure SDK for PHPの利用

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アプリケーションの開発ができます。

図3 Eclipseを利用した編集画面(クリックで拡大) 図3 Eclipseを利用した編集画面(クリックで拡大)

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を利用して、下記のソフトウェアをインストールする必要があります。

  • Windows Azure SDK for .NET
  • PHP 5.3.X
  • PHP Manager for IIS
  • IISでのMicrosoft SQL Driver v2.0 for PHP v5.3

 具体的なセットアップ手順は、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で開発することができます。

図4 WebMatrixを利用した編集画面(クリックで拡大) 図4 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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。