2017-01-20 45 views
1

我試圖自動化一些VM構建過程。我們使用Vagrant,Virtualbox作爲我們的提供商。我們希望我們的虛擬機構建在EC2上進行,但爲了構建Virtualbox需要啓動的映像。由於Virtualbox無法在EC2機器上運行,因此我想知道是否有任何其他AWS工具可以幫助解決這個問題。有沒有辦法在AWS內部運行Virtualbox?

+0

如果你的目的是要建立生產虛擬機,你可能會感興趣的封隔器(也由HashiCorp),這是流浪統一形象的建設者,碼頭工人,EC2,等等https://www.packer.io/ –

回答

0

不確定爲什麼你想在AWS的容器內運行你的代碼。但是你絕對可以使用Docker see here。實際上,一些AWS服務使用docker,例如彈性Beanstalk。

我也聽說過boxfuse幫助部署自動化的服務。據我瞭解,它創建圖像AWS可以直接運行。我自己從來沒有使用過這個服務,所以不能說太多。

0

放浪有一個「AWS」提供,讓您從您的本機上運行流浪在EC2上:

$ vagrant plugin install vagrant-aws 
$ vagrant up --provider=aws 

如果您已經供應的盒子在VirtualBox中你需要與vagrant destroy首先除去它

你還需要在你的Vagrantfile使用亞馬遜AMI而不是常規的盒子

vagrant box add aws-dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box 

config.vm.box = "aws-dummy" 
require 'vagrant-aws' 
config.vm.provider 'aws' do |aws, override| 
    aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] 
    aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY'] 
    aws.keypair_name = 'default' 
    aws.region = 'us-east-1' 
    aws.ami = 'ami-e13739f6' 
    aws.security_groups = ['default'] 
    override.ssh.username = 'ubuntu' 
    override.ssh.private_key_path = '~/.ssh/ssh-keypair-file' 
end 

https://www.vagrantup.com/docs/getting-started/providers.html

http://blog.scottlowe.org/2016/09/15/using-vagrant-with-aws/

0

要建立一個EC2 AMI,並從中推出一些情況下,你可以使用Boxfuse的通用Linux x64的支持:https://boxfuse.com/docs/payloads/linux-x64

所有你需要做的是通過在一個tar.gz文件和要運行的命令,其餘部分將由您負責。

免責聲明:我Boxfuse的創始人兼首席執行官

相關問題