AWS上でCloud Foundryを構築してみた
技術センター 技術開発部門
小久保 祐一
2012.1.19
NTT Software Corporation
http://www.ntts.co.jp/
http://www.nttsoft.com/
2
AWS上でCloud Foundryを構築してみた
• Amazon EC2 上にCloud Foundryのマルチノード
環境をセットアップ
– 検証を行う環境は付属のsample/multihost_mysql
セットアップスクリプトで構築
• Amazon CloudWatch、Auto Scalingを使って、
Cloud FoundryのDEAをスケーリング
今後検証今後検証今後検証今後検証
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
4
Cloud Foundry(マルチノード) on Amazon EC2
• AWS利用準備
– AWSのアカウントを取得する、キーペアの生成、セキュリティグループの
設定等を行う
• セキュリティグループには 22, 80 のinboundを許可する
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&
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(構成管理ツール)を用いたインストールを各ノードで実行
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
8
Cloud Foundry(マルチノード) on Amazon EC2
• Cloud Foundryを起動する
9
Cloud Foundry(マルチノード) on Amazon EC2
• Cloud Foundryの動作状況をvmcから確認する
10
Cloud Foundry(マルチノード) on Amazon EC2
• Cloud Foundryへアプリケーションをデプロイする
11
Cloud Foundry(マルチノード) on Amazon EC2
• ブラウザからアプリケーションを実行する
– Proxy経由でアクセスするとForbiddenになる(調査中)
12
Cloud Foundry(マルチノード) on Amazon EC2
• Amazon CloudWatch、 Auto Scalingによるスケール・イン、ス
ケール・アウトを設定する
– Amazon CloudWatchでサーバの負荷状態を監視
– 負荷状況に応じて、Auto ScalingでEC2インスタンスを増減する
– スケールアウトの際には、EC2インスタンス起動時にdea等が自動起動し、
自動的に系に組み込まれるように設定しておく必要がある
– スケール・インの際には、EC2インスタンスが問答無用で停止されるため
システム状態の整合性が損なわれないように構成する必要がある
– アプリケーションの状況に応じてスケーリングするためにはHealth
Managerとの連携が必要か?
Cloud Foundry + RightScale
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の数を管理
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/

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

  • 1.
    AWS上でCloud Foundryを構築してみた 技術センター 技術開発部門 小久保祐一 2012.1.19 NTT Software Corporation http://www.ntts.co.jp/ http://www.nttsoft.com/
  • 2.
    2 AWS上でCloud Foundryを構築してみた • AmazonEC2 上にCloud Foundryのマルチノード 環境をセットアップ – 検証を行う環境は付属のsample/multihost_mysql セットアップスクリプトで構築 • Amazon CloudWatch、Auto Scalingを使って、 Cloud FoundryのDEAをスケーリング 今後検証今後検証今後検証今後検証
  • 3.
    3 Cloud Foundry(マルチノード) onAmazon 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
  • 4.
    4 Cloud Foundry(マルチノード) onAmazon EC2 • AWS利用準備 – AWSのアカウントを取得する、キーペアの生成、セキュリティグループの 設定等を行う • セキュリティグループには 22, 80 のinboundを許可する
  • 5.
    5 Cloud Foundry(マルチノード) onAmazon 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&
  • 6.
    6 Cloud Foundry(マルチノード) onAmazon EC2 • Cloud Foundryをインストールする – 事前準備として、ruby-full, rubygems, git-coreをインストール – git cloneでリポジトリの複製を取得する • git clone https://github.com/cloudfoundry/vcap.git – vcap_dev_setupでChef(構成管理ツール)を用いたインストールを各ノードで実行
  • 7.
    7 Cloud Foundry(マルチノード) onAmazon 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
  • 8.
    8 Cloud Foundry(マルチノード) onAmazon EC2 • Cloud Foundryを起動する
  • 9.
    9 Cloud Foundry(マルチノード) onAmazon EC2 • Cloud Foundryの動作状況をvmcから確認する
  • 10.
    10 Cloud Foundry(マルチノード) onAmazon EC2 • Cloud Foundryへアプリケーションをデプロイする
  • 11.
    11 Cloud Foundry(マルチノード) onAmazon EC2 • ブラウザからアプリケーションを実行する – Proxy経由でアクセスするとForbiddenになる(調査中)
  • 12.
    12 Cloud Foundry(マルチノード) onAmazon EC2 • Amazon CloudWatch、 Auto Scalingによるスケール・イン、ス ケール・アウトを設定する – Amazon CloudWatchでサーバの負荷状態を監視 – 負荷状況に応じて、Auto ScalingでEC2インスタンスを増減する – スケールアウトの際には、EC2インスタンス起動時にdea等が自動起動し、 自動的に系に組み込まれるように設定しておく必要がある – スケール・インの際には、EC2インスタンスが問答無用で停止されるため システム状態の整合性が損なわれないように構成する必要がある – アプリケーションの状況に応じてスケーリングするためにはHealth Managerとの連携が必要か? Cloud Foundry + RightScale
  • 13.
    13 Cloud Foundry onAmazon 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の数を管理
  • 14.
    14 Cloud Foundry onAmazon 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/