Route53 & DNS
What is DNS?
If you've used the internet, you've used DNS. DNS is used to convert human friendly domain names (such as http://acloud.guru) into an Internet Protocol (IP) address (such as http://82.124.53.1).
IP addresses are used by computers to identify each other on the network. IP addresses commonly come in 2 different forms, IPv4 and IPv6.
IPv4 vs. IPv6
The IPv4 space is a 32 bit field and has over 4 billion different addresses (4,294,967,296 to be precise).
IPv6 was created to solve this depletion issue and has an address space of 128 bits which in theory is
340,282,366,920,938,463,463,374,607,431,768,211,456 addresses or 340 undecillion addresses
Top Level Domains
If we look at common domain names such as google.com, bbc.co.uk. acloud,guru etc. you will notice a string of characters separated by dots (periods). The last word in a domain name represents the "top level domain". The second word in a domain name is known as a second level domain name (this is optional though and depends on the domain name).
.com, .edu, .gov, .co.uk, .gov.uk, .com.au
These top level domain names are controlled by the Internet Assigned Numbers Authority (IANA) in a root zone database which is essentially a database of all available top level domains. You can view this database by visiting
http://www.iana.org/domains/root/db
Because all of the names in a given domain name have to be unique there needs to be a way to organize this all so that domain names aren't duplicated. This is where domain registrars come in. A registrar is an authority that can assign domain names directly under one or more top-level domains. These domains are registered with InterNIC, a service of ICANN, which enforces uniqueness of domain names across the Internet. Each domain name becomes registered in a central database known as the WhoIS database.
Popular domain registrars include GoDaddy.com, 123-reg.co.uk etc.
SOA Records
The SOA record stores information about
- The name of the server that supplied the data for the zone.
- The administrator of the zone.
- The current version of the data file.
- The number of seconds a secondary name server should wait before checking for updates
- The number of seconds a secondary name server should wait before retrying a failed zone transfer
- The maximum number of seconds that a secondary name server can use data before it must either be refreshed or expire.
- The default number of seconds for the time-to-live file on resource records.
NS Records
NS stands for Name Server records and are used by Top Level Domain servers to direct traffic to the Content DNS server which contains the authoritative DNS records.
A Records
An 'A' record is the fundamental type of DNS record and the 'A' in A record stands for 'Address'. The A record is used by a computer to translate the name of the domain to the IP address. For example http://www.acloud.guru might point to http://123.10.10.80
TTL
The length that a DNS record is cached on either the Resolving Server or the users own local PC is equal to the value of the "Time To Live" (TTL) in seconds. The lower the time to live, the faster changes to DNS records take to propagate throughout the internet.
CNAMES
A Canonical Name (CName) can be used to resolve one domain name to another. For example, you may have a mobile website with the domain name http://m.acloud.guru that is used for when users browse to your domain name on their mobile devices. You may also want the name http://mobile.acloud.guru to resolve to this same address.
Alias Records
Alias records are used to map resource record sets in your hosted zone to Elastic Load Balancers, CloudFront distributions, or S3 buckets that are configured as websites.
Alias records work like a CNAME record in that you can map one DNS name (www.example.com) to another 'target' DNS name (elb1234.elb.amazonaws.com).
Key difference - A CNAME can't be used for naked domain names (zone apex record). You can't have a CNAME for http://acloud.guru, it must be either an A record or an Alias.
Alias resource record sets can save you time because Amazon Route 53 automatically recognizes changes in the record sets that the alias resource record set refers to.
For example, suppose an alias resource record set for example.com points to an ELB load balancer at lb1-1234.us-east-1.elb.amazonaws.com. If the IP address of the load balancer changes, Amazon Route 53 will automatically reflect those changes in DNS answers for example.com without any changes to the hosted zone that contains resource record sets for example.com.
Exam Tips
- ELB's do not have pre-defined IPv4 addresses, you resolve to them using a DNS name.
- Understand the difference between an Alias Record and a CNAME.
- Given the choice, always choose an Alias Record over a CNAME
==================================
Route 53 - Register A Domain Name
AWS Console - Networking - Route 53 - Registered Domains - Register New Domain -
=====================================
Set up EC2 Instances
Set up 2 Instances - create html files
Set up LoadBalancer - DNS name -> will display html file in 1 of 2 Instances
Change Region
Setup an Instance - create html files - Create new security group - Create new key - Launch
Create new Region ELB
DNS name - display html file in new Region instance
=================================
Simple Routing Policy Lab
- Simple
This is the default routing policy when you create a new record set. This is most commonly used when you have a single resource that performs a given function for your domain, for example, one web server that serves content for the http://acloud.guru website.
AWS Console - Route53 - Create Hosted Zone - click on DNS link - Create Record Set
-> Alias Target - ELB
=========================
- Weighted Routing Policy
Weighted Routing Policies let you split your traffic based on different weights assigned. For example you can set 10% of your traffic to go to US-EAST-1 and 90% to go to EU-WEST-1.
AWS Console - Route 53 - Create Record Set - Alias - Select ELB - Routing Policy : Weighted - Enter Weight (90%) and Set ID - Click on Create Button
Create Record Set - Select other ELB - Enter Weight (10%)
==========================
Latency Routing Policy
Latency based routing allows you to route your traffic based on the lowest network latency for your end user (i.e. which region will give them the fastest response time).
To use latency-based routing you create a latency resource record set for the Amazon EC2 (or ELB) resource in each region that hosts your website. When Amazon Route 53 receives a query for your site, it selects the latency resource record set for the region that gives the user the lowest latency. Route 53 then responds with the value associated with that resource record set.
AWS Console - Route 53 - Create Record Set - Alias Target (ELB) - Routing Policy (Latency) - Set ID - Select Region 1
AWS Console - Route 53 - Create Record Set - Alias Target (ELB) - Routing Policy (Latency) - Set ID - Select Region 2
==========================
Failover Routing Policy
Failover routing policies are used when you want to create an active/passive set up. For example you may want your primary site to be in EU-WEST-2 and your secondary DR Site in AP-SOUTHEAST-2.
Route 53 will monitor the health of your primary site using a health check.
A health check monitors the health of your end points.
AWS Console - ELB : Copy DNS name - Route 53 - Health check - Name 1, Domain Name, enter advanced configuration - Create health check
AWS Console - ELB : Copy DNS name - Route 53 - Health check - Name 2, Domain Name, enter advanced configuration - Set Alarm : Set SNS Topic - Create health check
AWS Console - Route 53 - Create Record Set - Alias Target (ELB) - Routing Policy : Failover, Set Primary or Secondary, Set Associate with Health Check
AWS Console - Route 53 - Create Record Set - Alias Target (ELB) - Routing Policy : Failover, Set Primary or Secondary
==========================
Geolocation Routing Policy
Geolocation routing lets you choose where your traffic will be sent based on the geographic location of our users (i.e. the location from which DNS queries originate). For example, you might want all queries from Europe to be routed to a fleet of EC2 instances that are specifically configured for your European customers. These servers may have the local language of your European customers and all prices are displayed in Euros.
AWS Console - Route 53 - Create Record Set - Alias (ELB) - Routing Policy : Geolocation - US or Europe etc. , Set ID
AWS Console - Route 53 - Create Record Set - Alias (ELB) - Routing Policy : Geolocation - US or Europe etc. , Set ID
===========================
DNS Summary
DNS Exam Tips
Delete all Load balancers. It is paid service.
ELB has no IP address - only DNS name
- ELB's do not have pre-defined IPv4 addresses, you resolve to them using a DNS name.
- Understand the difference between an Alias Record and a CNAME.
- Given the choice, always choose an Alias Record over a CNAME.
- Remember the different routing policies and their use cases.
: Simple
: Wighted
: Latency
: Failover
: Geolocation
http://realmojo.tistory.com/179
'IoT > AWS Certificate' 카테고리의 다른 글
AWS Cloud Practitioner Essentials (Digital) (Korean) - 02 (0) | 2020.01.02 |
---|---|
AWS Cloud Practitioner Essentials (Digital) (Korean) - 01 (0) | 2019.12.29 |
AWS Certified developer associate exam samples 2 (0) | 2018.02.15 |
AWS Certified developer associate exam samples (2) | 2018.01.26 |
[AWS Certificate] Developer - VPC memo (1) | 2017.11.29 |
[AWS Certificate] Developer - CloudFormation, Shared Responsibility Model and DNS Basic (0) | 2017.11.21 |
[AWS Certificate] Developer - SNS, SWF and Elastic Beanstalk (0) | 2017.11.17 |
[AWS Certificate] Developer - SQS (Simple Queue Service) (0) | 2017.11.16 |
[AWS Certificate] Developer - DynamoDB Summary & Quiz (0) | 2017.11.15 |
[AWS Certificate] Developer - DynamoDB memo (0) | 2017.11.14 |