# Instance Store

Amazon EC2 instances use **Amazon Elastic Block Store (EBS) or Instance Store volumes** as their root volumes. When an **Instance Store-backed EC2 instance is terminated**, its **data is lost** permanently. Understanding **EBS vs. Instance Store** is crucial for **managing persistent data, backups, and disaster recovery**.

This guide covers:\
✔ **Understanding Instance Store vs. EBS Volumes**\
✔ **What Happens to Data on Termination?**\
✔ **Best Practices for Data Persistence**\
✔ **SecureCart Use Case: Managing Web Application Storage**\
✔ **Common Mistakes & How to Avoid Them**

***

### **🔹 Understanding Instance Store vs. EBS Volumes**

| **Volume Type**    | **Persistent Storage?** | **Attached To?**                | **Use Case**                                             |
| ------------------ | ----------------------- | ------------------------------- | -------------------------------------------------------- |
| **Instance Store** | ❌ No                    | Specific EC2 instance           | High-performance temporary storage (e.g., cache, buffer) |
| **Amazon EBS**     | ✅ Yes                   | Any EC2 instance in the same AZ | Persistent storage for OS, databases, logs               |

🔹 **Key Difference:**

* **Instance Store** is **ephemeral** (data is lost when the instance stops or terminates).
* **EBS Volumes** persist beyond instance lifecycle unless manually deleted.

***

### **🔹 What Happens to Data on Termination?**

| **Instance Type**                   | **Data Behavior on Termination**                                   |
| ----------------------------------- | ------------------------------------------------------------------ |
| **Instance Store-backed AMI**       | 🚨 **All data is lost permanently**                                |
| **EBS-backed AMI**                  | ✅ Root volume deleted (unless "Delete on Termination" is disabled) |
| **Attached EBS Volumes (non-root)** | ✅ Data persists                                                    |

✅ **How to Check If Your EC2 Instance is Using Instance Store?**

1. Navigate to **EC2 Console** → Select the **Instance**.
2. Check **Storage Type** under **Instance Details**.
3. If the root volume is **Instance Store**, data will be lost on termination.

***

### **🔹 SecureCart Use Case: Managing Web Application Storage**

SecureCart, an **e-commerce platform**, hosts its web application on EC2 and **needs persistent storage** for user sessions, logs, and database records.

**✅ SecureCart’s Storage Needs:**\
✔ **Web application files must persist even after instance termination**.\
✔ **Application logs should not be lost** (used for debugging and compliance).\
✔ **Product images must be stored safely for quick retrieval**.

🔹 **What SecureCart Uses:**\
✔ **Amazon EBS for persistent storage** of logs, application code, and configurations.\
✔ **Amazon S3 for product images & backups** (cheaper and more scalable).\
✔ **Amazon RDS for transactional data** (instead of self-managed database on EC2).

***

### **🔹 Best Practices for Data Persistence**

#### **1️⃣ If Using Instance Store: Take Regular Backups**

✔ Store critical files in **Amazon S3** or **Amazon EFS** before termination.\
✔ Use **Amazon FSx or EFS for shared storage** between multiple instances.

#### **2️⃣ Convert Instance Store to EBS for Persistence**

✅ **Steps to Migrate Data from Instance Store to EBS:**

1. **Create an Amazon Machine Image (AMI)** from the existing instance.
2. **Launch a new EC2 instance using an EBS-backed AMI**.
3. **Attach an EBS volume** and copy critical data from the instance store.

#### **3️⃣ Modify EBS "Delete on Termination" Flag**

By default, **EBS root volumes** are **deleted when an instance is terminated**.

✅ **Steps to Keep Data After Termination:**

1. Go to **EC2 Console** → Select the **instance**.
2. Under **Storage**, find the **EBS volume**.
3. Modify **Delete on Termination** to ❌ **Disabled**.

***

### **🔹 Common Mistakes & How to Avoid Them**

| **Mistake**                                              | **Impact**                                     | **Solution**                                             |
| -------------------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------- |
| **Using Instance Store for critical data**               | Data lost on instance termination              | Use **EBS or S3 for persistent storage**                 |
| **Not backing up instance store data**                   | Permanent loss of application files            | Create **regular S3 backups**                            |
| **Leaving EBS "Delete on Termination" enabled**          | Root volume lost with instance                 | Disable **Delete on Termination** for persistent storage |
| **Assuming Instance Store can be detached & reattached** | Cannot recover data after instance termination | Use **EBS for detachable storage**                       |

***

### **✅ Summary**

✔ **Instance Store is ephemeral; all data is lost on termination**.\
✔ **EBS is persistent; data remains unless explicitly deleted**.\
✔ **SecureCart uses EBS for application storage & S3 for backups**.\
✔ **Modify "Delete on Termination" settings to retain EBS volumes**.\
✔ **Convert Instance Store-backed AMIs to EBS-backed AMIs** for persistence.
