Azure 活用シナリオ PHP ホームページを移行 1
1. サンプルホームページについて ここでは Windows Azure に移行するサンプルホームページについて説明します 移行するホームページは 1 枚の静的な HTML ページと PHP スクリプトからなる 1 枚で構成されています 大学向けの Web サイトを想定したページとなっています 2
1. サンプルホームページについて i. サンプルホームページの構成静的 HTML ページと PHP スクリプトからなるページが図のようにリンクしています PHP ページへ 研究室ホームページ TOP 研究室ホームページ TOP へ PHP ページ 3
2. 移行の為の開発環境の構築 ここでは 既存のサンプルホームページを Windows Azure に対応したアプリケーションに変更するための開発環境を以下の手順で準備します 表に記載してあるソフトウェア ツールをインストールします 表 1 開発環境 種類 開発ツール その他 製品 Eclipse Windows Azure Tools For Eclipse PHP5.3.8(PHPプログラムを使用している場合は必要 ) Java Runtime Environment browscap.ini(phpプログラムでブラウザ情報を取得している場合は必要 ) Windows Azure SDK 4
2. 移行の為の開発環境の構築 i. Java Runtime Environmentのインストール 以下のダウンロードサイトからダウンロードし インストールしてください Java Runtime Environment http://java.com/ja/download/ 5
2. 移行の為の開発環境の構築 ii. Eclipse のインストール 以下のダウンロードサイトからダウンロードし ダウンロードした zip ファイルを展開してください ここでは展開先は C: pleiades フォルダとします Eclipse http://mergedoc.sourceforge.jp/ 注 : 最新版を選択してください 注 :Ultimate または開発対象言語に対応したファイルをダウンロードしてください 6
2. 移行の為の開発環境の構築 iii. Windows Azure Tools For Eclipse のインストール Windows Azure Tools For Eclipseは Eclipseの 新規ソフトウェアのインストール 機能を利用してインストールします C: pleiades eclipse eclipse.exe をダブルクリックし Eclipseを起動してください Movie Azure Tools For Eclipse のインストール [ 今すぐ再始動 ] ボタンをクリックし 再始動すればインストールは完了です 7
2. 移行の為の開発環境の構築 iv. PHP のダウンロード (PHP プログラムを使用している場合のみ ) Windows Azure 上で PHP を動かすために PHP を入手します Eclipse に標準で組み込まれていますが 最新バージョンを入手します 以下のサイトから最新の PHP をダウンロードしてください http://windows.php.net/download/#top PHP 8 注 : お使いの OS に対応した Non Thread Safe バージョンの Zip ファイルをダウンロードしてください
2. 移行の為の開発環境の構築 v. browscap.ini ファイルのダウンロード (PHP でブラウザ情報を取得する場合のみ ) サンプルプログラムの PHP でブラウザ情報を取得するために browscap.ini ファイルを入手します 以下のサイトから最新の browscap.ini ファイルをダウンロードしてください Browscap.ini http://browsers.garykeith.com/downloads.asp 注 :Use Only PHP! と書かれたファイルの最新版をダウンロードしてください 9
2. 移行の為の開発環境の構築 vi. Windows Azure SDK のインストール 以下のダウンロードサイトからダウンロードし インストールしてください Windows Azure SDK http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=7a1089b6-4050-4307-86c4-9dadaa5ed018 注 : お使いの環境に合わせて WindowsAzureSDKx64.exe または WindowsAzureSDK-x86.exe をダウンロードしてください 10
3. ホームページの Web アプリケーション化 本項の作業で 既存の Web サイトをクラウドサービスとして提供できるように Windows Azure アプリケーション化を行います 11
3. ホームページの Web アプリケーション化 i. PHP の準備 (PHP プログラムを使用する場合 ) ダウンロードした PHP の zip ファイルを展開し フォルダー名を php に変更します ここでは C: php に展開します 作成した php フォルダー内の php.ini-recommended ( または php.inidevelopment) のファイル名を php.ini に変更します 12
3. ホームページの Web アプリケーション化 php.ini ファイルの内容を下記のように修正してください Extension_dir Date.timezone 編集項目 Cgi.force_redirect 0 Cgi.fix_pathinfo 1 Fastcgi.impersonate 1 browscap ext Asia/Tokyo extras/browscap.ini 注 : 既存の Web サイトに応じて必要な項目の変更を行ってください ダウンロードした browscap.ini ファイルを php フォルダーの中の extras フォルダーに配置してください 値 13 注 : ダウンロードした際のファイル名が browser.ini ではない場合 ファイル名は browser.ini に変更して配置してください
3. ホームページの Web アプリケーション化 ii. Eclipse の起動 Eclipse の実行ファイルを [ 右クリック ]-[ 管理者として実行 ] で実行します Eclipse の実行ファイルは C: pleiades eclipse eclipse.exe です デスクトップにショートカットを作成しておくと便利です 次のステップにて Eclipse を用いて既存のホームページの Windows Azure アプリケーション化を行います Eclipse 起動画面 14
3. ホームページの Web アプリケーション化 iii. Windows Azure PDT の準備 [ パースペクティブを開く ] より Windows Azure PDT を開き Windows Azure PHP プロジェクトを開始する準備を行います パースペクティブのアイコンをクリックし [ その他 ] を選択します Windows Azure PDT を選択し [OK] をクリックします 15
3. ホームページの Web アプリケーション化 iv. Windows Azure PHP プロジェクトを作成 [ ファイル ] [ 新規 ] [Windows Azure PHP プロジェクト ] を選択し プロジェクトを作成します 設定項目名 値 プロジェクト名 役割名 AzurePHP WebRole1 [PHP Runtime] タブをクリックし PHP ランタイムを指定します [ インストール済 PHP] [ 追加 ] を選択し ダウンロード済の最新版の PHP を指定します 作成されたプロジェクトにて web.config ファイルと web.roleconfig ファイルの内容を確認します Web.config ファイル 設定項目名 値 scriptprocessor path "%RoleRoot% approot php php-cgi.exe" "*.php" verb "*" modules "FastCgiModule" Web.roleconfig ファイル 設定項目名 値 16 application fullpath "%RoleRoot% approot php php-cgi.exe"
3. ホームページの Web アプリケーション化 Windows Azure PHP プロジェクトを作成 Movie AzurePHPプロジェクト作成 17
3. ホームページの Web アプリケーション化 iv. 静的ホームページと PHP ページの取り込み 静的ホームページ PHP ページ さらに css js images フォルダを Windows Azure PHP プロジェクトに全てコピーします コピーするファイル フォルダ ファイル フォルダ名 説明 sample0.html sample1.php css js images 静的ホームページ PHP ページスタイルシートフォルダ JavaScriptフォルダ画像フォルダ 余分なファイル (index.php) を削除し web.config ファイルでデフォルトページを設定します [Web.config] 設定する項目 値 defaultdocument sample0.html 18
3. ホームページの Web アプリケーション化 静的ホームページとPHP ページの取り込みホームページファイル取り込み Movie 19
4. 動作確認 ここでは既存の Web サイトが開発環境の Windows Azure で動作するか確認を行います 手順は以下の通り非常にシンプルです プロジェクトを右クリックし [Windows Azure] [ 開発ファブリックで Windows Azure PHP プロジェクトを実行 ] を選択 [Windows Azure] [ 開発ファブリックで Windows Azure PHP プロジェクトを実行 ] を選択します Eclipse の内部ブラウザで動作を確認することができます 20
5.Windows Azure 運用環境への展開 ここでは Windows Azure 化したアプリケーションを Windows Azure へ配置する方法を説明します 配置方法は 2 通りあります 1 Windows Azure 管理ポータルからパッケージを選択して配置する 2 Eclipse から Windows Azure 管理ポータルを使わずに配置する Eclipse から直接配置する方法は 証明書の登録など若干手順が複雑になるため ここでは Windows Azure 管理ポータルからパッケージを選択して配置する方法を説明します Windows Azure には サービスを実際に運用するための 運用環境 と 最終動作確認を行うための ステージング環境 が用意されています 基本的に アプリケーションを展開する場合には まずステージング環境にアプリケーションを配置して最終動作確認を行ったのち これを運用環境と入れ替えます 21
5.Windows Azure 運用環境への展開 i. インスタンス数の変更 まず サーバへのアップロードを行う前に 一旦仮想マシンのインスタンス数を 1 に減らしておきます Windows Azure では 利用した仮想マシンの台数分だけ課金が発生するため 最終動作確認の段階ではインスタンス数を最小数に設定し 動作確認 が取れてからインスタンス数を増やすのが鉄則です プロジェクトを右クリックし [ プロパティー ] を選択します [Windows Azure] [Configuration] を選択し インスタンス数を 1 に設定します Eclipse では 初期値のインスタンス数は 1 になっています 開発中にインスタンス数を変更していない場合は 当手順を実施する必要はありません 22
5.Windows Azure 運用環境への展開 ii. サービスのパッケージング Windows Azure では 開発済のアプリケーションをパッケージ化して展開します パッケージ化すると ******.cspkg というファイルが作成されます プロジェクトを右クリックし [Windows Azure] [Windows Azure PHP プロジェクト用 Windows Azure サービス パッケージの作成 ] を選択します 作成が完了すると自動的にフォルダが開き 作成されたファイルが表示されます 23
5.Windows Azure 運用環境への展開 iii. ステージング環境にアプリケーションを配置 パッケージ化して作成された ******.cspkg ファイルと 構成ファイルである ServiceConfiguration.cscfg というファイルをそれぞれアップロードすることで配置が完了します アプリケーション配置 Movie 24
5.Windows Azure 運用環境への展開 iv. ステージング環境で最終動作確認 ステージング環境ではダミーの URL が付与されます Windows Azure 管理ポータルの右側のプロパティを開き DNS 名 に表示されている URL をクリックして動作を確認してください 静的ホームページ PHP ページ 25
5.Windows Azure 運用環境への展開 v. 運用環境へ移行 ステージング環境で最終動作確認を行い 問題がなければ本番運用環境へ移行します 本番運用環境への移行は [VIP のスワップ ] で行います 移行するデプロイを選択し [VIP でスワップ ] をクリックします [VIP でスワップ ] をクリック 環境が ステージング から 運用 に移行 26
5.Windows Azure 運用環境への展開 vi. 本番運用環境で動作確認 本番運用環境の動作確認はステージング環境と同様の手順です ステージング環境ではダミーの URL が付与されていましたが 本場運用環境では正式な URL が付与されますので DNS 名 に表示されている URL をクリックして動作を確認してください 静的ホームページ PHP ページ 27
5.Windows Azure 運用環境への展開 vii. インスタンス数の変更と再配置 インスタンス数の変更や アプリケーションを修正した際の再配置は [ アップグレード ] によって行います 変更 再配置したいデプロイを選択し [ アップグレード ] をクリックすると ステージング環境に配置した際と同様にパッケージファイル 構成ファイルを選択し 変更 再配置が可能です 28 インスタンス数の変更は [ 構成 ] をクリックして 構成ファイルの内容を書き換えることでも可能です ステージング環境のデプロイに対しても 本番運用環境のデプロイに対してもインスタンス数の変更および再配置が可能です
6. 課金額の目安 Windows Azure の課金額は様々な課金要素から複合的に計算されます ここでは当シナリオのようにホームページを Windows Azure 環境で運用する際の一つの目安として 下記の条件で課金月額を計算します 課金項目想定単価 Hosted Service サイズ Small インスタンス数 1 11.76(1 時間あたり ) Azure Storage サイズ 10GB 14.70(1GBあたり ) アクセス数 / 日 1,000 0.98(1 万回あたり ) Data Transfers データ転送量 / 日 1GB 19.60(1GBあたり ) 合計月額 (31 日分 ) 9,507 課金額は変更されることがあります 最新の課金ロジックにつきましては以下の情報を参照してください http://www.microsoft.com/japan/windowsazure/pricing/ 29