S3 버킷에 AMI를 보존하고 AMI를 복원해 보기

S3 버킷에 AMI를 보존하고 AMI를 복원해 보는 방법을 정리해 봤습니다.
2023.08.26

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 S3 버킷에 AMI를 보존하고 AMI를 복원해 보는 방법을 정리해 봤습니다.

사전 준비

먼저 AMI를 S3 버킷에 보존하기 위해서는 CLI 환경을 이용할 필요가 있습니다.

CLI 환경 설정에 대해서는 아래 블로그를 참고해 주세요.

AMI를 보존할 S3 버킷을 생성합니다.

AMI를 S3 버킷에 보존하기 위해서는 최소한 하나 이상의 AMI가 생성되어 있어야 합니다.

대상 EC2 인스턴스를 선택한 다음「작업」→「이미지 및 템플릿」→「이미지 생성」을 클릭합니다.

※ 본 블로그에서는 테스트용으로 수동으로 AMI를 생성합니다.

적절하게 AMI 이미지를 입력하고 AMI 생성을 끝마칩니다.

이미지 카테고리에서 생성한 AMI를 확인할 수 있습니다.

S3 버킷에 AMI 보존

aws ec2 create-store-image-task \
    --image-id ami-xxxxxxxxx \
    --bucket ami-test-bucket-jw

「image-id」에는 생성한 AMI ID를 입력하고「bucket」에는 S3 버킷의 이름을 입력합니다.

{
    "ObjectKey": "ami-xxxxxxxxx.bin"
}

명령어를 입력 후, 다음과 같이 표시가 된다면 성공입니다.

해당 S3 버킷에 AMI가 보존된 것을 확인할 수 있습니다.

aws ec2 describe-store-image-tasks

마지막으로 해당 명령어로 AMI 보존 상황을 확인할 수 있습니다.

S3 버킷에서 AMI 복원

aws ec2 create-restore-image-task \
    --object-key ami-xxxxxxxxx.bin \
    --bucket ami-test-bucket-jw \
    --name "test-ec2-restore-ami"
  • --object-key : S3 버킷에 저장되어 있는 객체 명을 입력합니다.
    • ex) ami-xxxxxxxxxxxxx.bin
  • bucket : 복원할 AMI가 저장된 S3 버킷 명을 입력합니다.
  • name : 복원할 AMI의 이름을 입력합니다.
    • 복원할 AMI의 이름은 중복되어서는 안됩니다.
{
    "ImageId": "ami-xxxxxxxxxxxxx"
}

명령어를 입력 후, 다음과 같이 표시가 된다면 성공입니다.

콘솔화면에서 확인해 보면, 지정한 이름으로 AMI가 복원된 것을 확인할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.