0
仮想マシンざっくり
解説と実践Vagrant
2013.10.13
StaticPress S3 Vagrant 勉強会
#公開版
@sawanoboly(HiganWorks LLC, Opsrock)

Sunday, October 13...
HiganWorks, OpsRockについて

• アプリケーションのためのプラットフォーム構
築/運用自動化をテーマに活動

•
•

http://opsrock.in 共同開発・運営
AWS OpsWorksとChef、インフラの
テス...
私とWordPressのインフラ
• VPSで自分のWordPressブログ
(2007-2011ごろ)

• Parallels Pleskベースサービスの開発
• 簡単インストールのプラットフォーム
• PHP-Ninja
• Joyent...
内容
• Vagrant概要
• 仮想環境・仮想マシンをざっくり説明
• Vagrantと仮想環境プロバイダ
• Vagrantのライフサイクル
• VagrantのプロビジョニングとVMの再利用
• Vagrant x StaticPress...
Vagrant

Sunday, October 13, 13
Vagrant概要
•
•
•
•

べーぐらんと
仮想環境、仮想マシンプロバイダのフロントエンド
プロビジョニング機能でサーバの初期構築
プラグインで拡張

•
•
•

スナップショット
仮想環境プロバイダの追加

私はOpscode Ch...
Vagrant概要
•
•
•
•

べーぐらんと
仮想環境、仮想マシンプロバイダのフロントエンド
プロビジョニング機能でサーバの初期構築
プラグインで拡張

•
•
•

スナップショット
仮想環境プロバイダの追加

私はOpscode Ch...
仮想環境
仮想マシンを
ざっくり説明

Sunday, October 13, 13
アプリケーション、
OS、コンピュータ

8
Sunday, October 13, 13
アプリケーションはOS上で動く

WordPressなど
httpd
(apache, nginx)

php runtime

OS
9
Sunday, October 13, 13

MySQL DB
OSより下のレイヤ
OS

BIOS/UEFI
(この層は以降ややこしいので省略)
CPU

メモリ
(RAM)

Disk

10
Sunday, October 13, 13

その他
もろもろ
OSより下のレイヤ
OS

BIOS/UEFI
(この層は以降ややこしいので省略)
CPU

メモリ
(RAM)

Disk

10
Sunday, October 13, 13

その他
もろもろ
OSより下のレイヤ
仮想環境/マシンが
取り扱う領域は
このへんです

OS

BIOS/UEFI
(この層は以降ややこしいので省略)
CPU

メモリ
(RAM)

Disk

10
Sunday, October 13, 13

その他
も...
アプリケーションとOS

11
Sunday, October 13, 13
アプリケーションとOS
1.
ちょっと計算お願い

11
Sunday, October 13, 13
アプリケーションとOS
1.
ちょっと計算お願い

2.
CPUにやってもらうわ

11
Sunday, October 13, 13
アプリケーションとOS
1.
ちょっと計算お願い

2.
CPUにやってもらうわ

11
Sunday, October 13, 13

3.
計算しますわ
アプリケーションとOS
1.
ちょっと計算お願い

2.
CPUにやってもらうわ

3.
計算しますわ

4.
できました

11
Sunday, October 13, 13
アプリケーションとOS
1.
ちょっと計算お願い

2.
CPUにやってもらうわ

5.
ほなPHPにかえすわ

11
Sunday, October 13, 13

3.
計算しますわ

4.
できました
アプリケーションとOS
1.
ちょっと計算お願い

6.
サンキュー

2.
CPUにやってもらうわ

5.
ほなPHPにかえすわ

11
Sunday, October 13, 13

3.
計算しますわ

4.
できました
アプリケーションとOS
コイツを仮想化
1.
ちょっと計算お願い

6.
サンキュー

2.
CPUにやってもらうわ

5.
ほなPHPにかえすわ

11
Sunday, October 13, 13

3.
計算しますわ

4.
できました
CPUなど、ハードウェアを
仮想化する

12
Sunday, October 13, 13
CPUなど、ハードウェアを
仮想化する

• ある鳥が

鴨のように見え、鴨のように泳ぎ、
鴨のように鳴くならば、
それはたぶん鴨である
- Wikipedia: ダック・テストより

