簡體   English   中英

Packer + Vagrant-從ISO創建AMI

[英]Packer + Vagrant - create AMI from ISO

是否可以從ISO創建AMI?

我正在實現一個使用基本iso的構建系統,對其進行修改,安裝內容,然后將其輸出到.ovf和AMI中。

.ovf作品。 但是對於AMI,我能弄清楚的是它需要預先存在的AMI。 它是否正確?

有什么方法可以使用iso並生成AMI?

謝謝。

當您從ISO告訴我,您正在尋找一個受信任的基礎VM。 您想首先從本地安裝,然后將其作為受信任的專用AMI導入ec2。 如果您不介意使用veewee,這里有一篇很棒的文章使用veewee而不是packer: veewee這都是CentOS的設置。 您需要做的就是克隆它,並針對您的用例進行調整。

但是,由於您正在尋找像我一樣的打包程序,因此您需要的是打包程序中的virtualbox-iso構建器和一些aws-cli命令,用於從OVA中上載和創建AMI。 很遺憾,Packer沒有后處理程序。 然后,您可以使用vagrant引用新的AMI以進行基於ec2的開發,並使用vagrant-aws插件從您信任的基本ami中創建新的ami。

以下是要遵循的步驟:

1.)創建用於圖像導入的S3存儲桶。

2.)設置您的AWS賬戶。 創建“ vmimport” IAM角色和策略以及X509密鑰和證書對(如果沒有)。 您將需要此來注冊專用AMI。 您還將參考策略的存儲桶名稱。

3.)使用打包程序的virtualbox-iso構建器使用VirtualBox構建VM,並以ova格式輸出映像。

4.)在您的aws帳戶中使用aws-cli將OVA上傳到您創建的存儲桶。 aws s3 cp命令。

5.)將OVA注冊為ami。 您將為此使用aws ec2 import-image命令。 (這部分可能需要30分鍾-1小時的時間)。

您可以使用以下方法跟蹤進度: aws ec2 describe-import-image-tasks ,AMI將出現在“專用AMI”列表中。

Vagrant包含一個有用的小插件,名為vagrant-ami,可用於創建EC2自定義AMI:

$ vagrant create-ami new_image --name my-ami --desc "My AMI"

然后,您可以用自定義的ID替換Vagrantfile中的AMI ID。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM