您好,登錄后才能下訂單哦!
如何在AWS平臺導入自行創建的操作系統模板并創建EC2實例
AWS平臺提供的AMI,尤其是國內AMI數量甚少,社區非官方提供的各類AMI我們使用起來又充滿憂慮
所以,自行安裝系統導入AWS平臺成為一個較好的選擇
注意:
基本步驟
本地Vcenter/ESXI5.X 中創建虛擬機,根據需要安裝各類環境和軟件
準備好的虛擬機要求見:http://docs.amazonaws.cn/vm-import/latest/userguide/prepare-vm-p_w_picpath.html
使用Vcenter的服務器模板導出功能導出一份ova類型的模板,size1-5G,視系統安裝軟件多少不同
如何導出參考 http://docs.amazonaws.cn/vm-import/latest/userguide/export-vm-p_w_picpath.html
將OVA文件導入到Amazon S3 存儲桶,存儲桶要對步驟4的vmimport授權,至少是列出和只讀,授權過程如4.3
創建服務角色
4.1利用下策略創建名為 trust-policy.json
的文件
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vmie.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals":{ "sts:Externalid": "vmimport" } } } ] }
您可將文件保存在計算機的任何位置。請記下文件的位置,因為在下一步中您需要指定該文件。
4.2 使用 create-role 命令創建名為 vmimport
的角色,并向 VM Import/Export 提供對該角色的訪問權。請務必指定 trust-policy.json
文件位置的完整路徑。
aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
4.3 創建名為 role-policy.json
的文件并編寫下面的策略,其中,disk-p_w_picpath-file-bucket
為存儲磁盤映像的存儲桶:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws-cn:s3:::" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws-cn:s3:::/*" ] }, { "Effect": "Allow", "Action":[ "ec2:ModifySnapshotAttribute", "ec2:CopySnapshot", "ec2:RegisterImage", "ec2:Describe*" ], "Resource": "*" } ] }
4.4 使用下面的 put-role-policy 命令將策略掛載到之前創建的角色。請務必指定 role-policy.json
文件位置的完整路徑。
aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json
5 導入 OVA
將您的 VM 映像文件上傳到 Amazon S3 后,可以使用 AWS CLI 導入該映像。這些工具接受 URL(公共 Amazon S3 文件,適用于私有 Amazon S3 文件的已簽名的 GET URL)或 Amazon S3 存儲桶和磁盤文件的路徑。
aws ec2 import-p_w_picpath --description "Windows 2008 OVA" --disk-containers file://containers.json
下面是一個 containers.json
示例文件。
[ { "Description": "Windows 2008 OVA", "Format": "ova", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "vms/my-windows-2008-vm.ova" } }]
如果是導入多個磁盤的
Copy[ { "Description": "First disk", "Format": "vmdk", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "disks/my-windows-2008-vm-disk1.vmdk" } }, { "Description": "Second disk", "Format": "vmdk", "UserBucket": { "S3Bucket": "my-import-bucket", "S3Key": "disks/my-windows-2008-vm-disk2.vmdk" } } ]
使用 describe-import-p_w_picpath-tasks 命令返回導入任務的狀態。
包括的狀態值如下:
active
- 正在運行導入任務。
deleting
- 正在取消導入任務。
deleted
- 導入任務已取消。
validating
— 正在驗證導入的映像。
converting
— 正在將導入的映像轉換成 AMI。
completed
- 導入任務已完成,并且 AMI 已準備就緒,隨時可以使用。
aws ec2 describe-import-p_w_picpath-tasks --import-task-ids import-ami-fgxn195v
使用 cancel-import-task 命令取消正在運行的導入任務。
aws ec2 cancel-import-task --import-task-id import-ami-fg4z7c9h
現在,您已擁有 AMI,您可以將其作為實例啟動,或將其復制到其他的區域。有關更多信息,請參閱 Amazon EC2 文檔中的以下主題。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。