SlideShare ist ein Scribd-Unternehmen logo
1 von 81
Downloaden Sie, um offline zu lesen
HiganWorks合同会社/opsrock	
 
澤登	
 亨彦
OpsWorks
ご案内:このセッションは
昨年発表内容の再構成です
• 大阪のAWS全サービス紹介
• 神戸のChef特集
• 最新の機能は補足での紹介です、ご了承くだ
さい
2
Chefの本を書きました
• 来月、4/12(土)発売予定
• 「Chef活用ガイド ∼ コードではじめる構成
管理」
• Infrastructure as Codeを実践しよう!
• 日本公式代理店の

クリエーションラインさんと

共著
3
NOW
Printing
『Chef活用ガイド』について
• 注意:すぐ使える!とかではない模様
• 公式Docsの流れを踏襲し、さらに詳しく記述
• 解説部分の元ネタは大体ソースコード
• Chef本体から離れる話は少なめ
• 付録
• 今日のセッションみたいなコラム
• Enterpriseアドオン
• 全リソース和訳
4
NOW
Printing
運営組織
5
• 代表社員をつとめる合同会社
• アプリケーションのためのプラットフォーム構築/運
用自動化をテーマに活動
• http://opsrock.in 共同開発・運営
• Chef関連を主に取り扱うソリューションを
提供
• 導入支援コンサルも
本日の内容
• AWS OpsWorks の概要
• OpsWorksの機能と関連するAWS達
• スタックとレイヤ
• アプリケーションライフサイクルとデプロイ
• OpsWorksのオートスケール
• OpsWorks Ruby on Railsデプロイ
6
AWS OpsWorks の
概要
AWS OpsWorksとは?
• アプリケーションのライフサイクル管理を一
本化するために作られたソリューション
• プラットフォームの自動構築
• アプリケーションのdeploy(undeploy)
8
プラットフォームの自動構築
• アプリケーションが動作する

プラットフォームとは?
• ネットワーク環境の構築
• サーバ(インスタンス)の調達
• ミドルウェアの設定
9
アプリケーションのdeploy
• アプリケーション ソースコード(リポジトリ)
• git, svn, zip(http, s3)
+ 何らかの配布/ビルドの仕組み
10
OpsWorks Agent
タスク実行 タスク実行管理
OpsWorksの機能と
関連するAWS達
関連AWSは大体こいつらです
12
Amazon EC2 Auto Scaling
Elastic Load
Balancing
Amazon S3
CloudWatch IAM
Amazon SQS
機能対応表
13
OpsWorks 関連AWS
サーバインスタンス提供 EC2, S3
モニタリング CloudWatch
パーミッション IAM
オートスケール ELB, AutoScaling
オートヒール CloudWatch, EC2
※発表者独自の見解を含みます
スタックとレイヤ
『スタック』
1システムをまとめた単位
アプリケーションのプラットホーム全体
『レイヤ』
役割別インスタンスの集合
DB
WebServer
Application
System A
アプリケーション
ライフサイクルと
デプロイ
1.Setup
2.Configure
3.Deploy
4.UnDeploy
5.Shutdown
17
OpsWorksのライフサイクル定義
プラットフォーム部分
プラットフォーム部分
• Setup
• インスタンスの起動
• 関連パッケージのインストール
• Configure (構成変更時にも自動実行)
• ミドルウェアの設定
• OpsWorksメタデータへの情報登録
18
設定情報登録例:Mysql
19
"opsworks": {!
"stack": {!
"name": "sample_stack"!
},!
"layers": {!
"db-master": {!
"id": "e554fc61-25f0-4cde-ab21-0fb890f586b6",!
"name": "MySQL Master",!
"instances": {!
"db-master1": {!
"public_dns_name": "ec2-54-250-66-243.xxx",!
"ip": "54.250.66.243",!
"private_ip": "10.154.17.254",!
"private_dns_name": "ip-10-154-17-254.xxx"!
}!
}!
}!
"mysql": {!
"server_root_password": "root_password"!
}!
}
※一部抜粋
1.Setup
2.Configure
3.Deploy
4.UnDeploy
5.Shutdown
20
OpsWorksのライフサイクル定義
アプリケーション部分
アプリケーション部分 1/2
• Deploy
• デプロイツール※風のタスクを実行

※Capistrano/Chef::Deploy
• レイヤ情報に基づいてアプリケーションコ
ンフィグの設定
• アプリケーションの起動
• ELB/HAProxy等のバックエンドに参加
21
アプリケーション部分 2/2
• UnDeploy
• ELB/HAProxy等のバックエンドから除外
• アプリケーションの停止
22
その他任意に実行可能な小タスク
• os package管理系
• update_dependencies
• install_dependencies
• Chef関連系
• update_custom_cookbooks
• execute_recipes
23
Shutdown
• 後片付け
• ミドルウェアの安全な停止
• OpsWorksAgentの安全な停止
• ステータス更新&削除
24
OpsWorksの
オートスケール
選べるオートスケール
• CloudWatch、AutoScalingと連携
• TimeBased instance
• 1時間単位でインスタンスの起動・停止状
態をスケジュールできます。
• LoadBased instance
• レイヤの平均負荷状況に応じてインスタン
スを起動・停止します。
26
AutoScale(OpsWorks)設定例
27
http://qiita.com/sawanoboly@github/items/2aa556fc4376a1695654
WEBの情報をご参照お願いします
監視ビュー
CloudWatchの自動グルーピング
• レイヤ単位でのリソース状況を一覧
29
http://aws.typepad.com/aws_japan/2013/05/aws-opsworks-update-elastic-load-balancing-monitoring-view-more-instance-types.html
ここ半年のUpdates
• カスタムAMIが使用可に
• (要OpsWorks Agent)
• VPCに対応
• IAMでリソース単位のパーミッション制御
• Chef Version 11.4
• コマンドラインツール/APIの強化
• Javaアプリケーションサポートの追加
30
OpsWorks
Ruby on Railsデプロイ
(紙芝居)
あ、依存パッケージ
忘れてた
インスタンス
起動してもうたし...
Railsプラットホーム
OK
おや、
DBレイヤ(mysql)が
ないよ?
注) 演出上の都合です、
プリセットのMySQLレイヤなら
悩まずデプロイできます
とりあえず
SQLite3でいいや
{	
  
	
  	
  "deploy":	
  {	
  
	
  	
  	
  	
  "books":	
  {	
  
	
  	
  	
  	
  	
  	
  "database":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "adapter":	
  "sqlite3"	
  
	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
	
  	
  }	
  
}
しばし待つ
rails-app1: $ sudo cat 
/srv/www/books/current/config/database.yml
!
development:
-- snip-
!
production:
adapter: "sqlite3"
database: "books"
encoding: utf8
host: ""
username: "root"
password: ""
reconnect: true
database.yml もバッチリ
このレイヤに
インスタンスを
追加してみる
インスタンス起動時に
登録済みアプリは
とりあえずデプロイされます
production:
adapter: "mysql2"
database: "books"
encoding: utf8
host: ""
username: "root"
password: ""
reconnect: true
DB接続がデフォルトなので当然こけます
リカバリ方法は2つ
OpsWorks
Ruby on Railsデプロイ
(紙芝居)
完了
最後に
CloudFormation,Elastic
Beanstalk, OpsWorks...
あとOpscode Chef、
結局どれをつかえばいい
の?
78
目的が達成できるな
らなんでもいいと思
います。
...それでもやっぱりお悩みなら
相談するのがよいでしょう
OpsRock.in
80
おわり。
!
17:00∼の
Immutable Infrastructureトラック
パネルディスカッションも
どうぞよろしく

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (17)

Chef_Casual_Talks_Kansai_Vol1_Infrastructure_as_Code
Chef_Casual_Talks_Kansai_Vol1_Infrastructure_as_CodeChef_Casual_Talks_Kansai_Vol1_Infrastructure_as_Code
Chef_Casual_Talks_Kansai_Vol1_Infrastructure_as_Code
 
JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】JAWSUG初心者向けトラック 【Deploy&Ops】
JAWSUG初心者向けトラック 【Deploy&Ops】
 
Chef Casual Talks 出張版京セラドーム公演 (JAWS FESTA Kansai 2013内イベント)
Chef Casual Talks 出張版京セラドーム公演 (JAWS FESTA Kansai 2013内イベント)Chef Casual Talks 出張版京セラドーム公演 (JAWS FESTA Kansai 2013内イベント)
Chef Casual Talks 出張版京セラドーム公演 (JAWS FESTA Kansai 2013内イベント)
 
さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]さくらのクラウドフォーメーション with Chef [XEgg session]
さくらのクラウドフォーメーション with Chef [XEgg session]
 
Building document with the Sphinx public edtion
Building document with the Sphinx public edtionBuilding document with the Sphinx public edtion
Building document with the Sphinx public edtion
 
mocloud カスタムDockerイメージ ハンズオン
mocloud カスタムDockerイメージ ハンズオンmocloud カスタムDockerイメージ ハンズオン
mocloud カスタムDockerイメージ ハンズオン
 
aws_opsworks
aws_opsworksaws_opsworks
aws_opsworks
 
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chefコンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
 
Chef meetup vol2_higanwoks
Chef meetup vol2_higanwoksChef meetup vol2_higanwoks
Chef meetup vol2_higanwoks
 
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳するMarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
MarketPlaceのAMIをPackerで作る時、 Chefは3度配膳する
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコード
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
 
