AWS-Day12-Assignment

(Route53, Elastic BeanStalk)

1. What is DNS? How does DNS work on the Internet?

Ans:

A DNS service such as Amazon Route 53 is a globally distributed service that translates human-readable names like www.example.com into the numeric IP addresses like 192.0.2.1 that computers use to connect to each other.

The Internet’s DNS system works much like a phone book by managing the mapping between names and numbers. DNS servers translate requests for names into IP addresses, controlling which server an end user will reach when they type a domain name into their web browser. These requests are called queries.

2. What is Route 53? What are the features and advantages of Route 53?

Ans:
Amazon Route 53 is a scalable and highly available Domain Name System (DNS) web service offered by Amazon Web Services (AWS). It is designed to help developers and businesses manage domain names and route internet traffic to resources like AWS Elastic Compute Cloud (EC2) instances, Amazon S3 buckets, and other web services.

Features:

  1. Global DNS Resolution: Route 53 operates a global network of DNS servers strategically distributed around the world. This ensures low-latency DNS resolution for users accessing your resources from different geographic locations.

  2. High Availability: Route 53 is designed to provide high availability and reliability. It has a distributed infrastructure with multiple redundant servers, reducing the risk of downtime due to server failures.

  3. Scalability: Route 53 can handle a high volume of DNS queries and scale to accommodate increased traffic as your applications grow. It's suitable for both small-scale and large-scale applications.

  4. Traffic Routing Policies: Route 53 offers various traffic routing policies, including simple routing, weighted routing, latency-based routing, geolocation-based routing, and failover routing. These policies allow you to route traffic to different resources based on your specific requirements.

  5. Health Checks: You can configure health checks for your resources, such as web servers or load balancers. Route 53 can automatically route traffic away from unhealthy resources, improving the availability and reliability of your applications.

    Advantages:

    1. Reliability: Route 53 is highly reliable due to its distributed and redundant infrastructure, making it suitable for critical applications that require high availability.

    2. Scalability: It can handle traffic growth as your applications expand, without requiring significant manual intervention.

    3. Global Reach: With its global network of servers, Route 53 ensures a fast and consistent DNS resolution experience for users worldwide.

    4. Easy Integration: Route 53 integrates seamlessly with various AWS services, streamlining the process of managing DNS for your cloud-based infrastructure.

    5. Cost-Effective: Route 53 follows a pay-as-you-go pricing model, making it cost-effective for businesses of all sizes. You only pay for the resources and queries you use.

3. What are the types of routing policies in Route 53?

Ans:
Amazon Route 53 offers several routing policies that allow you to control how traffic is directed to different resources based on various factors. These routing policies help you manage the distribution of traffic for your domain. Here are the types of routing policies in Route 53:

  1. Simple Routing: For sending all traffic to one place.

  2. Weighted Routing: For dividing traffic based on specified percentages.

  3. Latency Routing: For sending traffic to the closest (fastest) location.

  4. Failover Routing: For switching to a backup when the main location fails.

  5. Geolocation Routing: For directing traffic based on where users are located.

  6. Geoproximity Routing (advanced): For complex global setups.

  7. Multivalue Answer Routing: For balancing traffic among multiple places.

  8. Weighted Alias Routing (advanced): Like weighted routing but in advanced setups.

  9. Latency Alias Routing (advanced): Like latency routing but in advanced setups.

These routing policies provide the flexibility to design sophisticated traffic routing configurations that align with the needs of your applications, whether you're focused on high availability, low latency, load balancing, or other specific requirements.

4. Define the commonly used ports. Give port# used for SSH, HTTP, https, DNS, SMTP, telnet, ms-sql port, MySQL port.

Ans:

Commonly used ports in networking are assigned specific numbers to facilitate the proper routing of network traffic to the correct services. Here are the port numbers commonly associated with various services:

  1. SSH (Secure Shell):

    • Port Number: 22

    • SSH is used for secure remote administration and secure file transfer over a network.

  2. HTTP (Hypertext Transfer Protocol):

    • Port Number: 80

    • HTTP is the protocol used for unencrypted web browsing.

  3. HTTPS (Hypertext Transfer Protocol Secure):

    • Port Number: 443

    • HTTPS is the secure version of HTTP and is used for encrypted web browsing.

  4. DNS (Domain Name System):

    • Port Number: 53

    • DNS is used for translating human-readable domain names into IP addresses.

  5. SMTP (Simple Mail Transfer Protocol):

    • Port Number: 25

    • SMTP is used for sending email messages between servers.

  6. Telnet:

    • Port Number: 23

    • Telnet is a network protocol used for remote terminal access to devices and servers. Note that Telnet is considered insecure, and SSH is recommended for secure remote access.

  7. Microsoft SQL Server (MS-SQL):

    • Port Number: 1433 (default for SQL Server) or 1434 (used for SQL Server Browser service)

    • MS-SQL is a relational database management system developed by Microsoft.

  8. MySQL:

    • Port Number: 3306 (default for MySQL)

    • MySQL is an open-source relational database management system commonly used for web applications.

These port numbers are standard, but it's important to note that some services may use different ports, and custom configurations are possible. Additionally, for security reasons, it's advisable to configure firewalls and security groups to restrict access to these ports based on your specific needs.

5. What are A-Name and CName records?

Ans:

A-Name (A Record) and CNAME (Canonical Name) records are types of DNS (Domain Name System) records used to map domain names to IP addresses. They serve different purposes in DNS configuration:

  1. A-Name (A Record):

    • An A-Name (Address Record) is a DNS record used to map a domain name (e.g., example.com) to an IPv4 address (e.g., 192.168.1.1).

    • A-Name records are commonly used to point a hostname to a specific IPv4 address, allowing users to access a website or service using the domain name rather than having to remember the numeric IP address.

    • For example, if you have a web server with the IP address 203.0.113.1, you can create an A-Name record that associates "example.com" with that IP address.

        cssCopy codewww.example.com.     IN    A     203.0.113.1
  1. CNAME (Canonical Name) Record:

    • A CNAME (Canonical Name) record is used to create an alias or a nickname for another domain or hostname. It points one domain name to another domain's A-Name or another CNAME.

    • CNAME records are often used when you want multiple domain names to resolve to the same IP address or when you want to set up subdomains that point to the same location as the main domain.

    • Unlike A-Name records, CNAME records do not point directly to an IP address but rather to another domain name.

        objectivecCopy codeblog.example.com.    IN    CNAME    www.example.com.

In this example, "blog.example.com" is set as a CNAME for "example.com." Any DNS query for "blog.example.com" will resolve to the same IP address as "example.com."

It's important to note that while A-Name records point directly to IP addresses, CNAME records are essentially pointers to other domain names. The use of A-Name or CNAME records depends on your specific DNS configuration needs.

6. What is Elastic Beanstalk? What are the features and benefits of Elastic Beanstalk?

Ans:

Elastic Beanstalk is a Platform-as-a-Service (PaaS) offering from Amazon Web Services (AWS) that simplifies the deployment, management, and scaling of web applications and services. It is designed to help developers and teams quickly deploy applications without having to manage the underlying infrastructure. Here are some of the key features and benefits of Elastic Beanstalk:

Features:

  1. Easy Deployment: It makes putting your website or app online very easy.

  2. Automatic Setup: It sets up all the necessary technical stuff for you, like computers, networking, and databases.

  3. Handles Traffic: It can make sure your website stays fast and doesn't crash even if lots of people visit it.

  4. Balances Visitors: It spreads out the visitors to your website so that one computer doesn't get too busy.

  5. Monitors and Logs: It keeps an eye on how your website is doing and keeps records of what happens for you to check later.

  6. Updates Automatically: It keeps your website up to date and safe from problems without you having to do anything.

  7. Developer Tools: It works nicely with tools that developers use to build websites, making their job easier.

  8. Works with Different Tech: It can handle websites and apps made with different programming languages.

  9. Customizable: You can make changes to how it works if you need to.

Benefits:

  1. Easy Management: You can focus on building your website instead of worrying about the technical stuff.

  2. Scales Quickly: Your website can handle lots of visitors without you doing anything.

  3. Cost Savings: It can save you money by only using the resources you need.

  4. Less Complexity: It takes care of complex technical things so you don't have to.

  5. Connects to AWS: It works well with other Amazon services to make your website even better.

  6. Safe and Reliable: It keeps your website running and secure.

  7. Fast Updates: It can update your website quickly, making changes faster.

Overall, Elastic Beanstalk is a powerful tool for developers and teams looking to simplify the deployment and management of web applications and services in the AWS cloud environment. It offers flexibility, scalability, and automation to streamline the development process.

7. What is the difference between EC2 and Elastic Beanstalk? What are the Elastic Beanstalk Components?

Ans:

Amazon EC2 and AWS Elastic Beanstalk are two popular services for hosting and deploying applications in the cloud. EC2 provides complete control and customization over your infrastructure, while Elastic Beanstalk is a managed service that handles deployment and scaling automatically.

AWS EC2:

  • EC2 is a service of Amazon which helps you to create and launch servers in the Amazon cloud.

  • These servers are called instances and they are configured behind a load balancer when we create a Beanstalk application

  • With a single instance, we can launch n number of instances.

  • You pay for the time and for what you have used.

    AWS Elastic Beanstalk

  • A Beanstalk infrastructure contains EC2 instances, databases, security and scaling groups and many more AWS components.

  • It is beneficial for the purpose of deploying elastic cloud applications.

  • Beanstalk doesn’t charge for the additional resources you have been provided with.

  • Elastic Beanstalk supports a PHP stack. You can keep your site in version control and easily deploy to your environment whenever you make changes.

Elastic Beanstalk Components:

  1. Application: A container for your app code and settings.

  2. Environment: A specific instance of your app with its own resources.

  3. Platform: A pre-configured software environment for your app.

  4. Version: Different iterations of your app's code.

  5. Configuration: Settings for your app's environment.

  6. Deployment: Uploading your app code and letting Elastic Beanstalk manage the setup.

  7. Monitoring and Logs: Tools to track and troubleshoot your app's performance.

  8. Security: Controls for who can access and manage your app.

These components make it easier to deploy and run web apps on AWS.

8. Deploy a node.js sample application using Elastic Beanstalk and list the different resources created from the application.

9. Explain the difference between Geolocation, Geolatency and Failover based routing policy.

Ans:

Geolocation, Geolatency, and Failover are three different routing policies used in the context of DNS (Domain Name System) and content delivery to optimize the performance and availability of web services and resources. Let's break down the differences between these policies:

  1. Geolocation Routing: This directs users to specific servers based on where they are in the world.

  2. Geolatency Routing: This sends users to the closest server based on how fast the server responds to their request.

  3. Failover Routing: This automatically switches users to a backup server if the main server has problems, ensuring continuous service even if there are issues.

These routing policies help websites and services work better for users, either by considering location, speed, or backup options.

10. Register a sample domain (on Godaddy ref-1, for less than Rs.199/- for yourself) and point the same to your EC2 instance.