• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Vagrant - 最近流行ってるらしいけど何者?
 

Vagrant - 最近流行ってるらしいけど何者?

on

  • 230 views

社内の勉強会で Vagrant について発表した資料です。

社内の勉強会で Vagrant について発表した資料です。

Statistics

Views

Total Views
230
Views on SlideShare
222
Embed Views
8

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 8

http://s.deeeki.com 8

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Vagrant - 最近流行ってるらしいけど何者? Vagrant - 最近流行ってるらしいけど何者? Presentation Transcript

    • Vagrant 最近流行ってるらしいけど何者?
    • Vagrantってどういうもの? ● サーバ仮想化ソフトのフロントエンドツール – 最初は VirtualBox を使いやすくするツールだった – 最近はいろんな仮想化基盤、クラウドサービスを  操作するフロントエンドツールに進化しつつある ● Rubyで書かれたOSS – ソースは GitHub に公開されている – 機能を強化するプラグインもRubyで開発できる
    • Vagrantってどうやって使うの? ● インストーラをダウンロードしてセットアップ – Mac OS X, Windows, Linux 用のインストーラ ● http://www.vagrantup.com/downloads.html – 別途 Oracle VirtualBox はインストール必要 ● Vagrantfile を書く – vagrant init でひな形を作成 & 編集 – 編集方法はマニュアルを参考に ● http://docs.vagrantup.com/v2/
    • Vagrantってどうやって使うの? ● おもむろに vagrant up で起動 ● 一仕事終えたら vagrant halt で停止 ● 設定変更したら vagrant reload で再起動 ● 飽きたら vagrant destroy で抹消!!
    • Vagrantってどんな環境で使えるの? ● 基本:VirtualBox と組合せて使う ● 応用:クラウドと組合せて使う ● 応用:Dockerと組合せて使う
    • Vagrant+VirtualBox Internet 自分のPC Windows / Mac OS X / Linux Oracle VirtualBoxVagrant VirtualBox VM VirtualBox VM Vagrantfile 1.VM設定を書く 3.vagrant up Box ファイル 2.ベースイメージをDL VM起動 CentOS CentOS
    • Vagrant+VirtualBox Internet 自分のPC Windows / Mac OS X / Linux Oracle VirtualBoxVagrant VirtualBox VM VirtualBox VM Chef Cookbook 2.vagrant provision (vagrant upでもok) ソフトウェアの 導入、設定 CentOS CentOS Ansible Playbook Puppet Manifest Shell Script 1.サーバ構築設定を書く PostgreSQL Zabbix Server PostgreSQL Zabbix Agent
    • Vagrantってどんな環境で使えるの? ● 基本:VirtualBox と組合せて使う ● 応用:クラウドと組合せて使う ● 応用:Dockerと組合せて使う
    • Vagrant+AWS Internet 自分のPC Windows / Mac OS X / Linux Vagrant EC2 Instance EC2 Instance Vagrantfile 1.VM設定を書く CentOS CentOS AMI2.vagrant up --provider=aws インスタンス起動
    • Vagrant+AWS Internet 自分のPC Windows / Mac OS X / Linux Vagrant EC2 Instance EC2 Instance CentOS CentOS AMI Chef Cookbook Ansible Playbook Puppet Manifest Shell Script 1.サーバ構築設定を書く 2.vagrant provision (vagrant upでもok) ソフトウェアの 導入、設定 PostgreSQL Zabbix Server PostgreSQL Zabbix Agent
    • Vagrantってどんな環境で使えるの? ● 基本:VirtualBox と組合せて使う ● 応用:クラウドと組合せて使う ● 応用:Dockerと組合せて使う
    • Vagrant+Docker Internet自分のPC Windows / Mac OS X / Linux Oracle VirtualBox (Linuxなら不要)Vagrant Docker Container Vagrantfile 1.VM設定を書く Docker Image ベースイメージのDL VM起動 CentOS CentOS boot2docker VM(Linuxなら不要)boot2docker VM(Linuxなら不要) Docker Container コンテナ起動 2.vagrant up --provider=docker
    • Vagrant+Docker Internet自分のPC Windows / Mac OS X / Linux Oracle VirtualBox (Linuxなら不要)Vagrant Docker Container CentOS CentOS boot2docker VM(Linuxなら不要)boot2docker VM(Linuxなら不要) Docker Container Chef Cookbook Ansible Playbook Puppet Manifest Shell Script 1.サーバ構築設定を書く2.vagrant provision (vagrant upでもok) ソフトウェアの 導入、設定 PostgreSQL Zabbix Server PostgreSQL Zabbix Agent
    • Vagrantってどんな環境で使えるの? ● Provider が存在すれば Vagrant が使える ● 対応している Provider – VMWare Fusion, AWS, Azure, CloudStack, OpenStack, vSphere etc... – Available Vagrant Plugins ● https://github.com/mitchellh/vagrant/wiki/Available-V agrant-Plugins
    • Vagrantって誰得?何がうれしい? ● 仮想サーバの状態をいつでも再現できる – Vagrantfile でサーバ起動状態の定義を外部化 – 誰でも同じ設定のサーバを用意できる – git でバージョン管理して他の開発者と共有できる – AWS の CloudFormation, OpsWorks あたりと   世界観は近い
    • Vagrantって誰得?何がうれしい? ● 環境を変えてもオペレーションは同じ – vagrant up : サーバの起動 – vagrant halt : サーバの停止 – vagrant reload : サーバの再起動 – vagrant destroy : サーバの抹消 ● 覚えることが少なくてすむ – 環境の違いによって思考を阻害されずにすむ
    • Vagrantって誰得?何がうれしい? ● 作業端末(ホストOS)と実行環境(ゲストOS)の ファイルシステムが共有できる – Virtual Box の GUI で設定してもいいけど面倒 – NFS, rsync でも共有できる
    • Vagrantって誰得?何がうれしい? 自分のPC Windows Oracle VirtualBox VirtualBox VM CentOS C:/Users/naka24/Test Vagrantfile AAAA.php 好きなエディタでコード編集 Apache httpd /vagrant Vagrantfile AAAA.php ファイル 同期 好きなブラウザで動作確認 http://localhost:10080/AAAA.php VM内で実行
    • Vagrantって誰得?何がうれしい? ● 起動したゲストOSへのSSH接続が簡単 – 接続先のIPアドレスとか公開鍵認証とか考えずに vagrant ssh で OK – Docker のコンテナへも SSH で一発接続! – Amazon EC2 インスタンスへも SSH で一発接続!
    • Vagrantって誰得?何がうれしい? ● ネットワークも Vagrantfile で思いのまま – Forwarded Port ● ホストのポートをゲスト上のポートへフォワード – Private Network ● ホストとゲストだけのプライベートなネットワークを構築 ● 自由に静的なIPアドレスをゲストに付与できる – Public Network ● ゲストをホストと同じネットワークに接続 ● 他のホストマシンからゲストにアクセスできる – 設定できる範囲は Provider の実装に依存
    • Vagrantって誰得?何がうれしい? ● ゲストOSのプロビジョニングもシームレス – Shell, Chef, Puppet, Ansible, Docker … – 開発現場ではサーバを作る&壊すの繰り返し ● Vagrant がないと軽く死ねる – VirtualBox なら Sahara で何度もやり直せる ● 変更した結果が気に入れば commit ● 変更した結果が気に入らなければ rollback
    • Vagrantって誰得?何がうれしい? ● ゲストOSのベースイメージ(Box)を入手 – インターネットに公開されているものを利用 ● Vagrantbox.es : 中身がブラックボックスなので注意 – http://www.vagrantbox.es/ ● Bento : Packerのテンプレート付きで安心 – https://github.com/opscode/bento/tree/master/packer – 自分で作成したものを利用 ● Packer で Box を新規作成 ● vagrant package で起動済サーバから Box を生成
    • Vagrantって誰得?何がうれしい? ● Vagrant Cloud, Vagrant Shareで自分の   実行環境をインターネット経由でシェア – バージョン 1.5 新機能 – 詳しくは↓を参照 ● http://nekopunch.hatenablog.com/entry/2014/03/11/ 223250 ● http://firegoby.jp/archives/5451 ● 何ができるようになるだろう? – スマホアプリの動作テストとか
    • まとめ ● Vagrant とは – 仮想サーバを楽に取り扱うフロントエンドツール – Vagrantがないとできないこと、は多分ない – Vagrantがないと面倒なこと、を楽にする ● Dockerとの共通点 – 実は新しい技術ではない – 既存の技術を使いやすくしたもの