はかどるChefの小ネタ集
はかどるChefの小ネタ集はかどるChefの小ネタ集
はかどるChefの小ネタ集
 
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
[LT] インフラの人がChefやServerspec(ほか)が Rubyだったおかげですこし プログラムをするようになった話
 
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpecマニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
 
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
DevOpsのアプローチと クラウド/バーチャル環境/構成管理ツール のお話
 
Chef(Server)と AWS OpsWorks(tm)の比較
Chef(Server)と AWS OpsWorks(tm)の比較Chef(Server)と AWS OpsWorks(tm)の比較
Chef(Server)と AWS OpsWorks(tm)の比較
 

Ähnlich wie Aws OpsWorks [JAWSDAYS 2014 ACEに聞けトラック]

DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
Yusuke Ando
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
masayoshi takahashi
 
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
Kenichi Yoshida
 

Ähnlich wie Aws OpsWorks [JAWSDAYS 2014 ACEに聞けトラック] (20)

DevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニックDevOpsを実現する為のChef活用テクニック
DevOpsを実現する為のChef活用テクニック
 
20090828 Webconlocal
20090828 Webconlocal20090828 Webconlocal
20090828 Webconlocal
 
DevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニックDevOpsを実現するChef活用テクニック
DevOpsを実現するChef活用テクニック
 
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
サイボウズのオープンソースへの取り組み - OSC 2018 Osakaサイボウズのオープンソースへの取り組み - OSC 2018 Osaka
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
 
DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版DevOpsを実現する為のChef実践テクニック Chef12対応版
DevOpsを実現する為のChef実践テクニック Chef12対応版
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
 
Cmsdou oosaka
Cmsdou oosakaCmsdou oosaka
Cmsdou oosaka
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
 
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
 
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
第2回 JAWS−UG 神戸  開発運用の現場でのChef活用第2回 JAWS−UG 神戸  開発運用の現場でのChef活用
第2回 JAWS−UG 神戸 開発運用の現場でのChef活用
 
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダJAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
JAWS-UG三都物語 クラウドとデバイスが連携するアジェンダ
 
今だから企業に提案すべきMicrosoft SaaSの魅力
今だから企業に提案すべきMicrosoft SaaSの魅力今だから企業に提案すべきMicrosoft SaaSの魅力
今だから企業に提案すべきMicrosoft SaaSの魅力
 
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでSphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
 
excelファイルをプログラムで出力しよう
excelファイルをプログラムで出力しようexcelファイルをプログラムで出力しよう
excelファイルをプログラムで出力しよう
 
仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法 仮想マシンを使った開発環境の簡単共有方法
仮想マシンを使った開発環境の簡単共有方法
 
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 

Mehr von Yukihiko SAWANOBORI

Physical to Iaas(Instance), case of VIP.
Physical to Iaas(Instance), case of VIP.Physical to Iaas(Instance), case of VIP.
Physical to Iaas(Instance), case of VIP.
Yukihiko SAWANOBORI
 

Mehr von Yukihiko SAWANOBORI (11)

What is chef
What is chefWhat is chef
What is chef
 
CentOSでつくる神Plesk
CentOSでつくる神PleskCentOSでつくる神Plesk
CentOSでつくる神Plesk
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
 
Lxc on cloud
Lxc on cloudLxc on cloud
Lxc on cloud
 
The Chef integrations Z Cloud(Joyent)
The Chef integrations Z Cloud(Joyent)The Chef integrations Z Cloud(Joyent)
The Chef integrations Z Cloud(Joyent)
 
Physical to Iaas(Instance), case of VIP.
Physical to Iaas(Instance), case of VIP.Physical to Iaas(Instance), case of VIP.
Physical to Iaas(Instance), case of VIP.
 
Redmine backlogs beginning
Redmine backlogs beginningRedmine backlogs beginning
Redmine backlogs beginning
 
Aws glacier
Aws glacierAws glacier
Aws glacier
 
0808 jawsug-kobe | スポットインスタンスを使った EC2でのスケーラブル負荷検証
0808 jawsug-kobe | スポットインスタンスを使ったEC2でのスケーラブル負荷検証0808 jawsug-kobe | スポットインスタンスを使ったEC2でのスケーラブル負荷検証
0808 jawsug-kobe | スポットインスタンスを使った EC2でのスケーラブル負荷検証
 
Sensu impression
Sensu impressionSensu impression
Sensu impression
 
cURL base_simple_publishing - part of Giraffi
cURL base_simple_publishing - part of GirafficURL base_simple_publishing - part of Giraffi
cURL base_simple_publishing - part of Giraffi
 

Aws OpsWorks [JAWSDAYS 2014 ACEに聞けトラック]