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
99
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vagrant 1.2.2 and AWS
Demo of new features in Vagrant 1.2.2 and usage with AWS
Arturas Smorgun
May 09, 2013
More Decks by Arturas Smorgun
See All by Arturas Smorgun
Solve Complex Problems with DDD
asarturas
0
160
Review of Graph Databases
asarturas
0
100
Profiling in PHP
asarturas
5
960
Design Patterns in PHP Applications
asarturas
5
220
Application Quality
asarturas
6
340
Git Rebase
asarturas
2
250
Let's automate!
asarturas
0
290
AngularJS
asarturas
13
1.3k
Other Decks in Technology
See All in Technology
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
110
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
210
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
740
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
250
Digitization部 紹介資料
sansan33
PRO
2
7.7k
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
790
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.3k
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
540
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
710
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.5k
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
670
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Test your architecture with Archunit
thirion
1
2.3k
Statistics for Hackers
jakevdp
799
230k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Agile that works and the tools we love
rasmusluckow
331
22k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Marketing to machines
jonoalderson
1
5.7k
4 Signs Your Business is Dying
shpigford
187
22k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
Tell your own story through comics
letsgokoyo
1
1k
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