Initiate Restore from Deep Glacier, but file doesn't become available

0

I am trying to do a test restore of a file which was uploaded to S3 and moved to Deep Glacier through a LifeCycle Rule.
I go into the S3 bucket, find my file (which is in Deep Glacier), and select "Initiate Restore". I then get the message that the restore has been initiated.
But after that, nothing seems to happen. I've waited for over a week and I see no indication in the S3 Management page that the restore is in process or has been completed. And when I use the Read-S3Object Powershell command I get a message "The operation is not valid for the object's storage class". It seems like the object didn't get restored from Deep Glacier back into S3 for me to download.
One note: These files are encrypted so I need to do the actual restore from this Powershell command using the ServerSideEncryptionCustomerMethod of AES256 and the ServerSideEncryptionCustomerProvidedKey parameters.
What am I doing wrong? I've followed this process in the past and while I never saw any indication of when the file was ready to be download from S3, it would always eventually work.
Thanks!

1288333
질문됨 3년 전580회 조회
2개 답변
0

After talking with AWS Support, here is what I found:

Because the object is encrypted with a customer provided key, I can't see the status of the restore from Deep Glacier to S3 in the AWS Management Webpage. So I was told to use the following powershell command:

Get-S3ObjectMetadata -BucketName <bucket> -key '<S3 folder/S3 filename>' -ServerSideEncryptionCustomerMethod AES256 -ServerSideEncryptionCustomerProvidedKey "123456"

Or, I could have used the AWS command (adding the argument for providing the encryption key):
aws s3api head-object --bucket awsexamplebucket --key dir1/example.obj

With either command, you can see that RestoreInProgress is set to true while the object is being restored to S3, and then it changes to false and the RestoreExpiration is set to a date when the object is ready to be downloaded out of S3:

Get-S3ObjectMetadata -BucketName <bucket> -key '<S3 folder/S3 filename>' -ServerSideEncryptionCustomerMethod AES256 -ServerSideEncryptionCustomerProvidedKey "123456"
-or-
aws s3 cp s3://awsexamplebucket/dir1/ s3://awsexamplebucket/dir1/ --storage-class STANDARD --recursive --force-glacier-transfer [with encryption key specified]

1288333
답변함 3년 전
0

After talking with AWS Support, here is what I found:

Because the object is encrypted with a customer provided key, I can't see the status of the restore from Deep Glacier to S3 in the AWS Management Webpage. So I was told to use the following powershell command:

Get-S3ObjectMetadata -BucketName <bucket> -key '<S3 folder/S3 filename>' -ServerSideEncryptionCustomerMethod AES256 -ServerSideEncryptionCustomerProvidedKey "123456"

Or, I could have used the AWS command (adding the argument for providing the encryption key):
aws s3api head-object --bucket awsexamplebucket --key dir1/example.obj

With either command, you can see that RestoreInProgress is set to true while the object is being restored to S3, and then it changes to false and the RestoreExpiration is set to a date when the object is ready to be downloaded out of S3:

Get-S3ObjectMetadata -BucketName <bucket> -key '<S3 folder/S3 filename>' -ServerSideEncryptionCustomerMethod AES256 -ServerSideEncryptionCustomerProvidedKey "123456"
-or-
aws s3 cp s3://awsexamplebucket/dir1/ s3://awsexamplebucket/dir1/ --storage-class STANDARD --recursive --force-glacier-transfer [with encryption key specified]

1288333
답변함 3년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