이미지 저장 태스크 생성
S3 버킷에 AMI를 저장하면 이미지 저장 태스크가 생성됩니다. 이미지 저장 태스크를 사용하여 프로세스의 진행 상황과 결과를 모니터링할 수 있습니다.
AMI 보안
S3 버킷에 AMI의 콘텐츠를 보호할 수 있는 충분한 보안으로 구성되어 있고 AMI 객체가 버킷에 남아 있는 동안 보안이 유지되도록 하는 것이 중요합니다. 불가능하다면 이러한 API를 사용하지 않는 것이 좋습니다. S3 버킷에 대한 퍼블릭 액세스가 허용되지 않는지 확인합니다. 필수는 아니지만, AMI가 저장되는 S3 버킷에 대해 서버 측 암호화를 활성화하는 것이 좋습니다.
S3 버킷에 대한 적절한 보안 설정을 설정하는 방법에 대한 자세한 내용은 다음 보안 항목을 참조하세요.
AMI 스냅샷이 S3 객체에 복사되면 데이터는 TLS 연결을 통해 복사됩니다. AMI를 암호화된 스냅샷과 함께 저장할 수 있지만 스냅샷은 저장 프로세스의 일부로 복호화됩니다.
S3를 사용하여 AMI를 저장하고 복원하기 위한 권한
IAM 보안 주체가 Amazon S3를 사용하여 AMI를 저장 또는 복원하는 경우 이 보안 주체에 필요한 권한을 부여해야 합니다.
다음 예시 정책에는 IAM 보안 주체가 저장 및 복원 태스크를 수행하도록 허용하는 데 필요한 모든 작업이 포함되어 있습니다.
또한 보안 주체에게 특정 리소스에만 액세스할 수 있는 권한을 부여하는 IAM 정책을 생성할 수도 있습니다. 더 많은 예시 정책은 IAM 사용 설명서의 AWS 리소스에 대한 액세스 관리를 참조하세요.
참고
AMI를 구성하는 스냅샷이 암호화된 경우 또는 계정이 기본적으로 암호화에 대해 활성화된 경우 IAM 보안 주체에 KMS 키를 사용할 권한이 있어야 합니다.
{
"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": "*"
}
]
}
이미지 저장 및 복원 태스크 생성
S3 버킷에 AMI를 저장하려면 먼저 이미지 저장 태스크를 생성합니다. 태스크를 완료하는 데 걸리는 시간은 AMI의 크기에 따라 다릅니다. 성공하거나 실패할 때까지 태스크의 진행 상황을 추적할 수 있습니다.
이미지 저장 태스크를 생성하려면 다음을 수행하세요.
create-store-image-task 명령을 사용합니다. AMI의 ID와 AMI를 저장할 S3 버킷의 이름을 지정합니다.
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
출력의 Bucket
및 describe-store-image-tasks
값을 사용하여 AMI의 객체 키와 AMI가 복사된 S3 버킷의 이름을 지정합니다. 복원된 AMI의 이름도 지정합니다. 이름은 이 계정의 리전 내 AMI에 대해 고유해야 합니다.
참고
복원된 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" }