12
Sunday, October 13, 13
CPUなど、ハードウェアを
仮想化する

• ある鳥が

鴨のように見え、鴨のように泳ぎ、
鴨のように鳴くならば、
それはたぶん鴨である
- Wikipedia: ダック・テストより

• OSから見てCPUとして動いてくれれば、
結局なんでも...
CPUなど、ハードウェアを
仮想化する

• ある鳥が

鴨のように見え、鴨のように泳ぎ、
鴨のように鳴くならば、
それはたぶん鴨である
- Wikipedia: ダック・テストより

• OSから見てCPUとして動いてくれれば、
結局なんでも...
仮想環境で動くOS

VirtualBoxなど
仮想環境
プロバイダ
13
Sunday, October 13, 13
仮想環境で動くOS
1.
計算したいんだけど
CPUはどこだろ?

VirtualBoxなど
仮想環境
プロバイダ
13
Sunday, October 13, 13
仮想環境で動くOS
1.
計算したいんだけど
CPUはどこだろ?

仮想CPU

VirtualBoxなど
仮想環境
プロバイダ
13
Sunday, October 13, 13
仮想環境で動くOS
1.
計算したいんだけど
CPUはどこだろ?

2.
OSさん、俺俺、俺だよ

仮想CPU

VirtualBoxなど
仮想環境
プロバイダ
13
Sunday, October 13, 13
仮想環境で動くOS
1.
計算したいんだけど
CPUはどこだろ?

2.
OSさん、俺俺、俺だよ

3.
あ、もしかしてCPU?

仮想CPU

VirtualBoxなど
仮想環境
プロバイダ
13
Sunday, October 13, 13
仮想環境で動くOS
1.
計算したいんだけど
CPUはどこだろ?

2.
OSさん、俺俺、俺だよ

3.
あ、もしかしてCPU?

仮想CPU
4.
そうそう、それそれ!
CPUだよ!

13
Sunday, October 13, 13

V...
仮想環境
=OSに対する組織的な偽装
仮想マシン上のOS
仮想
CPU

仮想
メモリ

仮想
Disk

仮想環境プロバイダ

親OS
14
Sunday, October 13, 13

?
仮想
その他
懐かしいこんなのも仮想マシン

※画像は合成です
15
Sunday, October 13, 13
仮想環境基礎の補足
• 全部仮想なので基本的にパフォーマンスは落
ちます

• といっても仮想化前提で色々と改善されてい
ます

• CPUなどは仮想化サポート機能付き
• 近頃はOSは自分が仮想環境にいるか判別
してそれなりに最適化して動きま...
Vagrantと仮想環境プロバイダ

17
Sunday, October 13, 13
Vagrantと仮想環境プロバイダ

• 仮想環境、仮想マシンプロバイダのフロント
エンド(再掲)

17
Sunday, October 13, 13
Vagrantと仮想環境プロバイダ

• 仮想環境、仮想マシンプロバイダのフロント
エンド(再掲)

• APIをもっており、仮想のサーバを起動でき

るものなら... (WPとブラウザのような関係)

17
Sunday, October 1...
Vagrantと仮想環境プロバイダ

• 仮想環境、仮想マシンプロバイダのフロント
エンド(再掲)

• APIをもっており、仮想のサーバを起動でき

るものなら... (WPとブラウザのような関係)

17
Sunday, October 1...
Vagrantと仮想環境プロバイダ

• 仮想環境、仮想マシンプロバイダのフロント
エンド(再掲)

• APIをもっており、仮想のサーバを起動でき

るものなら... (WPとブラウザのような関係)

17
Sunday, October 1...
Vagrantと仮想環境プロバイダ

• 仮想環境、仮想マシンプロバイダのフロント
エンド(再掲)

• APIをもっており、仮想のサーバを起動でき

るものなら... (WPとブラウザのような関係)

17
Sunday, October 1...
Vagrantはプロバイダを選択可能

18
Sunday, October 13, 13
Vagrantはプロバイダを選択可能
•

抽象化しているのでpluginを書けば何でもOK

18
Sunday, October 13, 13
Vagrantはプロバイダを選択可能
•
•

