NTT Communications Cloudⁿ PaaS 操作マニュアル · 例に示した Sinatra とは、Ruby...

57
1 NTT Communications Cloudⁿ PaaS 操作マニュアル Ver.1.4 本冊子掲載の内容の二次配布(配布・転載・提供等)は、ご遠慮ください。

Transcript of NTT Communications Cloudⁿ PaaS 操作マニュアル · 例に示した Sinatra とは、Ruby...

1

NTT Communications

Cloudⁿ

PaaS 操作マニュアル

Ver.1.4

本冊子掲載の内容の二次配布(配布・転載・提供等)は、ご遠慮ください。

2

版数 編集日 変更内容

Ver.1.0 2013/3/23 初版作成

Ver.1.1 2013/7/18 アクセスログ、アクセス制限、Cloudn RDB連携を追記。VMCコマンドをUDNコマンドに変更。

Ver.1.2

2013/9/12

アプリケーションログ監視設定を追記。

Ver.1.3 2013/10/17 PHPメモリ設定変更方法を追記。

Ver.1.4 2014/2/17 任意のログファイルを収集,監視対象とする方法を修正。

3

1 はじめに P.4 ~ 1) サービスの概要 2) 事前に準備いただくもの

3 アプリケーションをデプロイ・管理する P.13 ~ 1) アプリケーションをデプロイする 2) アプリケーションを操作する 3) アプリケーションのログを確認する 4) アプリケーションのアクセスログを確認する 5) アプリケーションのリソース利用状況を確認する

6 独自ドメイン、SSLを利用する P.40 ~ 1) 独自ドメインを利用する 2) 独自ドメインにてSSLを利用する

目次

4 Built-Inサービスを使用する P.26 ~ 1) Built-Inサービスを作成する 2) Built-Inサービスをバインドする 3) Built-Inサービスを切り離す 4) Built-Inサービスを破棄する

7 アプリケーションのログを監視する P.43 ~ 1) アプリケーションログ監視設定を作成する 2) アプリケーションログ監視設定を更新する 3) アプリケーションログ監視設定を削除する 4) 監視条件のフォーマット

2 PaaSサービスの利用準備をする P.6 ~ 1) PaaSサービスを利用開始する 2) PaaSコンソールを起動する 3) クライアントソフトウェア(UDN)をインストールする

付録 P.57 1) PaaS APIについて

5 連携サービスを利用する P.35 ~ 1) Cloudn RDBを利用する

8 その他 P.54 ~ 1) 可用性を損なわずアプリケーションを更新する 2) アプリケーションのアクセス制御を設定する 3) PHPのメモリ割り当て(memory_limit)を設定する

Cloudn PaaS は、Pivotal 社が提供する Cloud Foundry を基盤とした PaaS 環境です。

Cloudn PaaS は、ネットワークやOS、アプリケーションサーバーなどのミドルウェアまで含めた、アプリケーション実行基盤を提供しており、お客様はこれら基盤の設定を気にすることなくアプリケーションの開発に集中できます。

また、Cloudn PaaS をご利用いただくことで、Web 上のコンソール経由で簡単に設定変更や監視を行うことができます。

Cloudn PaaS の主な特徴を以下に示します。

・ ミドルウェアまで含めたアプリケーション実行基盤の提供 - アプリケーションの開発のみに集中できます。

・ 容易なスケールアウト、スケールアップ - インスタンスの追加やメモリ容量の変更を簡単に行うことができます。

・ 開発用に利用可能なBuilt-Inサービス(PostgreSQLやMySQLなどのミドルウェア)の提供 - ボタン1つで、様々なサービスを追加していくことができます。

・ アプリケーションログの管理機能 - Webコンソールから、ログを閲覧できます。

本マニュアルでは、Cloudn PaaS の Web コンソールを利用した、実行基盤の設定・変更の方法を中心に説明します。 Cloudn PaaS は Cloud Foundry を基盤としているため、 Cloud Foundry が提供するほとんどの機能を実行することができます。

詳細な利用方法は、公式ホームページ(http://www.cloudfoundry.com/)をご参照ください。

ご不明な点などございましたら、Cloudnポータルにございますサポートポータルよりお問い合わせください。

Cloudn

共通FW/LB Object Storage インターネット

PaaS Relational Database

お客様 アプリケーション

高速 接続

Built-Inサービス (開発用)

Compute

AP お客様

1-1 ) サービスの概要

「【クラウド・エヌ】ご利用内容のご案内」 メール

開通時に送付される 「【クラウド・エヌ】ご利用内容のご案内」 を用意してください。

コンソールを閲覧するためのソフト(ブラウザソフト)

Firefox18.0.1 以降が推奨となります。

それ以外のブラウザは、一部、正常に表示されない場合がありますのでご注意ください。

インターネットに接続するためのサービス

インターネットへ接続するためのサービスをご用意ください。

例:OCNダイヤルアクセスサービス、OCN ADSL接続サービス、スーパーOCN等の常時

接続サービスなど。

※他社のインターネット接続サービスでもご利用いただけます。

※御社内にてプロキシサーバーを利用されている場合は、「https(ポート番号443)」 が開

放されていることをご確認下さい。

5

インターネットに接続するための機器

パソコンやモデム等、イントラネット/インターネットに接続する為に必要な機器をご用意ください。

Cloudn PaaSをご利用頂くにあたっては、以下のものをご用意ください。

1-2 ) 事前に準備いただくもの

6

PaaS サービスを利用開始します。

Cloudnポータルにログインし、ご利用いただいているリージョンの 「PaaS」 アイコンへのマウスオーバーにて表示される、「利用開始」 をクリックします。

1

クリック

サービス起動中を示すポップアップ画面が表示された後、PaaS のコンソール画面が表示されます。

2-1 ) PaaSサービスを利用開始する

7

一度、PaaS サービスにサインアップしていれば、PaaS コンソールは同様の手順で起動できます。

新しいウィンドウで PaaS コンソールが起動します。

Cloudnポータルにログインし、ご利用いただいているリージョンの、利用開始した 「PaaS」 アイコンへのマウスオーバーにて表示される、「コンソールへ」 をクリックします。

1

クリック

2-2 ) PaaSコンソールを起動する

Cloudn PaaS は Cloud Foundry をベースにしています。Cloudn PaaS へアプリケーションをデプロイするには Cloud Foundry を利用するためのクライアントソフトウェアが必要となります。代表的なソフトウェアは以下の通りです。

① VMC (コマンドラインツール)

② Spring Tool Suite (STS) もしくは Eclipse 用の Cloud Foundry エクステンション

本マニュアルでは、Cloudn 用に作られたインストーラーを用いて、Cloudn版VMC である UDN をインストールする手順を説明します。本インストーラーを利用することで、UDN の動作に必要なRuby 環境と一緒にインストールできます。

「udninstaller_0.3.23-r1.9.2_ja.exe」 をクリックし、ファイルをダウンロードします。

2

本インストーラーをご利用可能な環境は、Windows 7 およびそれ以降となります。Mac や Linux をご利用の場合は、本章最後の個別インストール方法を参照してください。

PaaS コンソール右上のアカウントメニューにある 「ダウンロード」 をクリックします。

1

クリック

8

すでに Ruby をインストールされている場合は、gem install udn コマンドを入力することでインストールできます。

クリック

2-3 ) クライアントソフトウェアをインストールする

ダウンロードしたファイルをダブルクリックし、インストールを開始します。セキュリティの警告画面が表示された場合は、「実行」 をクリックします。

3

クリック

9

使用許諾契約書をご一読の上で 「同意する」 を選択し、「次へ」 をクリックします。

クリック

2-3 ) クライアントソフトウェアをインストールする

注意事項が表示されます。「次へ」 をクリックします。

5

クリック

10

UDN のインストール先を指定します。特に変更がなければ 「次へ」 をクリックします。

6

クリック

2-3 ) クライアントソフトウェアをインストールする

プロキシをご利用の場合は、プロキシサーバーを設定し 「次へ」 をクリックします。プロキシをご利用していない場合は、そのまま 「次へ」 をクリックします。

7

クリック

11

インストールの準備が完了しました。「インストール」 をクリックし、インストールを開始します。

8

クリック

2-3 ) クライアントソフトウェアをインストールする

インストールが完了したら、「完了」 をクリックし終了します。

9

クリック

12

クライアントソフトウェアとして STS もしくは Eclipse 用の Cloud Foundry エクステンションをご利用になる場合は、以下をご参照ください。

http://docs.cloudfoundry.com/docs/using/managing-apps/ide/sts.html

インストーラーを使わずに UDN をインストールする場合は、まず Ruby をインストールする必要があります。以下のサイトにアクセスし、ダウンロード、インストールしてください。このとき、Ruby のバージョンは 1.9.2 を選択してください。Mac をお使いの場合は、Ruby をインストールする必要はありません。

http://www.rubyinstaller.org/

UDN のインストールは、スタートボタンより 「Ruby 1.9.2-p290」 → 「Start Command Prompt with Ruby」 をクリックし、Ruby のコンソールを起動したのち、以下のコマンドでバージョンを指定した上でインストールします。

> gem install udn

2-3 ) クライアントソフトウェアをインストールする

オリジナルの VMC をご利用の場合、以下の機能をご利用いただけません。

フレームワーク指定( > vmc push [アプリケーション名] --framework [フレームワーク名] )

タイムアウト設定( > vmc push [アプリケーション名] --timeout [タイムアウト時間] )

13

スタートボタンより 「Ruby 1.9.2-p290」 → 「Start Command Prompt with Ruby」 をクリックし、Ruby のコンソールを起動します。

1

アプリケーションをデプロイします。本マニュアルでは、Ruby/Sinatra アプリケーションを例に記述します。

コマンドを入力して Cloudn PaaS に接続・ログインします。

> udn login

Attempting login to [https://api.cloudnpaas.com]

Email: xxxx@cloudnpaas.com

Password: ************

ログインに必要な Email および Password は以下の形式で入力します。

Email:[アクセスキーID]'@cloudnpaas.com Password:[秘密鍵] アクセスキーID および 秘密鍵 は、 Cloudnポータルで生成・更新します。詳しい方法は「Cloudnポータル 操作マニュアル」 を参照してください。

以下のようなアプリケーションはご利用いただけません。

• ローカルディスクに永続データを書き込むアプリケーション (永続データを保存する場合、Object Storage を推奨致します) • アプリケーションインスタンス同士が独自に通信するアプリケーション • WebSocket など、コネクションを継続する動作をするアプリケーション(今後対応予定)

3-1 ) アプリケーションをデプロイする

14

cd コマンドを使い、デプロイしたいアプリケーションがあるフォルダーに移動します。以下は、絶対パスが 「C:¥Applications¥helloworld」 であるフォルダーに移動する例を示します。

3

require 'sinatra'

get '/' do

'<html><body>Hello World!</body></html>'

end

ファイル名:hello.rb

また、以下はファイルサンプルコードとして、Webブラウザ上に 「Hello World!」 と表示されるSinatra アプリケーションの例を示します。

> cd C:¥Applications¥helloworld

アプリケーションのフォルダーには、対象となるアプリケーション以外のファイルを含めないようにしてください。デプロイできないことがあります。

例に示した Sinatra とは、Ruby で作成され、Web アプリケーションの作成に特化したフレームワークです。Sinatra の詳細は以下の公式ホームページを参照してください。

http://www.sinatrarb.com/

3-1 ) アプリケーションをデプロイする

15

コマンドを入力し、アプリケーションを Cloudn PaaS にデプロイします。対話形式で質問事項が表示されます。以下は、「hello-world」 というアプリケーション名でデプロイする例を示します。

