建立商店映像檔工作 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立商店映像檔工作

當您將儲存AMI在 S3 儲存貯體中時,會建立存放區映像任務。您可以使用存放區映像工作來監視程序的進度和結果。

保護您的 AMIs

請務必確保 S3 儲存貯體設定有足夠的安全性來保護儲存貯體的內容,AMI並且只要AMI物件保留在儲存貯體中,就能維持安全性。如果不能這樣做,不建議使APIs用這些。確保不允許公開存取 S3 儲存貯體。我們建議您為存放所在的 S3 儲存貯體啟用伺服器端加密AMIs,但這不是必要的。

如需如何為 S3 儲存貯體設置適當安全性設定的相關資訊,請檢閱下列安全性主題:

將AMI快照複製到 S3 物件時,資料便會透過TLS連線複製。您可以AMIs使用加密的快照進行儲存,但快照會在儲存過程中解密。

AMIs使用 S3 存放和還原的許可

如果您的IAM主體將AMIs使用 Amazon S3 存放或還原,則需要授予他們所需的許可。

下列範例原則包含允許IAM主參與者執行儲存和還原工作所需的所有動作。

您也可以建立IAM原則,僅授與主參與者存取特定資源。如需更多原則範例,請參《IAM使用指南》中的 AWS 資源存取管理

注意

如果構成的快照已加密,或者您的帳戶預設為啟用加密功能,則您的IAM主體必須具有使用KMS金鑰的權限。AMI

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:PutObjectTagging", "s3:AbortMultipartUpload", "ebs:CompleteSnapshot", "ebs:GetSnapshotBlock", "ebs:ListChangedBlocks", "ebs:ListSnapshotBlocks", "ebs:PutSnapshotBlock", "ebs:StartSnapshot", "ec2:CreateStoreImageTask", "ec2:DescribeStoreImageTasks", "ec2:CreateRestoreImageTask", "ec2:GetEbsEncryptionByDefault", "ec2:DescribeTags", "ec2:CreateTags" ], "Resource": "*" } ] }

建立儲存區和還原映像工作

若要將儲存AMI在 S3 儲存貯體中,請先建立存放映像任務。完成任務所花費的時間取決於AMI. 您可以追蹤任務的進度,直到工作成功或失敗為止。

若要建立存放區映像工作

使用指create-store-image-task令。指定要在其中存放的 S3 儲存貯體的識別碼AMI和名稱AMI。

aws ec2 create-store-image-task \ --image-id ami-1234567890abcdef0 \ --bucket amzn-s3-demo-bucket

下列為範例輸出。

{ "ObjectKey": "ami-1234567890abcdef0.bin" }
描述存放區映像工作的進度

使用指describe-store-image-tasks令。

aws ec2 describe-store-image-tasks

下列為範例輸出。

{ "StoreImageTaskResults": [ { "AmiId": "ami-1234567890abcdef0", "Bucket": "amzn-s3-demo-bucket", "ProgressPercentage": 17, "S3objectKey": "ami-1234567890abcdef0.bin", "StoreTaskState": "InProgress", "StoreTaskFailureReason": null, "TaskStartTime": "2022-01-01T01:01:01.001Z" } ] }
建立還原影像工作

使用指create-restore-image-task令。使用輸出S3ObjectKeydescribe-store-image-tasksBucket出的值,指定要複製到AMI的 S3 儲存貯體的物件金鑰和名稱。AMI還指定恢復的名稱AMI。此帳戶的名稱AMIs在「區域」中必須是唯一的。

注意

恢復將AMI獲得一個新的 AMI ID。

aws ec2 create-restore-image-task \ --object-key ami-1234567890abcdef0.bin \ --bucket amzn-s3-demo-bucket \ --name "New AMI Name"

下列為範例輸出。

{ "ImageId": "ami-0eab20fe36f83e1a8" }