Your SlideShare is downloading. ×
0
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
当社のawsへの取組
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

当社のawsへの取組

10,156

Published on

PHPMatsuri 2012で発表した資料です

PHPMatsuri 2012で発表した資料です

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,156
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 当社のAWSへの取り組みKLab株式会社佐々木健一(@siroken3)
  • 2. 自己紹介● お仕事 ○ SIer (前職) ■ Java GUI系 ○ KLab入社後 ■ Java サーバサイド開発、受託系SE ■ PHPでのソーシャルゲーム開発 ■ AWSインフラ担当へ(最近半年くらい)
  • 3. AWS?● Amazon Web Services の略● IaaS型クラウドの先駆け● EC2 (Elastic Computing Cloud) ○ 仮想サーバのホスティングサービス● 世界中にリージョンと呼ばれる物理拠点がある ○ 北米(東海岸*1, 西海岸*2) ○ アジア・パシフィック(東京, シンガポール) ○ 南アメリカ ○ 欧州
  • 4. 当社の状況 (ビジネス面)● AWS上で複数タイトルリリース中 ○ 真・戦国バスター for iPhone ○ Load of Dragons for iPhone ○ その他開発中含め複数タイトル● グローバル市場へ重点を急速にシフト ○ まず北米マーケット
  • 5. 当社の状況 (技術面)● 統合インフラ基盤 DSAS(※) ○ 物理インフラ ○ 安定・安心・大規模 ○ 国内大型IP向け ○ 構成はほぼ枯れている ○ 多重化 / 冗長化 / フェイルオーバー!(※) http://www.klab.com/jp/services/products/dsas/index.html● AWSに対する期待 ○ 早期立ち上げ可能なインフラ ○ 海外ゲーム向け ○ 構成は試行錯誤中
  • 6. 当社の状況 (組織面)● 水平分業チームから垂直分業チームへ 企画 個々のチーム アプリケーション開発 で対応 インフラ (ミドルウェア等)
  • 7. [目指す姿] 進化/成長するインフラ インフラ Ver.2 各チームの ノウハウ インフラ Ver.1 チーム#1 チーム#2 チーム#3
  • 8. 現在試行錯誤中ですが 開発中(検討中も含)の AWSインフラを晒します!
  • 9. 登場する技術● Amazon VPC (Virtual Private Cloud)● AWS CloudFormation● Chef-solo● Capistrano
  • 10. AWS VPC● プライベートネットワークを構築できる! ○ VPCではない従来型のEC2は「レガシー」● VPCの特徴(抜粋) ○ インスタンス停止してもprivate IPアドレスが保持される ○ ネットワークインタフェースの差し替え ■ Active-standby構成が組める ○ ルーティングの動的変更● はまりどころもたくさん!
  • 11. AZa AZb AZc
  • 12. CloudFormation / Chef / Capistrano● CloudFormation ○ EC2インスタンスや仮想ルータなどAWSのリソースを設計 したとおりに起動させる● Chef (Chef-solo) ○ EC2インスタンスで動作するミドルウェア(apache, memcached,等)やconfigurationを設計したとおりに反映さ せる● Capistrano ○ 多数あるサーバ群を効率よく操作するためのフロントエン ド
  • 13. インフラのライフサイクル 初期構築 アプリケーション運用 CloudFormation Capistrano Chef ノウハウの記述 インフラ改善 CloudFormation Capistrano テンプレート Chef Chefレシピ
  • 14. CloudFormation (抜粋)"nat": { EC2インスタンスを起動する 定義 "Type": "AWS::EC2::Instance", "Metadata": { "AWS::CloudFormation::Init": { "configSets": { "boot": [ "bootPackages","bootCommands" ] }, "bootPackages" : { "packages" : { 起動時に自動的にインストール するパッケージも指定できる "yum" : { "gcc" : [], "gcc-c++" : [],
  • 15. CloudFormation (抜粋) ネットワークインタフェースの定 義"natNetworkInterface" : { "Type": "AWS::EC2::NetworkInterface", "Properties" : { "SubnetId" : { "Ref" : "admUsWest2aSubnet" }, "SourceDestCheck" : "false", "GroupSet" : [ { "Ref": "admSecurityGroup" } ] }}
  • 16. Chef● http://www.opscode.com/chef/● インフラをコーディング! ○ ノードの役割をJSONで内部構成をRuby DSLで記述 ○ 設定/維持の自動化 Web NAT Memcache ● apache2 ● iptables ● memcached ● PHP5.3
  • 17. Chef (JSON)name role_mgrdescription This is mgr server role.default_attributes({ :run_app => "mgr" })run_list [ "recipe[apache2]", "recipe[base::mgr]", Nodeで実行さ "recipe[base::capistrano]", れるレシピ達 "recipe[php]", "recipe[kg_global::mgr]", ]
  • 18. Chef (Ruby)web_app "site" do server_name node[hostname] server_aliases ["prodsite.klab.com", "stgsite.klab.com"] docroot "/opt/klab/site/current/app/webroot" template "site.conf.erb"end Apache VirtualHostが生 成される
  • 19. Capistrano● http://capistranorb.com/● 多数のサーバに対して透過的に同時に運用操 作を行うための仕組み● 元々RoR向けですがPHPでも使える
  • 20. Capistrano# ex-1$ cap shellcap> ls /tmp # 全サーバの /tmp 以下をls# ex-2$ cap logging:tail_log # 全webサーバのログをtail -fする$ cat deploy.rbnamespace :logging do task :tail_log, :roles => :web do stream "tail -f/var/log/httpd/access.log" endend
  • 21. さらに...● 冗長化して安心して使えるインフラへ● 適切なコストにするノウハウ● インフラ運用と開発のアジャイルな開発を支える 仕組みづくり(devops)
  • 22. いうわけで当社はAWS力入れてます● AWSに明るい方、チャレンジしたい方大 歓迎!● グローバルゲームインフラ一緒に作りましょう!● もちろんPHP技術者大歓迎!
  • 23. ご清聴ありがとうございました

×