4

> udn push hello-world

Would you like to deploy from the current directory? [Yn]:

Detected a Sinatra Application, is this correct? [Yn]:

Application Deployed URL [hello-world.cloudnpaas.com]:

Memory reservation (128M, 256M, 512M, 1G, 2G) [128M]:

How many instances? [1]:

Bind existing services to 'hello-world'? [yN]:

Create services to bind to 'hello-world'? [yN]:

Would you like to save this configuration? [yN]:

Creating Application: OK

Uploading Application:

Checking for available resources: OK

Packing application: OK

Uploading (0K): OK

Push Status: OK

Staging Application 'hello-world': OK

Starting Application 'hello-world': OK

コンソールで対話形式にて表示される質問事項は、そのまま Enter キーを押すと[ ]内に表記されている設定が適用されます([Yn] は Yes, [yN] は No が適用されます)。

ここで指定したメモリサイズおよびインスタンス数は後で変更できます。

3-1 ) アプリケーションをデプロイする

16

以下のコマンドを入力し、アプリケーションが正しくデプロイされていることを確認します。以下は、アプリケーションの一覧を表示させ 「hello-world」 が RUNNING (実行中)であること、また 「hello-world」 の状態を確認する例を示します。

5

> udn apps +-------------+----+---------+---------------------------------+----------+ | Application | # | Health | URLS | Services | +-------------+----+---------+---------------------------------+----------+ | hello-world | 1 | RUNNING | hello-world.cloudnpaas.com | | +-------------+----+---------+---------------------------------+----------+ > udn stats hello-world +----------+-------------+----------------+--------------+---------------+ | Instance | CPU (Cores) | Memory (limit) | Disk (limit) | Uptime | +----------+-------------+----------------+--------------+---------------+ | 0 | 0.0% (4) | 27.8M (128M) | 56.0K (2G) | 0d:2h:31m:49s | +----------+-------------+----------------+--------------+---------------+

Web アプリケーションの場合は、Web ブラウザーを開き、実際にアプリケーションが動作していることを確認します。以下は、ブラウザーに 「Hello World!」 と表示させるアプリケーション 「hello-world」 が実行されている例を示します。

6

デプロイされたアプリケーションのデフォルト URL は、以下のアドレスになります。

[アプリケーション名].cloudnpass.com

3-1 ) アプリケーションをデプロイする

17

PaaS のコンソールにログインし、設定を変更したいアプリケーションをクリックします。以下は、 「hello-world」 を選択する例を示します。

1

実行中のアプリケーションの設定を変更します。具体的には、以下の設定変更が可能です。 ・ 停止 ・ 起動 ・ 破棄 ・ インスタンス数の変更 ・ メモリ容量の変更

本マニュアルでは、PaaS コンソールより、アプリケーションの設定を変更する手順を説明します。Ruby コンソールで設定を変更する場合は、本章の最後を参照してください。

クリック

ここでは 「動作中」 と表示されていますが、アプリケーションが停止している場合 は右のように 「停止中」 と表示されます。

「停止」 とは、アプリケーションを一時的に止める設定で、再度起動できます。一方、「破棄」 はアプリケーションそのものを消してしまうため、再度起動するためにはデプロイから行う必要があります。

メニューの 「アプリケーション」 からアプリケーション一覧を表示し、そこから選択することもできます。

3-2 ) アプリケーションを操作する

18

アプリケーションの停止、起動、破棄、インスタンス数やメモリ容量といった設定の変更を行います。インスタンス数およびメモリ容量は、変更したい値をクリックします。

2

ここでは 「アプリケーションの停止」 と表示されていますが、アプリ ケーションが停止している場合、右のように 「アプリケーションの起 動」 と表示されます。ここからアプリケーションを起動できます。

インスタンス数およびメモリ容量の変更は、アプリケーションの状態(停止/起動)に関係なく行うことができます。

3-2 ) アプリケーションを操作する

19

アプリケーションの設定変更は、Ruby コンソールを通じて行うこともできます。

停止させる場合: > udn stop [アプリケーション名]

起動させる場合: > udn start [アプリケーション名]

破棄する場合: > udn delete [アプリケーション名]

インスタンス数を変更する場合: > udn instances [アプリケーション名] [インスタンス数]

メモリ容量を変更する場合: > udn mem [アプリケーション名] [メモリ容量(MB単位)]

アプリケーションは、以下のコマンドで一覧表示でき、起動もしくは停止の状態、アプリケーションの URL、およびバインドされたサービスを確認することができます。

> udn apps

また、以下のコマンドでアプリケーションに対する現在のインスタンス数、CPU 使用率とコア数、メモリ使用量と上限値、ディスク使用量と上限値、起動時間確認することができます。

> udn stats [アプリケーション名]

表示例は、「3-1)アプリケーションをデプロイする」 の 手順5 を参照してください。

Ruby コンソールを通じて行う場合、設定を変更すると即座に反映されるため、十分に注意して行ってください。

変更を行う場合は、確認画面が表示されます。変更内容をご確認の上で操作してください。 以下は、アプリケーションを停止する例を示します。「停止する」ボタンをクリックすると、アプリケーションが停止します。

3

クリック

3-2 ) アプリケーションを操作する

20

PaaS コンソールにログインし、ログを確認したいアプリケーションをクリックします。以下は、「hello-world」 を選択する例を示します。

1

アプリケーションのログを確認します。

クリック

左メニューより、「ログ」 をクリックします。

クリック

メニューの 「アプリケーション」 からアプリケーション一覧を表示し、そこから選択することもできます。

3-3 ) アプリケーションのログを確認する

21

アプリケーションのログが一覧表示されます。ログファイルをクリックし、ログを確認することができます。

3