抽象化しているのでpluginを書けば何でもOK
基本的なライフサイクル(起動・プロビジョン・停
止)は共通、複数の環境で開発用・テスト用のVMを
管理することができる

18
Sunday, O...
Vagrantはプロバイダを選択可能
•
•

抽象化しているのでpluginを書けば何でもOK

•

特定プロバイダの持つ便利機能もそれなりに対応

基本的なライフサイクル(起動・プロビジョン・停
止)は共通、複数の環境で開発用・テスト用の...
Vagrantはプロバイダを選択可能
•
•

抽象化しているのでpluginを書けば何でもOK

•

特定プロバイダの持つ便利機能もそれなりに対応

基本的なライフサイクル(起動・プロビジョン・停
止)は共通、複数の環境で開発用・テスト用の...
Vagrantはプロバイダを選択可能
•
•

抽象化しているのでpluginを書けば何でもOK

•

特定プロバイダの持つ便利機能もそれなりに対応

基本的なライフサイクル(起動・プロビジョン・停
止)は共通、複数の環境で開発用・テスト用の...
Vagrantの基本ライフサイクル
コマンド

説明 / 状態

up

仮想マシン起動

provision

任意の方法でサーバ構築

suspend/resume

一時停止/再開

reload

再起動

halt

停止

dest...
Vagrantの
プロビジョニングと
VMの再利用
※ここからしばらくVirtualBox使用の
ローカル環境前提で話します
※VM = VirtualMachine = 仮想マシン
Sunday, October 13, 13
ご注意:
Vagrantのインストールについて

• 公式サイトのパッケージを使いましょう
• プロダクトはRubyGemですが、依存やら
の解消のためそうなってます

• ダメ: gem install vagrant
• Windows, ...
サーバの構築方法は選択可能
• shell
• Ansible
• Chef(Solo/Client)
• Puppet(Apply/Agent)
• これらは`provision`実行時のことなので、
普通のVMとして使い続けてももちろんOK...
お勧めのプロビジョニングは?
•

最初はShell

•
•
•
•
•

手っ取り早い

いまは明示的にプロビジョニングするか指定できる

昔は`vagrant up`の度実行されるのがデフォルト
で危なかった

Box(VMイメージ)の再...
VMを開発者で共有する
• 仮想Disk=ただのファイルなので、使い回せば
同じテーマの開発者同士で設定済みのサーバ
を共有

• Provisionにまとめておけば、Vagrantfile
の共有・更新だけでOK

• Provision, D...
SandBox(saharaプラグイン)で
何度でもやり直す

• VM内の開発、WordPressプラグインやテー
マから、StaticPress用の記事も含みます

• SandBoxモードを有効にすると、任意の時

点でVMのスナップショ...
そもそもスナップショットを
よく知らない方向けに

26
Sunday, October 13, 13
そもそもスナップショットを
よく知らない方向けに

• セーブして、やられたらリセットしてロード
できるっちゅうことです

26
Sunday, October 13, 13
そもそもスナップショットを
よく知らない方向けに

• セーブして、やられたらリセットしてロード
できるっちゅうことです

26
Sunday, October 13, 13
Vagrant x StaticPress
からの色々
Vagrant上のWordPressから
StaticPress経由でできそうなこと
※ StaticPress-S3は紹介済みなのでその他

Sunday, October 13, 13
まずはGitリポジトリ
• ロールバック・フォワードやバックアップ、
履歴管理のため、Gitへ

• VM上でもよし
• 共有フォルダ機能で親OS側に置いてもよ
し

• Gitにすればなんでもありへ

28
Sunday, October 1...
1.普通のレンサバへ
• FTPなりで更新、git hookでアップ自動化も
• そもそもPHP実行しないのでそんなに重く
ならないかも

• 価格固定
• プレビュー,ロールバックが手元で確認OK

29
Sunday, October 13...
2.DropBoxへ
• Public公開機能を
• Dropboxにそのまま出力で同期いらず
• なにかしらリバースプロキシが必要
• 転送量制限

Cloud Front
30
Sunday, October 13, 13
3.herokuへ
• Rubyでちょっと書けば静的ファイルの配信
可能

• 維持費無料

