[英]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.