アプリケーションが出力する任意のログファイルを収集対象とするには、以下により環境変数 log pathsを設定し、対象ファイルを収集対象とします。 > udn env-add [アプリケーション名] log_paths='[¥"ファイルパス¥",¥"ファイルパス¥"]'

ログファイルのパスは、アプリケーションが出力するログファイルのパスの先頭に「app」を加えたものを指定します。 例えば、アプリケーション sample_appが、ローカル直下に出力する test.logを収集する場合、以下となります。 >udn env-add sample_app log_paths='[¥"app/test.log¥"]' 環境変数の確認は、以下で可能です。 >udn env sample_app +-----------+--------------------+ | Variable | Value | +-----------+--------------------+ | log_paths | [¥"app/test.log¥"] | +-----------+--------------------+ ※標準出力/エラーログ等はenv-addで再設定の必要はありません。 envを表示すると、独自ログのパスのみ表示される状態が正常です。

3-3 ) アプリケーションのログを確認する

22

PaaS コンソールにログインし、ログを確認したいアプリケーションをクリックします。以下は、「hello-world」 を選択する例を示します。

1

アプリケーションのアクセスログを確認します。ログファイルの指定方法については、本節の最後を参照してください。

クリック

左メニューより、「アクセスログ」 をクリックします。

クリック

メニューの 「アプリケーション」 からアプリケーション一覧を表示し、そこから選択することもできます。

3-4 ) アプリケーションのアクセスログを確認する

23

カレンダーが表示されます。アクセスログを取得したい日付をクリックすると、ダウンロードが始まります。アクセスログが存在しない日付はクリックできません。 当日のアクセスログは、次の日の朝9時以降にダウンロード出来るようになります。

3

3-4 ) アプリケーションのアクセスログを確認する

24

Paas のコンソールより、リソース利用状況を確認したいアプリケーションをクリックします。以下は、「hello-world」 を選択する例を示します。

1

アプリケーションのリソース利用状況を確認します。

クリック

左メニューより、「リソース利用状況」 をクリックします。

クリック

メニューの 「アプリケーション」 からアプリケーション一覧を表示し、そこから選択することもできます。

3-5 ) アプリケーションのリソース利用状況を確認する

25

リソースの利用状況が表示されます。

「基本情報」 の右に表示されるメニューより、インスタンスの変更や日時の変更を行えます。

3-5 ) アプリケーションのリソース利用状況を確認する

PaaS のコンソールにログインし、「サービス」 をクリックします。

1

Built-In サービスを作成します。本マニュアルでは、PaaS コンソールより、アプリケーションのBuilt-In サービスを作成する手順を説明します。Ruby コンソールで設定を変更する場合、本節の最後を参照してください。

クリック

右に表示される 「サービス追加」 をクリックします。

2

クリック

「サービス種類」 より追加するサービスの種類を選択し、「サービス名」 で任意の名前を指定します。その後、「作成」 をクリックします。以下は、mysql サービスを 「hello-mysql」 という名前で作成する例を示します。

3

クリック

26

4-1 ) Built-Inサービスを作成する

一覧に作成したサービスが表示されます。以下は、「hello-mysql」 が作成された例を示します。

4

サービスの生成は、Ruby コンソールを通じて行うこともできます。

> udn create-service [サービス種類] [サービス名]

また、以下のコマンドでサービスの一覧を表示し、生成されたことを確認できます。

> udn services

27

udn tunnel コマンド により、Built-In サービスへ直接接続することが可能です。 なお、udn tunnel を利用するとアプリケーション 「Caldecott」 が作成されますが(64MBメモリ,1インスタンス)、本アプリケーションは課金対象外となります。 ※ただし、「Caldecott」 アプリケーションのメモリ、インスタンス数を変更すると課金対象となります。 また、利用可能となるツールの例を以下に示します。

Service名 クライアント

MySQL mysql

PostgreSQL psql

MongoDB mongo

Redis redis-cli

4-1 ) Built-Inサービスを作成する

PaaS コンソールにログインし、「サービス」 をクリックしてサービス一覧を表示させます。その後、バインドするサービスをクリックします。以下は、「hello-mysql」 を選択する例を示します。

1

Cloudn PaaS 上のサービスをアプリケーションにバインドします 。本マニュアルでは、PaaS コンソールより、アプリケーションにバインドする手順を説明します。Ruby コンソールで設定を変更する場合は、本節の最後を参照してください。

クリック

「アプリケーションのバインド」 をクリックします。

2

クリック

クリック

28

4-2 ) Built-Inサービスをバインドする

プルダウンよりバインドするアプリケーションを選択した後、「バインドする」をクリックします。以下は、「testapp」 というアプリケーションにバインドする例を示します。

クリック

再度サービスを選択すると、バインドされたアプリケーションを確認できます。以下は、「hello-mysql」 サービスに 「testapp」 アプリケーションがバインドされている例を示します。

サービスのバインドは、Ruby コンソールを通じて行うこともできます。

> udn bind-service [サービス名] [アプリケーション名]

また、以下のコマンドでアプリケーションの一覧を表示し、それぞれのアプリケーションにバインドされたサービスを確認することができます。

> udn apps

29

4-2 ) Built-Inサービスをバインドする

30

バインドしたサービスに接続するために必要な情報(スキーマ名、ユーザ名、パスワード等)は、アプリケーションの環境変数 「VCAP_SERVICES」 に JSON 形式で格納されます。環境変数 「VCAP_SERVICES」 をアプリケーション内で参照するようにプログラムを作成する必要があります。

以下に、VCAP_SERVICES の値を参照するサンプルプログラムを示します。デプロイした本アプリケーションにサービスをバインドすることで、Web ブラウザ上で参照できます。

require "sinatra"

get '/' do

ENV['VCAP_SERVICES']

end

4-2 ) Built-Inサービスをバインドする

PaaS のコンソールのメニューから、「サービス」 をクリックし、切り離したいサービスをクリックします。以下は、「hello-mysql」 を選択する例を示します。

1

バインドされたサービスをアプリケーションから切り離します 。本マニュアルでは、PaaS コンソールより、アプリケーションから切り離す手順を説明します。Ruby コンソールで設定を変更する場合は、本節の最後を参照してください。

バインドされたアプリケーション欄の中から、切り離したいアプリケーションの右側の 「切り離し」 をクリックします。以下は、「testapp」 から切り離す例を示します。

2

クリック

クリック

31

4-3 ) Built-Inサービスを切り離す

確認画面が表示されます。「切り離し」 をクリックし、切り離しを実行します。以下は、サービス 「hello-mysql」 をアプリケーション 「testapp」 から切り離す例を示します。

クリック

サービスの切り離しは、Ruby コンソールを通じて行うこともできます。

> udn unbind-service [サービス名] [アプリケーション名]

また、以下のコマンドでアプリケーションの一覧を表示し、それぞれのアプリケーションにバインドされたサービスを確認することができます。

> udn apps

32

4-3 ) Built-Inサービスを切り離す

PaaSの コンソールのメニューから、「サービス」 をクリックし、バインドするサービスをクリックします。以下は、「hello-mysql」 を選択する例を示します。

1

Cloudn PaaS上のサービスを破棄します。本マニュアルでは、PaaS コンソールより破棄する手順を説明します。Ruby コンソールで設定を変更する場合は、本節の最後を参照してください。

「サービスの破棄」 をクリックします。

2

クリック

クリック

33

4-4 ) Built-Inサービスを破棄する

確認画面が表示されます。「破棄」 をクリックし、破棄を実行します。以下は、サービス「hello-mysql」 を破棄する例を示します。

クリック

サービスの破棄は、Ruby コンソールを通じて行うこともできます。以下のコマンドを実行するとサービスの一覧が表示されますので、破棄するサービスの番号を入力します。

> udn delete-service

また、以下のコマンドでサービスの一覧を表示し、破棄したサービスが表示されないことを確認できます。

> udn services

34

4-4 ) Built-Inサービスを破棄する

PaaS コンソールにログインし、「サービス」をクリックします。

1

本マニュアルでは、PaaS コンソールより、Cloudn RDB 連携を行う手順を説明します。Ruby コンソールで設定を変更する場合、本節の最後を参照してください。

クリック

作成済みの Cloudn RDB インスタンス一覧が表示されます。次に、利用したいインスタンスをクリックします。

2

クリック

35

Cloudn PaaS から Cloudn RDB インスタンスを新規作成することはできません。連携機能を利用する場合、あらかじめ Cloudn RDB のコントロールパネルから、インスタンスを作成しておく必要があります。

5-1 ) Cloudn RDBを利用する

プロンプトが表示されるので、Cloudn RDBインスタンスの MasterUserName および MasterPassword を入力し、「DB取得」 をクリックします。※ Cloudn PaaS のユーザー名・パスワードではありません

本マニュアルでは、PaaS コンソールより、Cloudn RDB 連携を行う手順を説明します。Ruby コンソールで設定を変更する場合、本節の最後を参照してください。

クリック

インスタンス内にあるデータベース一覧が表示されます。Cloudn PaaS で利用したいデータベース名の横にある 「登録」 ボタンをクリックします。

クリック

36

5-1 ) Cloudn RDBを利用する

この DB を登録しますか? と確認プロンプトが出るので、「登録」 をクリックします。

本マニュアルでは、PaaS コンソールより、Cloudn RDB 連携を行う手順を説明します。 Rubyコンソールで設定を変更する場合、本節の最後を参照してください。

クリック

37

サービス画面へ移動します。ここより先は 4-2) Built-Inサービスをバインドする 4-3) Built-Inサービスを切り離す と同じ手順で、アプリケーションへのバインド、切り離し操作が可能です。 また 4-4) Built-Inサービスを破棄する と同じ手順で,登録したデータベースと Cloudn PaaS との連携を解除することができます。 この際,built-inサービスを破棄する場合とは異なり,データベース内のデータは消去されません。

6

5-1 ) Cloudn RDBを利用する

Cloudn RDB 連携操作は、Ruby コンソールを通じて行うこともできます。

> udn register-service 1: cloudn_rdb Which service would you like to register?: 1 ← 1 を入力 1: paastest Which instance would you like to register?: 1 ← 利用したいインスタンスを指定 Master Username: masteruser ← インスタンスの MasterUserName Master Password: ***************** ← インスタンスの MasterPassword 1: cftestdb1 2: cftestdb2 3: cftestdb3 4: defaultdb Which database would you like to register?: 4 ← 連携したい DB を指定 Register Service [paastest-defaultdb]: OK 以下のコマンドで、連携したサービスの確認ができます。 > udn services ============== Cloudn Services ============== +------------+---------+---------------+--------------------+ | Service | Version | Plans | Description | +------------+---------+---------------+--------------------+ | cloudn_rdb | 5.5 | paid(default) | CloudN RDB service | +------------+---------+---------------+--------------------+ =========== Provisioned Services ============ +--------------------+------------+------+ | Name | Service | Plan | +--------------------+------------+------+ | mysql-9eb35 | mysql | free | | paastest-defaultdb | cloudn_rdb | paid | +--------------------+------------+------+ 作成後は 4-2) Built-Inサービスをバインドする 4-3) Built-Inサービスを切り離す と同じ手順で、アプリケーションへのバインド、切り離し操作が可能です。

38

5-1 ) Cloudn RDBを利用する

Cloudn RDB のデータベースを Cloudn PaaS に登録した後,Cloudn RDB 側で MaterUsername/MasterUserPassword を変更すると,認証情報の不整合が発生し,アプリケーションとデータベースのバインドや切り離しでエラーが発生するようになります。 この場合,以下のいずれかで不整合状態が解消されます。