31
Sunday, October 13, 13
4.AWS OpsWorksへ(1/3)
• 実はただの静的ファイル配信インスタンスに
対応

• 不必要なほど色々可能

32
Sunday, October 13, 13
4.AWS OpsWorksへ(2/3)
• インスタンスはELB標準対応
• AutoScaleでインスタンス増減

33
Sunday, October 13, 13
4.AWS OpsWorksへ(3/3)
• 勝手にCloudWatch開始
•

yes,expensive

Cloud Watch

34
Sunday, October 13, 13
色々考えてみましたが
S3で十分

Sunday, October 13, 13
最後に:Vagrantリファレンス
http://docs.vagrantup.com/v2/

こういうのもでてます
ウォークスルーに
丁度良い内容
36
Sunday, October 13, 13
終

Sunday, October 13, 13
Upcoming SlideShare
Loading in...5
×

仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会

4,381

Published on

StaticPress × S3 × Vagrant 勉強会の発表資料です

Published in: Technology
0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,381
On Slideshare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
38
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide

Transcript of "仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会"

  1. 1. 仮想マシンざっくり 解説と実践Vagrant 2013.10.13 StaticPress S3 Vagrant 勉強会 #公開版 @sawanoboly(HiganWorks LLC, Opsrock) Sunday, October 13, 13
  2. 2. HiganWorks, OpsRockについて • アプリケーションのためのプラットフォーム構 築/運用自動化をテーマに活動 • • http://opsrock.in 共同開発・運営 AWS OpsWorksとChef、インフラの テストを取り扱うソリューションを提供 2 Sunday, October 13, 13
  3. 3. 私とWordPressのインフラ • VPSで自分のWordPressブログ (2007-2011ごろ) • Parallels Pleskベースサービスの開発 • 簡単インストールのプラットフォーム • PHP-Ninja • Joyent ベースのサービス • 自動構築周辺技術を担当 3 Sunday, October 13, 13
  4. 4. 内容 • Vagrant概要 • 仮想環境・仮想マシンをざっくり説明 • Vagrantと仮想環境プロバイダ • Vagrantのライフサイクル • VagrantのプロビジョニングとVMの再利用 • Vagrant x StaticPressからの色々 4 Sunday, October 13, 13
  5. 5. Vagrant Sunday, October 13, 13
  6. 6. Vagrant概要 • • • • べーぐらんと 仮想環境、仮想マシンプロバイダのフロントエンド プロビジョニング機能でサーバの初期構築 プラグインで拡張 • • • スナップショット 仮想環境プロバイダの追加 私はOpscode Chefのテストに利用 VirtualBox? 6 Sunday, October 13, 13
  7. 7. Vagrant概要 • • • • べーぐらんと 仮想環境、仮想マシンプロバイダのフロントエンド プロビジョニング機能でサーバの初期構築 プラグインで拡張 • • • スナップショット 仮想環境プロバイダの追加 私はOpscode Chefのテストに利用 VirtualBox? 6 Sunday, October 13, 13
  8. 8. 仮想環境 仮想マシンを ざっくり説明 Sunday, October 13, 13
  9. 9. アプリケーション、 OS、コンピュータ 8 Sunday, October 13, 13
  10. 10. アプリケーションはOS上で動く WordPressなど httpd (apache, nginx) php runtime OS 9 Sunday, October 13, 13 MySQL DB
  11. 11. OSより下のレイヤ OS BIOS/UEFI (この層は以降ややこしいので省略) CPU メモリ (RAM) Disk 10 Sunday, October 13, 13 その他 もろもろ
  12. 12. OSより下のレイヤ OS BIOS/UEFI (この層は以降ややこしいので省略) CPU メモリ (RAM) Disk 10 Sunday, October 13, 13 その他 もろもろ
  13. 13. OSより下のレイヤ 仮想環境/マシンが 取り扱う領域は このへんです OS BIOS/UEFI (この層は以降ややこしいので省略) CPU メモリ (RAM) Disk 10 Sunday, October 13, 13 その他 もろもろ
  14. 14. アプリケーションとOS 11 Sunday, October 13, 13
  15. 15. アプリケーションとOS 1. ちょっと計算お願い 11 Sunday, October 13, 13
  16. 16. アプリケーションとOS 1. ちょっと計算お願い 2. CPUにやってもらうわ 11 Sunday, October 13, 13
  17. 17. アプリケーションとOS 1. ちょっと計算お願い 2. CPUにやってもらうわ 11 Sunday, October 13, 13 3. 計算しますわ
  18. 18. アプリケーションとOS 1. ちょっと計算お願い 2. CPUにやってもらうわ 3. 計算しますわ 4. できました 11 Sunday, October 13, 13
  19. 19. アプリケーションとOS 1. ちょっと計算お願い 2. CPUにやってもらうわ 5. ほなPHPにかえすわ 11 Sunday, October 13, 13 3. 計算しますわ 4. できました
  20. 20. アプリケーションとOS 1. ちょっと計算お願い 6. サンキュー 2. CPUにやってもらうわ 5. ほなPHPにかえすわ 11 Sunday, October 13, 13 3. 計算しますわ 4. できました
  21. 21. アプリケーションとOS コイツを仮想化 1. ちょっと計算お願い 6. サンキュー 2. CPUにやってもらうわ 5. ほなPHPにかえすわ 11 Sunday, October 13, 13 3. 計算しますわ 4. できました
  22. 22. CPUなど、ハードウェアを 仮想化する 12 Sunday, October 13, 13
  23. 23. CPUなど、ハードウェアを 仮想化する • ある鳥が 鴨のように見え、鴨のように泳ぎ、 鴨のように鳴くならば、 それはたぶん鴨である - Wikipedia: ダック・テストより 12 Sunday, October 13, 13
  24. 24. CPUなど、ハードウェアを 仮想化する • ある鳥が 鴨のように見え、鴨のように泳ぎ、 鴨のように鳴くならば、 それはたぶん鴨である - Wikipedia: ダック・テストより • OSから見てCPUとして動いてくれれば、 結局なんでもよい 12 Sunday, October 13, 13
  25. 25. CPUなど、ハードウェアを 仮想化する • ある鳥が 鴨のように見え、鴨のように泳ぎ、 鴨のように鳴くならば、 それはたぶん鴨である - Wikipedia: ダック・テストより • OSから見てCPUとして動いてくれれば、 結局なんでもよい • OSが動けばアプリも動く 12 Sunday, October 13, 13
  26. 26. 仮想環境で動くOS VirtualBoxなど 仮想環境 プロバイダ 13 Sunday, October 13, 13
  27. 27. 仮想環境で動くOS 1. 計算したいんだけど CPUはどこだろ? VirtualBoxなど 仮想環境 プロバイダ 13 Sunday, October 13, 13
  28. 28. 仮想環境で動くOS 1. 計算したいんだけど CPUはどこだろ? 仮想CPU VirtualBoxなど 仮想環境 プロバイダ 13 Sunday, October 13, 13
  29. 29. 仮想環境で動くOS 1. 計算したいんだけど CPUはどこだろ? 2. OSさん、俺俺、俺だよ 仮想CPU VirtualBoxなど 仮想環境 プロバイダ 13 Sunday, October 13, 13
  30. 30. 仮想環境で動くOS 1. 計算したいんだけど CPUはどこだろ? 2. OSさん、俺俺、俺だよ 3. あ、もしかしてCPU? 仮想CPU VirtualBoxなど 仮想環境 プロバイダ 13 Sunday, October 13, 13
  31. 31. 仮想環境で動くOS 1. 計算したいんだけど CPUはどこだろ? 2. OSさん、俺俺、俺だよ 3. あ、もしかしてCPU? 仮想CPU 4. そうそう、それそれ! CPUだよ! 13 Sunday, October 13, 13 VirtualBoxなど 仮想環境 プロバイダ
  32. 32. 仮想環境 =OSに対する組織的な偽装 仮想マシン上のOS 仮想 CPU 仮想 メモリ 仮想 Disk 仮想環境プロバイダ 親OS 14 Sunday, October 13, 13 ? 仮想 その他
  33. 33. 懐かしいこんなのも仮想マシン ※画像は合成です 15 Sunday, October 13, 13
  34. 34. 仮想環境基礎の補足 • 全部仮想なので基本的にパフォーマンスは落 ちます • といっても仮想化前提で色々と改善されてい ます • CPUなどは仮想化サポート機能付き • 近頃はOSは自分が仮想環境にいるか判別 してそれなりに最適化して動きます • その他、サーバーサイドでは仮想化必須のた め、もっと様々な技術があります 16 Sunday, October 13, 13
  35. 35. Vagrantと仮想環境プロバイダ 17 Sunday, October 13, 13
  36. 36. Vagrantと仮想環境プロバイダ • 仮想環境、仮想マシンプロバイダのフロント エンド(再掲) 17 Sunday, October 13, 13
  37. 37. Vagrantと仮想環境プロバイダ • 仮想環境、仮想マシンプロバイダのフロント エンド(再掲) • APIをもっており、仮想のサーバを起動でき るものなら... (WPとブラウザのような関係) 17 Sunday, October 13, 13
  38. 38. Vagrantと仮想環境プロバイダ • 仮想環境、仮想マシンプロバイダのフロント エンド(再掲) • APIをもっており、仮想のサーバを起動でき るものなら... (WPとブラウザのような関係) 17 Sunday, October 13, 13
  39. 39. Vagrantと仮想環境プロバイダ • 仮想環境、仮想マシンプロバイダのフロント エンド(再掲) • APIをもっており、仮想のサーバを起動でき るものなら... (WPとブラウザのような関係) 17 Sunday, October 13, 13
  40. 40. Vagrantと仮想環境プロバイダ • 仮想環境、仮想マシンプロバイダのフロント エンド(再掲) • APIをもっており、仮想のサーバを起動でき るものなら... (WPとブラウザのような関係) 17 Sunday, October 13, 13
  41. 41. Vagrantはプロバイダを選択可能 18 Sunday, October 13, 13
  42. 42. Vagrantはプロバイダを選択可能 • 抽象化しているのでpluginを書けば何でもOK 18 Sunday, October 13, 13
  43. 43. Vagrantはプロバイダを選択可能 • • 抽象化しているのでpluginを書けば何でもOK 基本的なライフサイクル(起動・プロビジョン・停 止)は共通、複数の環境で開発用・テスト用のVMを 管理することができる 18 Sunday, October 13, 13
  44. 44. Vagrantはプロバイダを選択可能 • • 抽象化しているのでpluginを書けば何でもOK • 特定プロバイダの持つ便利機能もそれなりに対応 基本的なライフサイクル(起動・プロビジョン・停 止)は共通、複数の環境で開発用・テスト用のVMを 管理することができる 18 Sunday, October 13, 13
  45. 45. Vagrantはプロバイダを選択可能 • • 抽象化しているのでpluginを書けば何でもOK • 特定プロバイダの持つ便利機能もそれなりに対応 基本的なライフサイクル(起動・プロビジョン・停 止)は共通、複数の環境で開発用・テスト用のVMを 管理することができる • VirtualBox, Vmwareなどローカル環境 => ファイル共有、スナップショット! 18 Sunday, October 13, 13
  46. 46. Vagrantはプロバイダを選択可能 • • 抽象化しているのでpluginを書けば何でもOK • 特定プロバイダの持つ便利機能もそれなりに対応 基本的なライフサイクル(起動・プロビジョン・停 止)は共通、複数の環境で開発用・テスト用のVMを 管理することができる • VirtualBox, Vmwareなどローカル環境 => ファイル共有、スナップショット! • AWSなどクラウド => リージョン指定、タグ管理など ※EC2とはrsyncで共有フォルダ風機能対応も 18 Sunday, October 13, 13
  47. 47. Vagrantの基本ライフサイクル コマンド 説明 / 状態 up 仮想マシン起動 provision 任意の方法でサーバ構築 suspend/resume 一時停止/再開 reload 再起動 halt 停止 destroy 仮想マシン破棄 19 Sunday, October 13, 13
  48. 48. Vagrantの プロビジョニングと VMの再利用 ※ここからしばらくVirtualBox使用の ローカル環境前提で話します ※VM = VirtualMachine = 仮想マシン Sunday, October 13, 13
  49. 49. ご注意: Vagrantのインストールについて • 公式サイトのパッケージを使いましょう • プロダクトはRubyGemですが、依存やら の解消のためそうなってます • ダメ: gem install vagrant • Windows, MacOS, Linux系(Redhat,Debian) などで動作OK 21 Sunday, October 13, 13
  50. 50. サーバの構築方法は選択可能 • shell • Ansible • Chef(Solo/Client) • Puppet(Apply/Agent) • これらは`provision`実行時のことなので、 普通のVMとして使い続けてももちろんOK 22 Sunday, October 13, 13
  51. 51. お勧めのプロビジョニングは? • 最初はShell • • • • • 手っ取り早い いまは明示的にプロビジョニングするか指定できる 昔は`vagrant up`の度実行されるのがデフォルト で危なかった Box(VMイメージ)の再利用や共有程度ならShellでOK 構築手順 自体の再利用性・冪等性を求めるならShell でなく、Ansible, Chef, Puppetを学ぼう 23 Sunday, October 13, 13
  52. 52. VMを開発者で共有する • 仮想Disk=ただのファイルなので、使い回せば 同じテーマの開発者同士で設定済みのサーバ を共有 • Provisionにまとめておけば、Vagrantfile の共有・更新だけでOK • Provision, Destroyの繰り返しが簡単、VMの 作りこみもしやすい • さて、VM上でプログラムの開発をする場合 は? 24 Sunday, October 13, 13
  53. 53. SandBox(saharaプラグイン)で 何度でもやり直す • VM内の開発、WordPressプラグインやテー マから、StaticPress用の記事も含みます • SandBoxモードを有効にすると、任意の時 点でVMのスナップショットを取得&そのス ナップショットに戻すことが可能 • WordPressのアップデートや、開発中のプ ラグイン等の挙動を簡単に試し、以前の状態 に戻すことができます 25 Sunday, October 13, 13
  54. 54. そもそもスナップショットを よく知らない方向けに 26 Sunday, October 13, 13
  55. 55. そもそもスナップショットを よく知らない方向けに • セーブして、やられたらリセットしてロード できるっちゅうことです 26 Sunday, October 13, 13
  56. 56. そもそもスナップショットを よく知らない方向けに • セーブして、やられたらリセットしてロード できるっちゅうことです 26 Sunday, October 13, 13
  57. 57. Vagrant x StaticPress からの色々 Vagrant上のWordPressから StaticPress経由でできそうなこと ※ StaticPress-S3は紹介済みなのでその他 Sunday, October 13, 13
  58. 58. まずはGitリポジトリ • ロールバック・フォワードやバックアップ、 履歴管理のため、Gitへ • VM上でもよし • 共有フォルダ機能で親OS側に置いてもよ し • Gitにすればなんでもありへ 28 Sunday, October 13, 13
  59. 59. 1.普通のレンサバへ • FTPなりで更新、git hookでアップ自動化も • そもそもPHP実行しないのでそんなに重く ならないかも • 価格固定 • プレビュー,ロールバックが手元で確認OK 29 Sunday, October 13, 13
  60. 60. 2.DropBoxへ • Public公開機能を • Dropboxにそのまま出力で同期いらず • なにかしらリバースプロキシが必要 • 転送量制限 Cloud Front 30 Sunday, October 13, 13
  61. 61. 3.herokuへ • Rubyでちょっと書けば静的ファイルの配信 可能 • 維持費無料 31 Sunday, October 13, 13
  62. 62. 4.AWS OpsWorksへ(1/3) • 実はただの静的ファイル配信インスタンスに 対応 • 不必要なほど色々可能 32 Sunday, October 13, 13
  63. 63. 4.AWS OpsWorksへ(2/3) • インスタンスはELB標準対応 • AutoScaleでインスタンス増減 33 Sunday, October 13, 13
  64. 64. 4.AWS OpsWorksへ(3/3) • 勝手にCloudWatch開始 • yes,expensive Cloud Watch 34 Sunday, October 13, 13
  65. 65. 色々考えてみましたが S3で十分 Sunday, October 13, 13
  66. 66. 最後に:Vagrantリファレンス http://docs.vagrantup.com/v2/ こういうのもでてます ウォークスルーに 丁度良い内容 36 Sunday, October 13, 13
  67. 67. 終 Sunday, October 13, 13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×