ELB and AutoScaling TEST 知识点
2018-10-18 本文已影响94人
K1024
ELB AND AUTOSCALING TEST 知识点
1
- 启动配置:启动配置 是 Auto Scaling 组用于启动 EC2 实例的模板。创建启动配置时,您可以指定实例的信息,例如 Amazon 系统映像 (AMI) 的 ID、实例类型、一个密钥对、一个或多个安全组和块储存设备映射。如果之前已启动过 EC2 实例,可以指定相同的信息来启动实例。
- 负载均衡器和AS组合使用
- 您可以在需求增多时自动增大 Auto Scaling 组,并在需求减少时自动减小该组。在 Auto Scaling 组添加和删除 EC2 实例时,您必须确保在所有 EC2 实例间分配应用程序的流量。Elastic Load Balancing 服务自动跨数量不断变化的 EC2 实例路由传入 Web 流量。您的负载均衡器将作为到您的 Auto Scaling 组中的实例的所有传入流量的单一接触点。
- 要将负载均衡器与 Auto Scaling 组结合使用,请创建负载均衡器,然后将它附加到该组。
- Auto Scaling 组:Auto Scaling 组 包含具有相似特征的 EC2 实例集合,这些实例被视为一个逻辑组以便进行实例扩展和管理。例如,如果单个应用程序操作多个实例,可能需要增加该组中的实例数量来提高应用程序性能,或者在需求下降时减少实例数量来降低成本。您可以使用 Auto Scaling 组根据您指定的条件自动扩展实例数量,或者保持固定数量的实例,即使实例变得状况不佳也是如此。这种在 Auto Scaling 组中自动扩展和维护实例数量的功能是 Amazon EC2 Auto Scaling 服务的核心功能。
2
- 启动配置不能修改:您可以为多个 Auto Scaling 组指定启动配置。但是一次只能为一个 Auto Scaling 组指定一个启动配置,而且启动配置在创建后不能修改。因此,如果要更改 Auto Scaling 组的启动配置,您必须先创建启动配置,然后使用新的启动配置来更新 Auto Scaling 组。
- Auto Scaling 组一次与一个启动配置关联,并且启动配置在创建后不能修改。要更改 Auto Scaling 组的启动配置,可以使用现有的启动配置作为基础来创建新的启动配置,然后将 Auto Scaling 组更新为使用新的启动配置。
- 更改 Auto Scaling 组的启动配置后,将使用新的配置选项启动所有新实例,但现有实例不受影响。
3
- Auto Scaling组默认的监控策略
- CPU平均利用率
- Network in
- Network out
- Application Load Balancer Request Count Per Target
4
- Instance health status is not determined by CloudWatch alarms;
- 终止策略中没有“Do not Terminate”选项;
- AutoScaling支持如下自定义的终止策略
- OldestInstance。终止组中最旧的实例。当您将 Auto Scaling 组中的实例升级为新的 EC2 实例类型,可以逐渐将较旧类型的实例替换为较新类型的实例时,此选项十分有用。
- NewestInstance。终止组中最新的实例。如果要测试新的启动配置但不想在生产中保留它时,此策略非常有用。
- OldestLaunchConfiguration。终止采用最旧启动配置的实例。如果要更新某个组并且逐步淘汰先前配置中的实例时,此策略非常有用。
- ClosestToNextInstanceHour。终止最接近下个计费小时的实例。此策略将帮助您最大程度地使用您的实例并管理 Amazon EC2 使用成本。
- Default。根据默认终止策略终止实例。如果该组有多个扩展策略,此策略非常有用。
5
- 默认终止策略:此默认终止策略可帮助确保您的网络架构均匀分布到多个可用区。使用默认终止策略时,Auto Scaling 组的行为如下所示:
- 如果多个可用区中都有实例,选择有最多实例并且至少一个实例不受缩小保护的可用区。如果有多个可用区有此数目的实例,则选择使用最旧启动配置的实例所在的可用区。
- 确定所选可用区中哪些不受保护的实例使用最旧启动配置。如果有一个此类实例,则终止该实例。
- 如果有多个实例使用最旧启动配置,则确定哪些不受保护的实例最接近下个计费小时。(这将帮助您最大程度地使用您的 EC2 实例并管理 Amazon EC2 使用成本。)如果有一个此类实例,则终止该实例。
- 如果有多个不受保护的实例最接近下个计费小时,则随机选择其中一个实例。
6
- 目标组运行状况检查:在负载均衡器向目标发送运行状况检查请求之前,您必须将目标注册到目标组,在侦听器规则中指定其目标组,并确保已为负载均衡器启用目标的可用区。目标必须先通过初始运行状况检查,然后才能接收来自负载均衡器的请求。在目标通过初始运行状况检查后,其状态为 Healthy。
- 下表描述已注册目标的正常状态的可能值。
- initial:负载均衡器正处于注册目标或对目标执行初始运行状况检查的过程中
- healthy:目标正常;
- Unhealthy:目标未响应运行状况检查或未通过运行状况检查
- Unused:目标未注册到目标组,负载均衡器的侦听器规则中未使用目标组,或者目标在没有为负载均衡器启用的可用区中
- Draining:目标正在取消注册,连接即将耗尽
- 应用负载均衡器进行健康状态排查
- 已注册目标处于未可用状态:
- 安全组不允许流量:与实例关联的安全组必须允许来自负载均衡器的使用运行状况检查端口和运行状况检查协议的流量。您可以向实例安全组添加一个规则以允许来自负载均衡器安全组的所有流量。负载均衡器的安全组也必须允许流入实例的流量
- ACL不允许流量:与实例的子网关联的网络 ACL 必须允许运行状况检查端口上的入站流量,以及临时端口 (1024-65535) 上的出站流量。与您负载均衡器节点的子网关联的网络 ACL 必须允许临时端口上的入站流量,以及运行状况检查端口和临时端口上的出站流量
- Ping路径不存在:创建运行状况检查的目标页并将其路径指定为 ping 路径
- 连接超时:首先,验证您是否能使用目标的私有 IP 地址和运行状况检查协议直接从网络中连接到目标。如果您无法连接,请检查实例是否被过度使用,并将多个目标添加到目标组 (如果它太忙而无法响应)。如果您可以连接,则在运行状况检查超时期限之前,目标页可能不会响应。为运行状况检查选择更简单的目标页,或者调整运行状况检查设置
- 目标未返回成功响应代码:默认情况下,成功代码为 200,但您可以选择在配置运行状况检查时指定其他成功代码。确认负载均衡器所需的成功代码,并且应用程序已配置为在成功时返回这些代码
- 客户端无法连接到面向 Internet 的负载均衡器
- 您的面向 Internet 的负载均衡器已连接到私有子网:确认您已为负载均衡器指定公有子网。公有子网有一个指向 Virtual Private Cloud (VPC) 的 Internet 网关的路由
- 安全组或网络 ACL 不允许流量:负载均衡器的安全组和负载均衡器子网的任何网络 ACL 必须允许客户端侦听器端口上的入站流量和出站流量
- 负载均衡器将请求发送到运行状况不佳的目标:如果您的负载均衡器至少有一个运行正常的已注册目标,则负载均衡器仅将请求路由到运行正常的已注册目标。如果只有运行状况不佳的已注册目标,则负载均衡器将请求路由到所有已注册目标。
- 负载均衡器生成 HTTP 错误:以下 HTTP 错误由负载均衡器生成。负载均衡器将 HTTP 代码发送到客户端,将请求保存到访问日志并增加 HTTPCode_ELB_4XX_Count 或 HTTPCode_ELB_5XX_Count 指标
- 目标生成http错误:负载均衡器将有效的 HTTP 响应从目标转发到客户端,包括 HTTP 错误。目标生成的 HTTP 错误记录在 HTTPCode_Target_4XX_Count 和 HTTPCode_Target_5XX_Count 指标中。
7
- Elastic Load Balancing 支持三种类型的负载均衡器:Application Load Balancer、Network Load Balancer和 Classic Load Balancer。以下是这些负载均衡器的配置方式之间的主要区别。对于 Application Load Balancer 和 Network Load Balancer,可以在目标组中注册目标,并将流量路由到目标组。对于 Classic Load Balancer,可以向负载均衡器注册实例。对于
- Application Load Balancer,始终启用跨区域负载均衡。
- 对于 Network Load Balancer,默认情况下禁用跨区域负载均衡。创建网络负载均衡器后,您随时可以启用或禁用跨区域负载均衡。有关更多信息,请参阅Network Load Balancer 用户指南 中的跨区域负载均衡。
- 跨区负载均衡:负载均衡器的节点将来自客户端的请求分配给已注册目标。启用了跨区域负载均衡后,每个负载均衡器节点会在所有启用的可用区中的已注册目标之间分配流量。禁用了跨区域负载均衡后,每个负载均衡器节点会仅在其可用区中的已注册目标之间分配流量。
- 跨区负载均衡效果:有 2 个已启用的可用区,其中可用区 A 中有 2 个目标,可用区 B 中有 8 个目标。客户端发送请求,Amazon Route 53 使用负载均衡器节点之一的 IP 地址响应每个请求。这会分配流量,以便每个负载均衡器节点接收来自客户端的 50% 的流量。每个负载均衡器节点会在其范围中的已注册目标之间分配其流量份额。
- 如果启用了跨区域负载均衡,则 10 个目标中的每个目标接收 10% 的流量。这是因为每个负载均衡器节点可将其 50% 的客户端流量路由到所有 10 个目标。
- 如果禁用了跨区域负载均衡,则可用区 A 中的 2 个目标中的每个目标会接收 25% 的流量,可用区 B 中的 8 个目标中的每个目标会接收 6.25% 的流量。这是因为每个负载均衡器节点只能将其 50% 的客户端流量路由到其可用区中的目标。
8
- 监控应用程序负载均衡器
- CloudWatch 指标:可以使用 Amazon CloudWatch 将有关负载均衡器和目标的数据点的统计数据作为一组有序时间序列数据 (称作指标) 进行检索。您可使用这些指标来验证您的系统是否按预期运行。
- 访问日志:您可以使用访问日志来捕获有关向负载均衡器发出的请求的详细信息,并将这些详细信息作为日志文件存储在 Amazon S3 中。
- 请求跟踪:您可以使用来请求跟踪来跟踪 HTTP 请求。负载均衡器会为它接收的每个请求添加一个包含跟踪标识符的标头。
- CloudTrail日志:您可以使用 AWS CloudTrail 捕获有关向 Elastic Load Balancing API 发出的调用的详细信息,并将这些详细信息作为日志文件存储在 Amazon S3 中。可以使用这些 CloudTrail 日志确定已发出的调用、从中发出调用的源 IP 地址、调用的发出方、调用的发出时间等。
9
- Application Load Balancer,始终启用跨区域负载均衡。
- Client can’t connect to an internet-facing load balancer
- 检查internet-facing load balancer是否是关联到private subnet上了;
- 一个SecurityGroup 或者NETWORK ACL不允许流量;
10
- 目标类型:在创建ELB目标组时,应指定其目标类型,这决定您如何指定其目标。创建目标组后,将无法更改其目标类型。
- 以下是可能的目标类型
- instance:这些目标通过实例 ID 指定。
- ip:这些目标通过 IP 地址指定。
- 当目标类型为 ip 时,您可以指定来自以下 CIDR 块之一的 IP 地址:
- 目标组的 VPC 的子网
- 10.0.0.0/8 (RFC 1918)
- 100.64.0.0/10 (RFC 6598)
- 172.16.0.0/12 (RFC 1918)
- 192.168.0.0/16 (RFC 1918)
- 凭借这些支持的 CIDR 块,您可以将以下内容注册到目标组:ClassicLink 实例、对等 VPC 中的实例、可通过 IP 地址和端口寻址的 AWS 资源 (例如数据库) 以及通过 AWS Direct Connect 或 VPN 连接链接到 AWS 的本地资源。
- 重要:不能指定可公开路由的 IP 地址