a) MaterUsername/MasterUserPassword を Cloudn PaaS 登録時のものに戻す。 b) 「4-4) Built-Inサービスを破棄する」 の手順で,登録したデータベースと Cloudn

PaaS との連携を解除した上で,再度本節(6-1)ステップ1~7(あるいは前ページ)の手順で登録を行う。

39

5-1 ) Cloudn RDBを利用する

40

2

お客様が取得した独自ドメインを利用してアプリケーションにアクセスできるよう設定します。

コマンドを入力し、アプリケーションに対して独自ドメインによる URL をマッピングします。以下は、アプリケーション 「hello-world」 に対して、「www.hello-w.com」 をマッピングする例を示します。

必ず UDN コマンドで URL をマッピングしてから DNS を設定してください。DNS 設定後、他ユーザが UDN MAP コマンドを実施した場合、他ユーザがお客様のドメイン名を使用できてしまいます。

「3-1) アプリケーションをデプロイする」 の 手順2 を参照の上、UDN コマンドで Cloudn PaaS にログインします。

1

> udn map hello-world www.hello-w.com

Successfully mapped url

3

コマンドを入力し、マッピングされたことを確認します。以下は、「www.hello-w.com」 が追加された例を示しています。

> udn apps

+-------------+----+----------+----------------------------------------------+----------+ | Application | # | Health | URLS | Services | +-------------+----+----------+----------------------------------------------+----------+ | hello-world | 1 | RUNNING | hello-world.cloudnpaas.com, www.hello-w.com | | +-------------+----+----------+----------------------------------------------+----------+

4

DNS を設定します。CNAME にて、「userapp.cloudnpaas.com」 をご指定ください。設定方法は、ご利用の DNS サービスのガイドをご参照ください。

利用を解除するためには、以下のコマンドを用いて行います。 > udn unmap [アプリケーション名] [独自ドメインURL]

6-1 ) 独自ドメインを利用する

41

お客様が取得した独自ドメインにて SSL を利用する方法を記載します。事前に独自ドメインを利用してアプリケーションにアクセス可能な状態にしてください。

認証局より、SSL 証明書を取得してください。

1

2

証明書を CSR 生成環境にインポートし、証明書を秘密鍵含めて PEM 形式でファイルへエクスポートします。

独自ドメインで SSL を利用する場合、別途オプション料金が発生します。

証明書の取得方法は各社の Web ページをご参照ください。以下は、代表的な認証局を示します。

• 日本ベリサイン (https://www.verisign.co.jp/)

• エントラストジャパン(http://entrust.com/)

• グローバルサイン(http://jp.globalsign.com/)

証明書取得の際に必要な CSR 生成環境は、お客様にて準備が必要です。(Cloudn Compute の利用をお勧めします。)

6-2 ) 独自ドメインにてSSLを利用する

42

Cloudn サポートポータルにてチケット起票を行い、SSL設定を依頼してください。

・ 問い合わせ種別: その他

・対象サービス: Cloudn PaaS

・タイトル:SSL設定依頼

「問い合わせ内容」 欄に、以下をご記入の上、証明書(PEM形式)のファイルを添付します。

項目 説明

FQDN 対象の FQDN をご記述ください。

申込み区分 新規、変更、廃止のいずれかをご記入ください。

HTTP でのアクセス 許可する、もしくは許可しないをご指定下さい。許可した場合、http、https の両方でのアクセスが可能です。

許可しない場合、https でのみアクセス可能となります。

(ご指定がない場合には https のみアクセス可能となります)

PEM ファイルのパスワード

添付のPEMファイルのパスワードをご記入ください。

Cloudnサポートポータルのご利用方法は、「サポートポータル操作マニュアル」 をご参照ください。

4

設定完了後、チケットの回答にて、SSL でアクセスする際のグローバル IP アドレスが通知されます。ユーザからアクセスを受け付ける FQDN にて、IP アドレスを解決できるよう、DNS を設定してください。

2013年度内に SSL 対応方式の変更を予定しており、お客様へ移行をお願いする可能性があります。移行時には Global IP の変更が発生しますが、1ヶ月以上の並行運用期間を設け、アプリケーションに影響のない切り替え方法を提供します。お客様にて必要な作業は、DNS による名前解決アドレス(Global IP)の変更となります。

6-2 ) 独自ドメインにてSSLを利用する

1

お客様アプリケーションが出力するログの監視を行い、指定されたキーワードを検知した場合、お客様にメール通知を行う設定をします。

別途オプション料金が発生します。

2

7-1 ) アプリケーションログ監視設定を作成する

43

PaaS のコンソールより、新しくログ監視設定を行いたいアプリケーションをクリックします。以下は、「hello-world」 を選択する例を示します。

クリック

左メニューより、「アプリログ監視設定」 をクリックします。

クリック

3

4

7-1 ) アプリケーションログ監視設定を作成する

44

「新規作成」をクリックします。

ポップアップで表示された入力フォームに必要事項を入力し、「作成」をクリックします。

クリック

項目 説明

設定名称 監視設定の識別に利用します。

・同一アプリ内で重複しない名称を入力してください。

・設定名称は全角または半角32文字以内で入力して下さい。

ログファイル名 監視対象のログファイルをプルダウンから選択します。

・任意のログファイルを監視対象とするには、環境変数 log pathsを設定し、対象ファイルを収集対象とします。設定方法は、p21,「3-3)アプリケーションのログを確認する」をご参照下さい。

・ログ出力履歴のないファイルは表示されません。

監視条件 ログの監視条件を指定します。

・記入内容は後述の「監視条件のフォーマット」をご参照ください。

連絡先メールアドレス 監視条件にマッチするログを検知した際の連絡先メールアドレスを入力してください。

・メールアドレスは1件のみ入力してください。

クリック

5

6

監視対象のログが出力されてから 60 秒間分のログがまとめて通知されます。よって、メールの送信はログの出力から 60 秒後となります。

