IBM Cloud (Bluemix) を利用して5分でWebサーバーを公開する


開発中など、一時的にローカルじゃないWebサーバーを立てたい時ってありますよね。他ドメインに置いたデータをアクセスするロジックを試したい、とか。テスト中のページをメンバーに見てもらいたい、とか。

IBM Cloud (Bluemix)アカウントを持っている場合、5分もあればWebサーバー環境を起動できて、不要になったらすぐ消せます。便利なので、ぜひ試してみてください。

前提条件

以下の条件を満たしている方であれば誰でも利用できる小技です。

  • IBM Cloud (Bluemix) アカウントを持っていること
  • CFツールを導入 していること
  • 実行できる仮想マシンの枠が余っていること (特に無料アカウントの場合)

Web サーバーの作成

ターミナル (Windowsだとコマンドプロンプト) を起動し、適当なディレクトリで以下のコマンドを入力してIBM Cloud(Bluemix) にログオンします。

cf api https://api.ng.bluemix.net
cf login

続いて以下のコマンドを入力し、作業ディレクトリを作成します。'yamachan-web-test' はユニークである必要がありますので、ご自身で決めた適当な文字列に置き換えて入力してください。

md yamachan-web-test
cd yamachan-web-test

さて、ここからが本番です。以下のように入力して必要なファイルを作成します。

echo root: public > Staticfile
md public
echo Hello Bluemix > public/index.html

これで準備は完了です。以下のコマンドでWebサーバーを作成します。

cf push yamachan-web-test -m 64M

以下のように表示されればokです。

Webブラウザで表示されたURLにアクセスし、表示を確認しましょう。

Web サーバーの更新

作成した public ディレクトリの中身が、今回作成した Web サービスでそのまま公開されます。以下のように index.html の内容を修正し、cf push で IBM Cloud (Blluemix) 環境に反映します。

echo !! >> public/index.html
cf push yamachan-web-test -m 64M

Webページが更新されましたね。

Web サーバーの削除

Web サーバーが不要になったら以下のコマンドで作成したサービスと、公開時に自動設定されたルート設定を削除します。

cf ds yamachan-web-test
cf delete-route mybluemix.net -n yamachan-web-test

解説

今回のサービス利用のポイントは staticfile-buildpack の利用です。

CF (Cloud Foundry) 用のビルドパックには多くの種類がありますが、staticfile は nginx というWeb サーバーを動かすためのシンプルな環境です。

IBM Cloud (Bluemix) 環境に cf push で公開する際に、自動的にビルドパックの選択がおこなわれるのですが、Staticfile という名称の設定ファイルがあると、この staticfile-buildpack が選択されます。

このビルドパックはシンプルなので、実行にそれほどメモリを必要としません。そこで cd push の際に -m 64M オプションを付与することで、作成される仮想環境のメモリに 64M Bytes を指定しています。

設定ファイル Staticfile には root 指定だけが記載されており、public ディレクトリが指定されています。なのでWebサイト公開後はこの public ディレクトリがサーバーのルートとして公開され、配置されたファイルにアクセスできます。

おわりに

IBM Cloud (Bluemix) および Cloud Foundry 環境において、staticfile-buildpack は非常にお手軽、かつ便利なものです。

また CF の仕組み自体の便利さと、ビルドパックの自動選択の手軽さがうまくマッチして、お手軽に利用できる良い例になっていると思います。

ちょっとしたテストや公開用に、そして初心者の方が試す際の最初の一歩として、ぜひ活用してみてください。