|
| 1 | +# Amazon Web Services (AWS) Concepts |
| 2 | + |
| 3 | +Amazon Web Services (AWS) is a leading cloud service provider that offers a wide range of cloud computing services. Below are some fundamental concepts to understand when working with AWS: |
| 4 | + |
| 5 | +## 1. Regions and Availability Zones |
| 6 | + |
| 7 | +- **Region:** A geographic area that consists of multiple Availability Zones. Each AWS region is a separate geographic area, isolated from others, and is designed to provide high availability and low latency. |
| 8 | +- **Availability Zone (AZ):** A data center or facility within an AWS region. AZs are interconnected but physically separate from each other, providing redundancy and fault tolerance. |
| 9 | + |
| 10 | +## 2. EC2 (Elastic Compute Cloud) |
| 11 | + |
| 12 | +- **EC2 Instance:** Virtual machines that you can rent on AWS. They vary in terms of computing power, memory, and storage capacity to meet different application requirements. |
| 13 | +- **AMI (Amazon Machine Image):** A pre-configured virtual machine image used to create EC2 instances. |
| 14 | +- **Security Groups:** Virtual firewalls that control inbound and outbound traffic to EC2 instances. |
| 15 | + |
| 16 | +## 3. S3 (Simple Storage Service) |
| 17 | + |
| 18 | +- **S3 Bucket:** A container for storing data objects (files) in S3. Buckets have unique names and are used to organize and manage data. |
| 19 | +- **Objects:** The data files stored in S3 buckets. Each object consists of data, a key (unique within a bucket), and metadata. |
| 20 | + |
| 21 | +## 4. IAM (Identity and Access Management) |
| 22 | + |
| 23 | +- **IAM User:** An individual or system that interacts with AWS resources. Each user has its own set of credentials and permissions. |
| 24 | +- **IAM Role:** A set of permissions that define what actions an entity can perform on AWS resources. Roles can be assumed by EC2 instances, Lambda functions, etc. |
| 25 | +- **Policies:** JSON documents that define permissions for users, groups, and roles. |
| 26 | + |
| 27 | +## 5. RDS (Relational Database Service) |
| 28 | + |
| 29 | +- **RDS Instance:** Managed relational database instances (e.g., MySQL, PostgreSQL, Oracle) that are scalable and highly available. |
| 30 | +- **DB Snapshots:** Point-in-time backups of an RDS instance, used for data recovery and replication. |
| 31 | +- **Multi-AZ Deployment:** A configuration that replicates the database across multiple Availability Zones for high availability. |
| 32 | + |
| 33 | +## 6. VPC (Virtual Private Cloud) |
| 34 | + |
| 35 | +- **VPC:** A logically isolated section of the AWS cloud where you can launch AWS resources. It provides control over network configuration and security. |
| 36 | +- **Subnet:** A range of IP addresses in your VPC. Subnets are associated with specific Availability Zones. |
| 37 | +- **Route Table:** A set of rules that determine where network traffic is directed within a VPC. |
| 38 | + |
| 39 | +## 7. Lambda |
| 40 | + |
| 41 | +- **AWS Lambda:** A serverless computing service that lets you run code in response to events without provisioning or managing servers. |
| 42 | +- **Event Sources:** Triggers that invoke Lambda functions, such as API Gateway, S3, or CloudWatch Events. |
| 43 | +- **Function:** The code you want to execute when a Lambda is triggered. |
| 44 | + |
| 45 | +## 8. Elastic Load Balancing (ELB) |
| 46 | + |
| 47 | +- **ELB:** A service that distributes incoming traffic across multiple EC2 instances for improved availability and fault tolerance. |
| 48 | +- **Load Balancer Types:** Classic Load Balancer, Application Load Balancer (ALB), Network Load Balancer (NLB). |
| 49 | +## 9. Amazon Route 53 |
| 50 | + |
| 51 | +- **Amazon Route 53:** Route 53 is a scalable domain name system (DNS) web service that allows you to register domain names and route internet traffic to the appropriate resources, such as EC2 instances, S3 buckets, or load balancers. |
| 52 | + |
| 53 | +- **DNS Record Types:** Route 53 supports various DNS record types, including A records (for IPv4 addresses), AAAA records (for IPv6 addresses), CNAME records (for aliasing), MX records (for mail routing), and more. |
| 54 | + |
| 55 | +- **Health Checks:** You can configure Route 53 to perform health checks on your resources and automatically route traffic away from unhealthy endpoints to maintain high availability. |
| 56 | + |
| 57 | +## 10. AWS Elastic Beanstalk |
| 58 | + |
| 59 | +- **AWS Elastic Beanstalk:** Elastic Beanstalk is a Platform-as-a-Service (PaaS) that simplifies the deployment and management of web applications. It automatically handles infrastructure provisioning, capacity scaling, and application monitoring. |
| 60 | + |
| 61 | +- **Supported Platforms:** Elastic Beanstalk supports various programming languages and web frameworks, including Java, .NET, PHP, Node.js, Python, Ruby, and more. |
| 62 | + |
| 63 | +- **Customization:** While Elastic Beanstalk simplifies deployment, you can still customize the environment by specifying configuration files and settings. |
| 64 | + |
| 65 | +## 11. ECS (Elastic Container Service) and EKS (Elastic Kubernetes Service) |
| 66 | + |
| 67 | +- **ECS:** ECS is a container orchestration service that allows you to run, stop, and manage Docker containers on a cluster of EC2 instances. It simplifies the deployment of containerized applications. |
| 68 | + |
| 69 | +- **EKS:** EKS is a managed Kubernetes service that makes it easier to deploy, manage, and scale containerized applications using Kubernetes. |
| 70 | + |
| 71 | +- **Containers:** Both ECS and EKS are designed for container management and can scale your applications automatically based on demand. |
| 72 | + |
| 73 | +## 12. Amazon CloudWatch |
| 74 | + |
| 75 | +- **Amazon CloudWatch:** CloudWatch is a monitoring and observability service that collects and tracks metrics and logs from various AWS resources, applications, and services. |
| 76 | + |
| 77 | +- **Alarms:** You can set up alarms in CloudWatch to automatically trigger actions or notifications when specified thresholds are breached. |
| 78 | + |
| 79 | +- **Logs and Insights:** CloudWatch Logs allows you to collect, monitor, and store log data from your applications, while CloudWatch Logs Insights helps you analyze and gain insights from log data. |
| 80 | + |
| 81 | +## 13. Amazon Elasticsearch Service |
| 82 | + |
| 83 | +- **Amazon Elasticsearch Service:** This is a managed Elasticsearch service that makes it easy to deploy, operate, and scale Elasticsearch clusters for searching, analyzing, and visualizing data in real-time. |
| 84 | + |
| 85 | +- **Kibana Integration:** Amazon Elasticsearch Service integrates with Kibana for data visualization and exploration. |
| 86 | + |
| 87 | +- **Security and Access Control:** Elasticsearch Service provides security features such as encryption, access control, and VPC support. |
| 88 | + |
| 89 | +## 14. AWS CloudFormation |
| 90 | + |
| 91 | +- **AWS CloudFormation:** CloudFormation is an Infrastructure-as-Code (IaC) service that allows you to define and provision AWS infrastructure resources in a declarative template. You can create, update, and delete resources as a single unit. |
| 92 | + |
| 93 | +- **Templates:** CloudFormation templates are written in JSON or YAML and can describe a wide range of AWS resources and their relationships. |
| 94 | + |
| 95 | +- **Stacks:** Stacks are sets of AWS resources created and managed together using CloudFormation templates. |
| 96 | + |
| 97 | +## 15. Serverless Application Model (SAM) |
| 98 | + |
| 99 | +- **AWS SAM:** SAM is an open-source framework for building serverless applications. It extends AWS CloudFormation to simplify the deployment of serverless resources like AWS Lambda functions, API Gateway, and DynamoDB tables. |
| 100 | + |
| 101 | +- **Local Testing:** SAM allows you to test your serverless applications locally before deploying them to the AWS cloud. |
| 102 | + |
| 103 | +- **Resource Definitions:** SAM templates define serverless resources using a simplified syntax, making it easier to work with serverless applications. |
| 104 | +## 16. Amazon VPC Peering |
| 105 | + |
| 106 | +- **VPC Peering:** Amazon VPC Peering allows you to connect two Amazon Virtual Private Clouds (VPCs) and route traffic between them using private IP addresses. It enables communication between resources in different VPCs as if they were on the same network. |
| 107 | + |
| 108 | +- **Transitive Peering:** VPC peering is not transitive, meaning if VPC A is peered with VPC B and VPC B is peered with VPC C, VPC A cannot directly communicate with VPC C. Additional peering connections or a transit VPC may be required. |
| 109 | + |
| 110 | +## 17. Amazon EFS (Elastic File System) |
| 111 | + |
| 112 | +- **Amazon EFS:** EFS is a managed file storage service that provides scalable, highly available, and durable file storage for EC2 instances. It can be accessed concurrently by multiple instances, making it suitable for shared file systems. |
| 113 | + |
| 114 | +- **Mount Targets:** EFS uses mount targets in your VPC to make the file system available to EC2 instances. You can mount an EFS file system on multiple instances simultaneously. |
| 115 | + |
| 116 | +## 18. Amazon SNS (Simple Notification Service) |
| 117 | + |
| 118 | +- **Amazon SNS:** SNS is a fully managed messaging service that enables you to send messages or notifications to a distributed set of recipients via various communication protocols (e.g., email, SMS, HTTP, Lambda). |
| 119 | + |
| 120 | +- **Publish-Subscribe Model:** SNS follows a publish-subscribe model, allowing multiple subscribers to receive messages published to specific topics. It is often used for event-driven communication. |
| 121 | + |
| 122 | +## 19. AWS Direct Connect |
| 123 | + |
| 124 | +- **AWS Direct Connect:** Direct Connect provides dedicated network connections from your on-premises data centers to AWS. It offers a more reliable, lower-latency connection compared to the public internet for data transfer and accessing AWS services. |
| 125 | + |
| 126 | +- **Virtual Interfaces:** Direct Connect allows you to create virtual interfaces (private or public) to connect to AWS services or your VPCs. |
| 127 | + |
| 128 | +## 20. AWS Organizations |
| 129 | + |
| 130 | +- **AWS Organizations:** AWS Organizations is a service for managing multiple AWS accounts centrally. It enables you to create and manage member accounts, apply policies, and consolidate billing and cost management. |
| 131 | + |
| 132 | +- **Consolidated Billing:** With AWS Organizations, you can consolidate billing across multiple AWS accounts to simplify cost tracking and management. |
| 133 | + |
| 134 | +- **Service Control Policies (SCPs):** SCPs allow you to set fine-grained permissions and control access to AWS services and resources within member accounts. |
| 135 | + |
| 136 | +## 21. AWS Lambda Layers |
| 137 | + |
| 138 | +- **AWS Lambda Layers:** Layers are a distribution mechanism for libraries, custom runtimes, and other function dependencies in AWS Lambda. You can include common code or resources across multiple Lambda functions. |
| 139 | + |
| 140 | +- **Versioning and Publishing:** Layers can be versioned and published, allowing you to manage updates and share code or data consistently among your functions. |
| 141 | + |
| 142 | +## 22. AWS Glue |
| 143 | + |
| 144 | +- **AWS Glue:** AWS Glue is a fully managed ETL (Extract, Transform, Load) service that simplifies the process of preparing and loading data for analytics. It can automatically discover, catalog, and transform data from various sources. |
| 145 | + |
| 146 | +- **Data Catalog:** Glue Data Catalog acts as a central metadata repository, making it easier to search and discover data for analytics and reporting. |
| 147 | + |
| 148 | +- **ETL Jobs:** Glue allows you to create and run ETL jobs using Python or Scala, making it accessible for data engineers and analysts. |
0 commit comments