Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Vagrant 1.2.2 and AWS
Search
Arturas Smorgun
May 09, 2013
Technology
100
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
170
Review of Graph Databases
asarturas
0
110
Profiling in PHP
asarturas
5
960
Design Patterns in PHP Applications
asarturas
5
220
Application Quality
asarturas
6
350
Git Rebase
asarturas
2
250
Let's automate!
asarturas
0
290
AngularJS
asarturas
13
1.3k
Other Decks in Technology
See All in Technology
DORA_Metrics.pdf
wagnerfusca
1
140
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
140
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
250
Incremental HTTP
kazuho
5
1.8k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
3
21k
PQC移行の今 -- IETF からみた現在地
satokan
4
720
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
210
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
120
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
650
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
1.9k
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
610
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
340
WENDY [Excerpt]
tessaabrams
14
40k
Speed Design
sergeychernyshev
33
2.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
We Have a Design System, Now What?
morganepeng
55
8.3k
Paper Plane
katiecoart
PRO
4
53k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Un-Boring Meetings
codingconduct
0
430
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
We Are The Robots
honzajavorek
0
380
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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