14
AWS上でCloud Foundryを構築してみた 技術センター 技術開発部門 小久保 祐一 2012.1.19 NTT Software Corporation http://www.ntts.co.jp/ http://www.nttsoft.com/

aws上でcloud foundryを構築してみた

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: aws上でcloud foundryを構築してみた

AWS上でCloud Foundryを構築してみた

技術センター 技術開発部門

小久保 祐一

2012.1.19

NTT Software Corporation

http://www.ntts.co.jp/

http://www.nttsoft.com/

Page 2: aws上でcloud foundryを構築してみた

2

AWS上でCloud Foundryを構築してみた

• Amazon EC2 上にCloud Foundryのマルチノード

環境をセットアップ

– 検証を行う環境は付属のsample/multihost_mysql

セットアップスクリプトで構築

• Amazon CloudWatch、Auto Scalingを使って、

Cloud FoundryのDEAをスケーリング

今後検証今後検証今後検証今後検証

Page 3: aws上でcloud foundryを構築してみた

3

Cloud Foundry(マルチノード) on Amazon EC2

resresresrestttt

※上記枠内の図は、Derek Collision 「Cloud Foundry The Building of the Open PaaS」 P26 から引用

http://assets.en.oreilly.com/1/event/61/CloudFoundry%20-%20The%20building%20of%20the%20Open%20PaaS%20Presentation.pdf

mysql0mysql0mysql0mysql0,,,, mysql1mysql1mysql1mysql1

deadeadeadea

Page 4: aws上でcloud foundryを構築してみた

4

Cloud Foundry(マルチノード) on Amazon EC2

• AWS利用準備

– AWSのアカウントを取得する、キーペアの生成、セキュリティグループの

設定等を行う

• セキュリティグループには 22, 80 のinboundを許可する

Page 5: aws上でcloud foundryを構築してみた

5

Cloud Foundry(マルチノード) on Amazon EC2

• 指定したAMIでEC2インスタンスを起動する

– Ubuntu Lucid 64bit (Largeインスタンス、ami-ed227ea8)

– リージョンはus-westを使用

– AMI Locator

• http://cloud.ubuntu.com/ami/

– AWS Management Console (EC2)

• https://console.aws.amazon.com/ec2/home?region=us-west-1&

Page 6: aws上でcloud foundryを構築してみた

6

Cloud Foundry(マルチノード) on Amazon EC2

• Cloud Foundryをインストールする

– 事前準備として、ruby-full, rubygems, git-coreをインストール

– git cloneでリポジトリの複製を取得する

• git clone https://github.com/cloudfoundry/vcap.git

– vcap_dev_setupでChef(構成管理ツール)を用いたインストールを各ノードで実行

Page 7: aws上でcloud foundryを構築してみた

7

Cloud Foundry(マルチノード) on Amazon EC2

• NW環境を設定する

– Cloud Foundryとドメイン名をDNSで紐付けるために、固定のPublic IPを取

得する(Elastic IP Address)

• Elastic IP Address を割り当てたホストのローカルアドレスは、ec2-xxx-xxx-

xxx-xxx.us-west-1.compute.amazonaws.com のFQDN名を名前解決して取得

する

– ワイルドカード対応ダイナミックDNSでIPと紐付ける

• Cloud Foundry のAP公開URLは、アプリケーション名をサブドメインとしたURL

になる

– 各設定ファイルの external_uri, local_route, mbus, cloud_controller_uri を

変更する

– AWS Management Console (Elastic IP Address)

• https://console.aws.amazon.com/ec2/home?region=us-west-

1&#s=Addresses

– Free Wildcard DNS

• http://www.fwdns.org/records

Page 8: aws上でcloud foundryを構築してみた

8

Cloud Foundry(マルチノード) on Amazon EC2

• Cloud Foundryを起動する

Page 9: aws上でcloud foundryを構築してみた

9

Cloud Foundry(マルチノード) on Amazon EC2

• Cloud Foundryの動作状況をvmcから確認する

Page 10: aws上でcloud foundryを構築してみた

10

Cloud Foundry(マルチノード) on Amazon EC2

• Cloud Foundryへアプリケーションをデプロイする

Page 11: aws上でcloud foundryを構築してみた

11

Cloud Foundry(マルチノード) on Amazon EC2

• ブラウザからアプリケーションを実行する

– Proxy経由でアクセスするとForbiddenになる(調査中)

Page 12: aws上でcloud foundryを構築してみた

12

Cloud Foundry(マルチノード) on Amazon EC2

• Amazon CloudWatch、 Auto Scalingによるスケール・イン、ス

ケール・アウトを設定する

– Amazon CloudWatchでサーバの負荷状態を監視

– 負荷状況に応じて、Auto ScalingでEC2インスタンスを増減する

– スケールアウトの際には、EC2インスタンス起動時にdea等が自動起動し、

自動的に系に組み込まれるように設定しておく必要がある

– スケール・インの際には、EC2インスタンスが問答無用で停止されるため

システム状態の整合性が損なわれないように構成する必要がある

– アプリケーションの状況に応じてスケーリングするためにはHealth

Managerとの連携が必要か?

Cloud Foundry + RightScale

Page 13: aws上でcloud foundryを構築してみた

13

Cloud Foundry on Amazon EC2 × RightScale

• RightScaleがCloud Foundry用のサーバテンプレートを用意

– Cloud Foundry用のサーバテンプレートは、RightScaleのFreeアカウントで利用可

– AWS, Rackspaceで動作可

• https://my.rightscale.com/library/server_templates/Cloud-Foundry-All-In-One-

Alpha/27743

– サーバテンプレート利用手順

• http://support.rightscale.com/27-

Partners/VMware/ST_and_Runbooks/VMware_Cloud_Application_Platform_ServerTemp

late_and_Runbook

• Cloud Foundryのインフラ状況に応じたオートスケーリング

– 各サーバの運転状況を監視し、DEAの数、Routerの数、Cloud Controllerの数、各

種Serviceの数等を管理

• Cloud Foundryで実行中のアプリケーション状況に応じたオートスケーリング

– 外部からアプリケーションの監視を容易に行えるため、アプリケーションの状況に

応じてDEAの数を管理

Page 14: aws上でcloud foundryを構築してみた

14

Cloud Foundry on Amazon EC2 事例事例事例事例

• Stackato/ActiveState Software Inc.

– Community Lead for Python

– Python、Perl、PHP、Ruby、Node.js、およびJavaをサポートするプライベー

トのPaaSを作成するためのクラウドプラットフォーム

– StackatoサンドボックスがAmazon EC2上で利用可能

– http://www.activestate.com/cloud

• AppFog/AppFog,Inc

– Community Lead for PHP

– クラウドベースのWebアプリケーションホスティングサービス

– IaaS環境としてAmazon EC2の他、VMware vSphereTM

、Rackspace、

Joyent等から選択可能

– http://appfog.com/