Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
21 changes: 21 additions & 0 deletions day-006/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Here is a quick recap of AWS Route 53 based on the sources, presented point-wise for your interview preparation:

* **What is Route 53?** AWS provides **DNS (Domain Name System) as a service** through Route 53. Think of it like AWS providing compute as a service (EC2) or Kubernetes as a service (EKS).
* **What is DNS?** DNS stands for Domain Name System. Its primary function is to **map human-readable domain names (like amazon.com or flipkart.com) to computer-readable IP addresses**.
* **Why is DNS needed?**
* **Ease of use:** Domain names are much **easier for people to remember** than complex IP addresses like `3.6.10.171`.
* **Flexibility:** IP addresses can **change** (they can be dynamic). Using a domain name provides a stable address even if the underlying IP address changes.
* **How DNS works (Simply put):** A DNS service **keeps records** that map a domain name to its corresponding IP address.
* **How Route 53 fits into AWS architecture:**
* In a typical setup (like applications in a private subnet behind a load balancer in a public subnet), when a user tries to access an application using its domain name (e.g., amazon.com), **Route 53 is the first service to intercept the request**.
* Route 53 looks up the domain name in its records to find the associated IP address, usually the **IP address of a load balancer**.
* Once the domain name is resolved to the IP address, the request is **forwarded to the load balancer** (and then typically to the application instances).
* **Key Components/Features of Route 53:**
* **Domain Registration:** You can **register (buy) domain names directly through AWS Route 53**. You can also integrate domain names purchased from other registrars (like GoDaddy).
* **Hosted Zones:** This is a critical concept in Route 53. **Hosted zones contain the DNS records** for a specific domain name. When Route 53 receives a request for a domain name, it looks for the DNS records in the relevant hosted zone (which can be public or private) to resolve the domain name to an IP address.
* **DNS Records:** These are the actual mappings within a hosted zone that **link a domain name or subdomain to an IP address** or other destination.
* **Health Checks:** Route 53 can **monitor the health of your web applications or web servers** (e.g., checking if they are active every minute or five minutes). It can use this information to determine where to forward requests, potentially performing some kind of balancing across healthy servers.

Route 53 simplifies the complex process of managing DNS, especially when hosting applications on AWS.# Route53

TODO
File renamed without changes.
File renamed without changes.
22 changes: 22 additions & 0 deletions day-009/Quick-Interview-Recap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
**AWS S3 Quick Interview Recap**

| Concept | Description | Key Detail/Benefit |
| --- | --- | --- |
| **What is S3?** | Amazon S3 stands for **Simple Storage Service**. It is a **storage service** provided by AWS. | It is one of the most **easy services to learn** on AWS. Many people start their AWS journey with S3 because it's simple to understand and execute. |
| **Purpose** | S3 solves the very common problem of **storage** for organizations. | Organizations deal with large amounts of data like heavy databases, continuous backups, application logs, dashboards, chats, CSV files, and Excel sheets. S3 provides a solution for where organizations can save all these things, especially when moving to the public cloud. |
| **Key Characteristics** | S3 possesses five important characteristics. | These are **highly scalable, highly available, security, cost efficiency, and performance**. These characteristics are major factors behind S3's popularity. |
| **Reliability & Durability** | How robust S3 is against data loss. | S3 is **99.999999999% (Eleven Nines)** reliable and durable. If you upload one billion objects over 100 years, you can expect **only one object to potentially be lost**. This is achieved by creating **multiple replicas** of objects across different Availability Zones and Data Centers within a region. Your data is almost guaranteed to never get deleted. |
| **Availability** | How often the data stored in S3 is accessible. | S3 Standard storage class offers **99.9% availability**. |
| **Scalability** | The ability of S3 to handle vast and growing amounts of data. | S3 is **highly scalable**. There is **no restriction on the amount of data** that can be stored in an S3 bucket. You can keep uploading as much data as required, and AWS S3 will not restrict you. |
| **Objects & Buckets** | The fundamental components of S3 storage. | A **Bucket** is what you create in the S3 service, acting as a container for your data. An **Object** is anything you store inside a bucket, such as pictures, videos, files, folders, Excel sheets, reports, application logs, database dumps, configuration files, etc.. **Each object cannot be more than 5 TB** in size, but you can store multiple objects. |
| **Bucket Naming** | The rules for naming an S3 bucket. | S3 bucket names **must be globally unique** across all AWS accounts. This is because anything uploaded to S3 can be globally accessible. DevOps engineers often use a naming standard to ensure uniqueness. |
| **Regional Scope** | Although content is globally accessible, buckets are tied to a specific AWS region. | S3 buckets are **scoped in a region**, similar to EC2 instances. You select a region when creating a bucket. Choosing a region nearer to the users can result in **less latency**. |
| **Global Accessibility** | How data stored in S3 can be reached from anywhere. | Content put on S3 is **globally accessible**. Objects can be accessed using the **HTTP/HTTPS protocol** via a URL. You can share the URL and grant permissions for access. |
| **Public Access Block** | A security feature to prevent accidental public exposure of data. | By default, **Public Access is blocked** for new buckets. This is highly recommended to keep enabled, especially for sensitive data. You must **disable this block** if you intend to host a public static website. |
| **Security Features** | Mechanisms to secure data stored in S3. | S3 offers various security options including **encryption** (at rest and in transit), Access Control Lists (ACLs), **Bucket Policies** to restrict permissions, Object Locking, and **Access Logging** to monitor who accesses buckets. These allow fine-grained control over who can access your data. |
| **Cost Efficiency** | How the cost of using S3 compares to other storage options. | AWS S3 is considered **very cheap and cost-effective**. The cost depends on the **storage class** selected. Hosting a static website on S3 can be very cheap compared to other platforms. |
| **Storage Classes** | Different options for storing data based on access frequency and cost requirements. | S3 offers **multiple storage classes** (e.g., Standard, Standard-IA, Glacier, Deep Archive). The choice depends on whether you prioritize **cost effectiveness or access time**. Glacier Deep Archive is the cheapest but has the longest retrieval time (12-48 hours). |
| **Performance** | The speed at which data can be uploaded to and downloaded from S3. | S3 offers good performance. Using a bucket in a nearby region reduces latency. S3 supports **Multi-Part Uploads**, which helps upload large files efficiently and can retry parts if there are interruptions. |
| **Versioning** | A feature that allows keeping multiple versions of an object. | S3 supports **versioning**. When enabled on a bucket, S3 keeps a copy of the previous version whenever an object is modified or deleted. This allows you to **retrieve old versions** of objects. Versioning can be combined with storage classes and lifecycle policies for cost management (e.g., moving old versions to cheaper storage or deleting them). |
| **Static Website Hosting** | Using an S3 bucket to host a static website. | S3 can host static websites because its content is globally accessible. This requires enabling the static website hosting option on the bucket properties, specifying an index document (like `index.html`), disabling the 'Block All Public Access' setting, and adding a **bucket policy** to allow public `s3:GetObject` permissions. It is a **cheap solution** for hosting static sites. **CORS** might need to be enabled for JavaScript making external API calls. |
| **Bucket Policies** | JSON documents used to grant or deny permissions for accessing S3 buckets and their objects at the bucket level. | Bucket policies are a crucial part of S3 **permissions**. They allow you to control access even for users who might have broad S3 permissions via IAM. For example, you can use a bucket policy to **restrict access for everyone except the bucket owner**. You can use a policy generator to help write the JSON. This is an important responsibility for devops engineers. |
File renamed without changes.
Loading