Azure×EC-CUBEでお手軽ネットショップ構築
第7回 [開発合宿]Azure+EC-CUBEでマルチサイト構成を組んでみた
はじめまして。株式会社クロスキューブの佐々木です。concrete5 JapanのCTOを務めておりまして,
今回取り組んだ内容
合宿で何をするか,
実際にEC-CUBEの案件のお話しをいただく際に
そういった簡易的なショッピングモールのような構成のECサイトを構築したい場合に,
当初はPaaSからPaaSを作れるようにしようと思ったのですが,
そこでPaaSを増やしたり立ち上げたりする管理側はIaaSで単純なLAMP構成のサーバを作り,
- 管理サーバからAzureのAPIを叩いてPaaSを作ります。
- 管理サーバが持っているgitのリポジトリからEC-CUBEのコードをPaaSに展開します。
- 管理サーバ上のMySQLに新しいDBを作って,
PaaS用にEC-CUBEのdumpデータを流し込みます。
開発の舞台裏
まずAPIを叩いてみよう! 叩けない! (認証の壁)
PHPのSDKは最新の機能に追従していないらしく,
まずはMacOSからHTTPでRESTのAPIを呼び出すことを考えました。Azureのドキュメントを読むと,
AzureではAPIの認証すべてでこの証明書を使います。
- 「どこの認証局の?」
- 「勝手証明書でいいの?」
などなど,
Microsoftの佐藤さんに色々聞いて,
これをテキストエディタで開いて,
openssh pkcs12 -in publicAndprivate.pfx -nocerts -out privateKey.pem
と実行するとようやくpem形式の証明書が作れます
ためしにブラウザでこの証明書でRESTのAPIを叩いてみようと思ったのですが,
この時点で1日目はほぼ終了しており,
PaaSでAPIを叩けない!
冒頭でも書きましたが,
試しにPaaS上のPHPで
exec("dir",$res);
と実行してみましたが,
仕方無く方向転換です。AzureのIaaSでUbuntuのLAMP環境を作り,
感想~コマンドラインツールが優秀
Azureのコマンドラインツールはnode.
AzureのコマンドラインツールはLinux系のOSであれば,
npm install -g azure-cli
と実行すればインストールされます。
その後に先ほどのURLから落としてきた自分の証明書ファイルを
azure account import credentials.publishsettings
とかすると証明書もインポートされてすぐAPIを叩ける様になります。
azure --help
と叩くとヘルプが見れるので,
できあがったもの
当初は,
管理画面は慣れているconcrete5で作りました。
とても危険なことをやっているので,
このようにきちんとAzureの管理画面でも指定したPaaSができ上がっている事が確認できます。
まとめ
通常,
今回は限られた時間の中で手探りで色々触ってみましたが,
何よりMicrosoft Azureは,
バックナンバー
Azure×EC-CUBEでお手軽ネットショップ構築
- 第11回 [開発合宿]EC-CUBEへの動画レビュー投稿機能の実装
- 第10回 [開発合宿]Microsoft Azure ADのアカウント機能を使用した,複数サイトへのシングルサインオン
- 第9回 [開発合宿]Microsoft AzureのADを利用し,EC-CUBE/ポータルサイトでシングルサインオンを実現
- 第8回 [開発合宿]半日でAzure上にネットショップを作ってみた
- 第7回 [開発合宿]Azure+EC-CUBEでマルチサイト構成を組んでみた
- 第6回 [開発合宿]EC-CUBEとMicrosoft Dynamics CRMの連携
- 第5回 [開発合宿]Microsoft Azure WebサイトにおけるEC-CUBEの最適化
- 第4回 [開発合宿]EC-CUBE 2.13をSQL Databaseに対応させる
- 第3回 [開発合宿]EC-CUBE×Microsoft Azure用LinuxサーバをAzureに作ってみた
- 第2回 EC-CUBE×Microsoft Azure開発合宿レポート~ECの未来へ