# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://awsinpractice.itassist.com/study-group/aws-certified-solutions-architect-associate/domain-1-design-secure-architectures/task-statement-1.3-determine-appropriate-data-security-controls/instance-store.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
