Home > Software design >  Automate AWS AMI creation without downtime and Data loss
Automate AWS AMI creation without downtime and Data loss

Time:09-28

I wanted to know is it possible to automate the creation of AMI in AWS without downtime and data loss, if possible how can we achieve it. I have use system manager-> maintenance window in which i have set the reboot to true for data integrity, but i need a way so that the data is not lost. Any help will be appreciated. Thank-you.

CodePudding user response:

Answering it as per comments discussion, question is somehow still vague to me

You have EBS right now. I'm not sure if your Instances are in Same AZ or not. If they are in same AZ then you can use EBS multi attach feature (available for IO volumes only) to share same storage with all of them. Regarding backup you can choose EBS snapshots

Ideally my suggestion to you would be create a launch template, use EFS that can be mounted to multiple instances in same region, if you want it across regions then create mount targets. EFS is natively integrated with AWS backup. Whenever any failover happens or your EC2 crashes for any reason and it goes less than your target capacity, auto scaling would automatically provision a new instance using launch template which would be using same EFS

CodePudding user response:

but i need a way so that the data is not lost.

  1. if you want to achieve this, then According to Docs, you need to ensure that application or os is not writing to ebs, which can be managed by either a script or a custom logic.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued. This might exclude any data that has been cached by any applications or the operating system. If you can pause any file writes to the volume long enough to take a snapshot, your snapshot should be complete. However, if you can't pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot.

if you achieved the above then you can automate the creation, retention, and deletion of EBS snapshots and EBS-backed AMIs it using Data Lifecycle Manager

  1. I haven't tried this but I think exporting VM to S3 and then automating the entire pipeline with Ec2 image builder should do the trick, you can customise your further images with build components

Refers importing and exporting vm's

Unfortunately there is not of box solution other than compromising data integrity but you can try above mentioned which can ensure data integrity and automation

  • Related