7-1 ) アプリケーションログ監視設定を作成する

45

作成完了後、アプリログ監視設定のトップ画面が表示され、現在の登録内容一覧が表示されます。

監視対象のログが出力されると、以下のフォーマットのメールが送信されます。

項目 内容

メールタイトル [Cloudn PaaS]監視対象キーワードを検知しました

メール送信者 Cloudn PaaS <[email protected]>

メール本文 Cloudn PaaS アプリログ監視システムにて、監視対象キーワードを検知しました。

アプリケーション名: hello_world (https://paas.cloudn-service.com/myapps/hello_world)

アプリケーションURL: http://hello_world.cloudnpaas.com

設定名称: ログ監視_001

ログファイル名: logs/stdout.log

監視条件: ”error” OR “exception”

ログ出力時間: 2013-08-28T16:06+0900

マッチしたログの行: exception occuered

-------------------------------------------------------------------------

※メール本文は検知された件数分、同一のメールに記載されます。

1

設定済みのアプリケーションログ監視設定を更新します。

2

7-2 ) アプリケーションログ監視設定を更新する

46

PaaS のコンソールより、ログ監視設定の更新を行いたいアプリケーションをクリックします。以下は、「hello-world」 を選択する例を示します。

クリック

左メニューより、「アプリログ監視設定」 をクリックします。

クリック

3

4

7-2 ) アプリケーションログ監視設定を更新する

更新したいログ監視設定の「編集」をクリックします。

ポップアップで表示された入力フォームに必要事項を入力し、「更新」をクリックします。 入力内容は新規作成に準じます。

クリック

クリック

47

5

7-2 ) アプリケーションログ監視設定を更新する

更新完了後、アプリログ監視設定のトップ画面が表示され、現在の登録内容一覧が表示されます。

48

1

設定済みのアプリケーションログ監視設定を削除します。

2

7-3 ) アプリケーションログ監視設定を削除する

49

Paas のコンソールより、ログ監視設定の削除を行いたいアプリケーションをクリックします。以下は、「hello-world」 を選択する例を示します。

クリック

左メニューより、「アプリログ監視設定」 をクリックします。

クリック

3

4

7-3 ) アプリケーションログ監視設定を削除する

削除したいログ監視設定の「削除」をクリックします。

削除実行の確認プロンプトが出るので、「破棄」 をクリックします。

クリック

クリック

5 削除完了後、アプリログ監視設定のトップ画面が表示され、現在の登録内容一覧が表示されます。

50

監視条件には、出力されたログを検知する「キーワード」と、複数条件を接続する「論理演算子」、演算をグループ化する「グループ演算子」が入力可能です。本項では「キーワード」、「論理演算子」、「グループ演算子」のフォーマットを解説します。

7-4 ) 監視条件のフォーマット

51

2

キーワードは以下の条件を満たす必要があります。

項番 条件

1 キーワードの前後を「”」で囲む

例) “error”

2 キーワード内に「”」を入力したい場合、「¥」でエスケープする

例) “error¥” ¥”exception”

キーワードは大文字小文字の区別を行いません。

したがって、「error」を設定した場合、「error」「ERROR」「Error」等が検知されます。

1

「キーワード」「論理演算子」「グループ演算子」で構成される監視条件は、以下の条件を満たす必要があります。

項番 条件

1 「キーワード」「論理演算子」「グループ演算子」の区切り文字には半角スペースを用いる

2 「キーワード」「論理演算子」「グループ演算子」「区切り文字」全て合わせて128

文字以下

※文字数のカウントは全角半角を区別しません

7-4 ) 監視条件のフォーマット

52

4

利用可能なグループ演算子は以下となります。

項番 演算子 説明

1 () 演算をグループ化し、明示的に優先順位を付けます

例) (“error” OR “exception”) AND “fatal”

“error”または“exception”が含まれており、かつ、”fatal”

が含まれているログを検知します。

3

利用可能な論理演算子は以下となります。

項番 演算子 説明

1 AND 本演算子の前後のキーワードを論理積として接続します。

例) “error” AND “exception”

“error”かつ“exception”が含まれているログを検知します。

2 OR 本演算子の前後のキーワードを論理和として接続します。

例) “error” OR “exception”

“error”または“exception”が含まれているログを検知します。

3 NOT 本演算子の前後のキーワードを否定として接続します。

例) “error” AND NOT “APIerror”

“error”は含まれるが“APIerror”を含まないログを検知します。

7-4 ) 監視条件のフォーマット

53

5

「キーワード」「論理演算子」「グループ演算子」を組み合わせた監視条件のサンプルを以下に示します。

項番 条件 説明

1 “error” AND “exception” “error”かつ”exception”を含む

2 “error” OR “exception” “error”または”exception”を含む

3 “error” AND NOT “info” “error”かつ“info”を含まない

4 “error” OR NOT “success” “error”含むか“success”を含まない

5 (“error” AND NOT “info”) AND

“fatal”

“error”を含むが“info”を含まず、かつ”fatal”を含む

6 (“error” AND NOT “info”) AND

(“fatal” OR “critical”)

“error”を含むが“info”を含まず、かつ”fatal”または”critical”を含む

1

アプリケーションの更新やメモリ容量の変更などを行う場合、アプリケーションが再起動されます。本項では、アプリケーションの可用性を損なわずに更新する方法を記載します。

新しいアプリケーションを新しい名前でデプロイします。 ここでは、新しいアプリケーションの名前を 「hello-world_2」 とします。

2

コマンドを入力し、更新しようとしているアプリケーションの URL をマッピングします。以下は、アプリケーション 「hello-world」 に対して、新たなアプリケーション 「hello-world_2」 をマッピングした例を示します。

> udn map hello-world_2 hello-world.cloudnpaas.com

Successfully mapped url

3

古いアプリケーションを破棄、もしくは停止します。

