Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vagrant 1.2.2 and AWS
Search
Arturas Smorgun
May 09, 2013
Technology
0
60
Vagrant 1.2.2 and AWS
Demo of new features in Vagrant 1.2.2 and usage with AWS
Arturas Smorgun
May 09, 2013
Tweet
Share
More Decks by Arturas Smorgun
See All by Arturas Smorgun
Solve Complex Problems with DDD
asarturas
0
130
Review of Graph Databases
asarturas
0
75
Profiling in PHP
asarturas
5
910
Design Patterns in PHP Applications
asarturas
5
200
Application Quality
asarturas
6
320
Git Rebase
asarturas
2
230
Let's automate!
asarturas
0
260
AngularJS
asarturas
14
1.3k
Other Decks in Technology
See All in Technology
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
3
590
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
270
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
2
210
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
480
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
460
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
Bedrock で検索エージェントを再現しようとした話
ny7760
2
120
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
120
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
はじめてのOSS開発からみえたGo言語の強み
shibukazu
4
1k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Designing for Performance
lara
610
69k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Designing for humans not robots
tammielis
253
25k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Git: the NoSQL Database
bkeepers
PRO
431
66k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Transcript
Artūras Šmorgun, Inviqa Enlighten Lunch, 9th of May 2013 va·grant
One who lives on the streets and constitutes a public nuisance.
$ vagrant a tool to manage virtual boxes sometimes annoying
but easy and helpful (when works)
Versions 1.0.7 is widely used 1.2.2 is latest version 1.2.3
to be released soon
Vagrant 1.2.2 Compatibility Installation Configuration Plugins Windows support
1.1.x Fully compatible with 1.0.x (if you don’t use plugins)
1.x Fully compatible with 1.0.x Compatibility between 1.x not promised
(until next stable release 2.0) (1.0 considered to be stable)
Installation No RubyGems since 1.0.x downloads.vagrantup.com Install as usual Logout
and login back
Configuration Compatible with 1.0.x Versioning Vagrant.configure(“version#”) Vagrant.Config.run == Vagrant.configure(“1”)
Plugins Claimed to be compatible between version Many of them
(and increasing)
vagrant-apache2, vagrant-aws, vagrant- berkshelf, vagrant-boxen, vagrant-bundler, vagrant-butcher, vagrant-digitalocean, vagrant- exec,
vagrant-fog-box-storage, vagrant-host-path, vagrant-hostmaster, vagrant-hostmanager, vagrant-kvm, vagrant-librarian, vagrant- librarian-chef, vagrant-libvirt, vagrant-lxc, vagrant-mysql, vagrant-notify, vagrant-persistent- storage, vagrant-plugins, vagrant-rake, vagrant- rsync, vagrant-salt, vagrant-screenshot, vagrant- snap, vagrant-vbguest, nugrant, vagrant- sparseimage, vagrant-windows Last edited by p0deje, 10 days ago
vagrant-librarian-chef Automatically runs librarian-chef You will still need to have
in installed git://github.com/jimmycuadra/vagrant-librarian-chef.git Vagrant 1.2.0+
vagrant-aws Provisioner Amazon EC2 git://github.com/mitchellh/vagrant-aws.git Vagrant 1.2.0+
usage: step #1 vagrant plugin install vagrant-aws
usage: step #2 Create box file metadata.json Vagrantfile Tar-gzip it
metadata.json { "provider": "aws" }
Vagrantfile # -*- mode: ruby -*- # vi: set ft=ruby
: Vagrant.configure("2") do |config| config.vm.provider :aws do |aws| aws.ami = "ami-7747d01e" end end
tar-gzip it! tar cvzf aws.box ./metadata.json \ ./Vagrantfile
usage: step #3 Project configuration with Vagrantfile Source box from
last step Access details Configuration
Project structure > tools/ > vagrant/ > Vagrantfile
Vagrantfile # -*- mode: ruby -*- # vi: set ft=ruby
: Vagrant.configure("2") do |config| config.vm.provider :aws do |aws, override| end end
Vagrantfile: box # -*- mode: ruby -*- # vi: set
ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "vagrant122-aws" config.vm.box_url = "file:///home/arturas/ Downloads/vagrant122-aws.box" <..> end
Vagrantfile: aws <..> config.vm.provider :aws do |aws, override| aws.access_key_id =
'key_id' aws.secret_access_key = 'secret_access_key' aws.keypair_name = 'Vagrant122' aws.region = 'eu-west-1' aws.instance_type = 'm1.micro' aws.ami = 'ami-f2191786' override.ssh.username = 'ubuntu' override.ssh.private_key_path = "path_to_pem" end <..>
https://portal.aws.amazon.com/gp/aws/securityCredentials
https://console.aws.amazon.com/ec2/home
usage: step #4 Project provisioning with Vagrantfile Shell script to
install chef Add shell provision Add chef provision
Project structure > tools/ > vagrant/ > Vagrantfile > install_chef_solo.sh
install_chef_solo.sh #!/bin/bash sudo apt-get update sudo apt-get -y install rubygems
sudo gem install chef
Project structure > tools/ > vagrant/ > Vagrantfile > install_chef_solo.sh
Vagrantfile: shell <..> config.vm.provision :shell do |shell| shell.path = "install_chef_solo.sh"
end <..>
Project structure > tools/ > vagrant/ > Vagrantfile > install_chef_solo.sh
> Cheffile > cookbooks/
Cheffile #!/usr/bin/env ruby #^syntax detection site 'http://community.opscode.com/api/v1' cookbook 'apache2', '>=
1.0.0' cookbook 'php', '>= 1.0.0' cookbook 'mysql', '>= 1.0.0'
Project structure > tools/ > vagrant/ > Vagrantfile > install_chef_solo.sh
> Cheffile > cookbooks/
Vagrantfile: chef <..> config.vm.provision :chef_solo do |chef| chef.cookbooks_path = ["cookbooks"]
chef.add_recipe "apache2" chef.add_recipe "php" chef.add_recipe "apache2::mod_php5" chef.add_recipe "mysql::server" chef.add_recipe "php::module_mysql" end <..>
usage: step #5 vagrant up --provider aws vagrant provision
Demonstration?
Questions? Artūras Šmorgun
[email protected]
@asarturas
Thank you! Artūras Šmorgun
[email protected]
@asarturas