1. DNS Terminologies

  • Domain Registrar: Amazon Route 53, GoDaddy, …
  • DNS Records: A, AAAA, CNAME, NS, …
  • Zone File: contains DNS records
  • Name Server: resolves DNS queries (Authoritative or Non-Authoritative)
  • Top Level Domain (TLD): .com, .us, .in, .gov, .org, …
  • Second Level Domain (SLD): amazon.com, google.com, …

2. Amazon Route 53

  • 一个高度可用、可扩展、完全管理且具有权威性的DNS
    • 权威=客户(您)可以更新DNS记录
  • Route 53也是域名注册商
  • 能够检查资源的健康状况
  • 唯一提供100%可用性SLA(服务级别协议服务级协定)
  • 为什么选择Route 53?53是对传统DNS端口的引用
  • 每个托管区域每月0.50美元

3. Route 53 – Records

  • Domain/subdomain Name – e.g., example.com
  • Record Type – e.g., A or AAAA
  • Value – e.g., 12.34.56.78
  • Routing Policy – how Route 53 responds to queries
  • TTL – amount of time the record cached at DNS Resolvers

4. Route 53 – Record Types

  • A – maps a hostname to IPv4
  • AAAA – maps a hostname to IPv6
  • CNAME – maps a hostname to another hostname
    • 目标是必须具有a或AAAA记录的域名
    • 无法为DNS命名空间(Zone Apex)的顶部节点创建CNAME记录
    • 示例:您不能为Example.com创建,但可以为www.Example.com创建
  • NS – 托管区域的命名服务器
    • 控制域的流量路由方式

5. Route 53 – Records TTL (Time To Live)

除了Alias记录外,TTL对于每个DNS记录都是强制性的

6. CNAME vs Alias

AWS Resources (Load Balancer, CloudFront...) expose an AWS hostname: lb1-1234.us-east-2.elb.amazonaws.com and you want myapp.mydomain.com CNAME:

  • 将主机名指向任何其他主机名(app.mydomain.com=>blabla.anything.com)
  • 仅适用于非根域(又名something.mydomain.com)

Alias:

  • 将主机名指向AWS资源(app.mydomain.com=>blabla.amazonaws.com)
  • 适用于根域和非根域(又名mydomain.com)
  • 免费
  • 本地健康检查
  • 对于AWS资源(IPv4/IPv6),别名记录的类型始终为A/AAAA
  • 您无法设置TTL
  • 不能为EC2 DNS名称设置ALIAS记录

7. Routing Policies - Simple

  • 如果返回多个值,则客户端将随机选择一个值
  • 启用Alias后,仅指定一个AWS资源
  • 无法与健康检查关联

8. Routing Policies – Weighted

  • 控制发送到每个特定资源的请求的百分比
  • 为每条记录分配一个相对权重,权重总和不需要达到100
  • DNS记录必须具有相同的名称和类型
  • 可以与健康检查关联
  • 用例:区域之间的负载平衡,测试新的应用程序版本…
  • 为记录分配权重0以停止向资源发送流量
  • 如果所有记录的权重都为0,则所有记录都将平等返回

9. Route 53 – Health Checks

HTTP运行状况检查仅适用于公共资源

  • 运行状况检查=>自动DNS故障转移:

    • 监控端点(应用程序、服务器、其他AWS资源)的运行状况检查
    • 监测其他健康检查的健康检查(计算健康检查)
    • 监控CloudWatch警报的运行状况检查(完全控制!!)——例如,DynamoDB的节流阀、RDS上的警报、自定义指标……(有助于私人资源)
  • 健康检查与CW指标集成

10. Health Checks – Monitor an Endpoint

  • 大约15名全球健康检查人员将检查端点健康状况
    • 健康/不健康阈值–3(默认值)
    • 间隔–30秒(可设置为10秒–成本更高)
    • 支持的协议:HTTP、HTTPS和TCP
    • 如果>18%的健康检查人员报告终点是健康的,则路线53认为它是健康的。否则就是不健康
    • 能够选择您希望Route 53使用的位置
  • 只有当端点以2xx和3xx状态代码响应时,运行状况检查才通过
  • 健康检查可以根据响应的前5120字节中的文本设置为通过/失败
  • 配置路由器/防火墙以允许来自Route 53 Health Checkers的传入请求

11. Routing Policies – Multi-Value

  • 将流量路由到多个资源时使用
  • Route 53返回多个值/资源
  • 可以与运行状况检查关联(仅返回运行状况资源的值)
  • 每个多值查询最多返回8条健康记录
  • 多值不能代替ELB

12. Instantiating Applications quickly

  • EC2 Instances:
    • 使用Golden AMI:提前安装应用程序、操作系统依赖项等,并从Golden AMI启动EC2实例
    • 使用用户数据引导:对于动态配置,请使用用户数据脚本
    • 混合:混合Golden AMI和用户数据(Elastic Beanstalk)
  • RDS Databases:
    • 从快照恢复:数据库将准备好架构和数据!
  • EBS Volumes:
    • 从快照还原:磁盘将已格式化并具有数据!

13. Elastic Beanstalk – Overview

  • Elastic Beanstalk是在AWS上部署应用程序的以开发人员为中心的视图
  • 它使用了我们以前见过的所有组件:EC2、ASG、ELB、RDS…
  • 托管服务
    • 自动处理容量调配、负载平衡、扩展、应用程序运行状况监视、实例配置…
    • 只是应用程序代码是开发人员的责任
  • 我们仍然可以完全控制配置
  • Beanstalk是免费的,但您需要为底层实例付费

14. Elastic Beanstalk – Components

  • 应用程序:Elastic Beanstalk组件的集合(环境、版本、配置…)
  • 应用程序版本:应用程序代码的迭代
  • 环境
    • 运行应用程序版本的AWS资源集合(一次只能运行一个应用程序版本)
    • :Web服务器环境层和工作环境层
    • 您可以创建多个环境(开发、测试、生产…)
Copyright ©Bota5ky all right reserved,powered by GitbookLast Updated: 2023-11-13 09:41:56

results matching ""

    No results matching ""