アプリケーション名も元に戻したい場合は、古いアプリケーションの破棄をした後に同様の手順で切り替えを行って下さい。

8-1 ) 可用性を損なわずアプリケーションを更新する

54

1

実行中のアプリケーションに対して、特定のユーザのみ閲覧可能とする、アクセス制御を設定する方法を記載します。(本設定を行わない場合は、全てのユーザからアクセスすることが可能となります。)

新しいアプリケーションを新しい名前でデプロイします。 ここでは、新しいアプリケーションの名前を 「hello-world_3」 とします。

2

コマンドを入力し、アクセス制御の設定をする更新しようとしているアプリケーションに対して、アクセスを許可する IP アドレス帯を CIDR 記法(※1)で設定します。「,」(カンマ)で区切ることで、複数の IP アドレス帯を設定することも可能です。

> udn env-add hello-world_3 ALLOW_CIDR_WHITELIST=“10.10.10.0/24,10.10.20.0/24” Adding Environment Variable [ALLOW_CIDR_WHITELIST=10.10.10.0/24,10.10.20.0/24]: OK Stopping Application 'hello-world_3': OK Staging Application 'hello-world_3': OK Starting Application 'hello-world_3': OK

3

対象のアプリケーションを指定して、設定された内容を確認します。

Proxy サーバ等が設置されているネットワーク環境下においては、 Cloudn PaaSの直近のアドレス帯(Proxyサーバ等)を設定する必要があります。

※1:CIDR とは 「Classless Inter-Domain Routing 」 の略であり、アドレスの集約的表現を可能となります。

設定を変更する場合は、必ず、一度設定内容を削除後に新規に登録をしてください。

「udn env-add」 コマンドでは、同じ名前(ALLOW_CIDR_WHITELIST)で複数登録ができます。そのため、登録後は、「udn env」 コマンドで 「ALLOW_CIDR_WHITELIST」 が1つだけ登録されていることを確認してください。

> udn env hello-world_3 +----------------------+-----------------------------+ | Variable | Value | +----------------------+-----------------------------+ | ALLOW_CIDR_WHITELIST | 10.10.10.0/24,10.10.20.0/24 | +----------------------+-----------------------------+

8-2 ) アプリケーションのアクセス制御を設定する

55

1

runtimeにPHPを指定した際、PHPアプリケーションに割り当てられるメモリサイズ(php.iniのmemory_limit値)、および受け入れられる同時接続数(ApacheのMaxClients値)は、PaaSインスタンスサイズに応じて自動的に適した値が設定されます。また、必要に応じてメモリ割り当てを任意の値に設定することが可能です。

メモリ割り当てを増やせば、規模の大きなPHPアプリケーションを動作させることができます。逆に、意図的にメモリ割り当てを減らすことで、MaxClients値(自動設定)を大きくし、1インスタンスで捌ける同時接続数を増やすこともできます。

新しいPHPアプリケーションを新しい名前でデプロイします。 本項では、新しいアプリケーションの名前を 「phpinfo」 とします。

2

udn env-addコマンドを入力し、設定したいメモリサイズを数値で指定します。単位はMBとなります。 次に、udn updateコマンドを入力します。udn updateを行わないと、メモリ設定が反映されませんのでご注意ください。

> udn env-add phpinfo PHP_MEMORY=256 Adding Environment Variable [PHP_MEMORY=256]: OK Stopping Application ‘phpinfo': OK Staging Application ‘phpinfo': OK Starting Application ‘phpinfo': OK > udn update phpinfo Uploading Application: Checking for available resources: OK Packing application: OK Uploading (8K): OK Push Status: OK Stopping Application 'phpinfo': OK Staging Application 'phpinfo': OK Starting Application 'phpinfo': OK

3 phpinfoなどを利用して、設定の確認を行います。

8-3 ) PHPのメモリ割り当て(memory_limit)を設定する

56

メモリ割り当て設定を変更する場合は、必ずインスタンスのメモリサイズ以内に収まるようにしてください。インスタンスサイズを超えるメモリ割り当てを行った場合、アプリケーションが予期せぬ挙動を起こす可能性があります。

Cloudn PaaS では、REST API によりアプリケーションの状態確認や操作が可能です。Cloud Foundry の標準 API に加えて、Cloudn PaaS の拡張 API を利用可能です。

• レスポンスは全て JSON 形式です。 • エンドポイントは https://api.cloudnpaas.com となります。

分類 役割 HTTP Method URL

Cloud Foundry

標準API

PaaS情報の取得 GET /info

PaaSのBuilt-In Service情報の取得 GET /info/services

PaaSのサポートするRuntime情報の取得 GET /info/runtimes

ユーザ情報の取得 GET /users/:user_id

ユーザ情報の更新 PUT /users/:user_id

認証トークンの取得 POST /users/:user_id/tokens

ユーザアプリケーション一覧の取得 GET /apps

ユーザアプリケーションの作成 POST /apps

ユーザアプリケーション情報の取得 GET /apps/:appname

ユーザアプリケーションの更新 PUT /apps/:appname

ユーザアプリケーションの削除 DELETE /apps/:appname

ユーザアプリケーションを構成するインスタンス情報の取得

GET /apps/:appname/instances

ユーザアプリケーションのステータス情報の取得 GET /apps/:appname/stats

ユーザアプリケーションのクラッシュ情報の取得 GET /apps/:appname/crashes

(インスタンス別の)ファイル一覧の取得 GET /apps/:appname/instances/:insta

nce_id/files

(インスタンス別の)ファイル内容の取得 GET /apps/:appname/instances/:insta

nce_id/files/*path

Cloudn PaaS

拡張API

ログファイル一覧の取得 GET /apps/:appname/logs

ログファイル内容の取得 GET /apps/:appname/logs/*path

API の詳細仕様につきましては、別途 「PaaS APIマニュアル」 をご参照ください。

付録-1 ) PaaS API について

57