More Related Content Similar to aws上でcloud foundryを構築してみた Similar to aws上でcloud foundryを構築してみた (20) aws上でcloud foundryを構築してみた2. 2
AWS上でCloud Foundryを構築してみた
• Amazon EC2 上にCloud Foundryのマルチノード
環境をセットアップ
– 検証を行う環境は付属のsample/multihost_mysql
セットアップスクリプトで構築
• Amazon CloudWatch、Auto Scalingを使って、
Cloud FoundryのDEAをスケーリング
今後検証今後検証今後検証今後検証
3. 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. 4
Cloud Foundry(マルチノード) on Amazon EC2
• AWS利用準備
– AWSのアカウントを取得する、キーペアの生成、セキュリティグループの
設定等を行う
• セキュリティグループには 22, 80 のinboundを許可する
5. 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. 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. 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
12. 12
Cloud Foundry(マルチノード) on Amazon EC2
• Amazon CloudWatch、 Auto Scalingによるスケール・イン、ス
ケール・アウトを設定する
– Amazon CloudWatchでサーバの負荷状態を監視
– 負荷状況に応じて、Auto ScalingでEC2インスタンスを増減する
– スケールアウトの際には、EC2インスタンス起動時にdea等が自動起動し、
自動的に系に組み込まれるように設定しておく必要がある
– スケール・インの際には、EC2インスタンスが問答無用で停止されるため
システム状態の整合性が損なわれないように構成する必要がある
– アプリケーションの状況に応じてスケーリングするためにはHealth
Managerとの連携が必要か?
Cloud Foundry + RightScale
13. 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. 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/