本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立商店映像檔工作
當您將儲存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
\ --bucketamzn-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令。使用輸出S3ObjectKey
和describe-store-image-tasks
輸Bucket
出的值,指定要複製到AMI的 S3 儲存貯體的物件金鑰和名稱。AMI還指定恢復的名稱AMI。此帳戶的名稱AMIs在「區域」中必須是唯一的。
注意
恢復將AMI獲得一個新的 AMI ID。
aws ec2 create-restore-image-task \ --object-key
ami-1234567890abcdef0
.bin \ --bucketamzn-s3-demo-bucket
\ --name "New AMI Name
"
下列為範例輸出。
{ "ImageId": "ami-0eab20fe36f83e1a8" }