写点什么

通过 IP 地址在 AWS 和本地资源间实现应用程序负载均衡

  • 2019-11-11
  • 本文字数:1448 字

    阅读完需:约 5 分钟

通过 IP 地址在 AWS 和本地资源间实现应用程序负载均衡

去年,我介绍了有关新型 AWS 应用程序负载均衡器的信息,并展示了如何针对 EC2 实例以及在容器中运行的微服务,用它进行第 7 层 (应用程序) 路由。


在向 AWS 迁移的这个漫长过程中,有些客户会构建混合应用程序。这些客户告诉我们,他们希望使用单个应用程序负载均衡器,在现有本地资源以及 AWS 云中运行的新资源组合中分配流量。其他客户则希望将流量分配到分散在两个或多个 Virtual Private Cloud (VPC) 中的 Web 或数据库服务器中,在同一实例上托管 IP 地址不同但端口号相同的多项服务,并为不支持服务器名称指示 (SNI) 的客户端提供基于 IP 的虚拟托管支持。还有一些客户则希望在同一实例上 (或许是在容器内) 托管某项服务的多个实例,同时使用多个界面和安全组来实施精细访问控制。


这些情况会出现在各种混合、迁移、灾难恢复和本地使用情形及场景中。


路由到 IP 地址


应用程序负载均衡器现在可以将流量直接路由到 IP 地址,以满足这些使用情形。这些地址可以与 ALB 位于同一 VPC 中、位于同一区域中的对等 VPC 中、位于与 VPC 连接的 EC2 实例上 (通过 ClassicLink),或者位于 VPN 连接或 AWS Direct Connect 连接另一端的本地资源上。


应用程序负载均衡器已将目标分成了目标组。在今天发布的版本中,每个目标组现在都有一个目标类型属性:



instance – 和以前一样,目标通过 EC2 实例 ID 进行注册。


ip – 将目标注册为 IP 地址。您可以对负载均衡器 VPC 内的目标使用来自负载均衡器 VPC CIDR 的任何 IPv4 地址,对负载均衡器 VPC 之外的目标 (包括对等 VPC、EC2-Classic,和可通过 Direct Connect 或 VPN 访问的本地目标) 使用 RFC 1918 范围 (10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16) 或 RFC 6598 范围 (100.64.0.0/10) 内的任何 IPv4 地址。


每个目标组都有负载均衡器和运行状况检查配置,并一如既往地将指标发布到 CloudWatch。


假设您正处于将应用程序迁移到 AWS 的过渡阶段,或者希望使用 AWS 通过 EC2 实例来扩充本地资源,并需要将应用程序流量分配到 AWS 和本地资源中,则可以将所有资源 (AWS 和本地) 注册到同一个目标组并将该目标组与负载均衡器相关联。或者,您也可以使用两个负载均衡器在 AWS 和本地资源中实现基于 DNS 的加权负载均衡,即一个负载均衡器用于 AWS,另一个负载均衡器用于本地资源。如果应用程序 A 的后端位于 VPC 中,而应用程序 B 的后端位于本地,在这种情况下您就可以将每个应用程序的后端放在不同的目标组中,并使用基于内容的路由将流量路由到每个目标组。


创建目标组


接下来,我将介绍如何在创建应用程序负载均衡器的过程中创建目标组,从而将流量发送到一些 IP 地址。输入一个名称 (ip-target-1),并将 ip 选为目标类型:



然后输入 IP 地址目标。此类地址可以来自托管负载均衡器的 VPC:



也可以是上述某个私有范围 (适用于位于托管负载均衡器的 VPC 之外的目标) 内的其他私有 IP 地址:



检查设置并创建负载均衡器之后,只要指定的 IP 地址通过运行状况检查,系统便会向其发送流量。每个负载均衡器最多可以包含 1000 个目标。


我可以随时检查目标组并编辑目标集:



如您所见,在我抓取这个屏幕截图时其中一个目标的运行状况不佳 (这是故意设计的)。每个目标组的指标都会发布到 CloudWatch;我可以在控制台中查看这些指标,还可以创建 CloudWatch 警报:



现已推出


此功能现已在所有 AWS 区域推出,您可以立即开始使用。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/new-application-load-balancing-via-ip-address-to-aws-on-premises-resources/


2019-11-11 08:00685

评论

发布
暂无评论
发现更多内容

“链”接技术与应用:区块链的新命题,大命题

CECBC

区块链 数字货币

深入理解JVM垃圾回收算法 - 复制算法

Skye

深入理解JVM GC复制算法 Cheney

第四周-系统架构-总结

刘希文

第四周心得

睡觉表演者

极客大学架构师训练营

架构师训练营第4周课后练习

叶纪想

极客大学架构师训练营

互联网架构演化

张荣召

架构师训练营第四周作业

xs-geek

极客大学架构师训练营

架构师训练营第 1 期第 4 周学习总结

owl

极客大学架构师训练营

作业一:典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

静海

如何组织一场用户故事地图工作坊

Bruce Talk

敏捷 用户故事 Product Owner 用户故事地图

作业二:第四周学习总结

静海

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

A p7+

架构师训练营—第四周学习总结

Geek_shu1988

第四周作业总结

Geek_ce484f

极客大学架构师训练营

区块链行业发展的“忧与愁”

CECBC

区块链 互联网

架构师训练营—第四周作业

Geek_shu1988

架构师训练营第四周 -- 学习总结

张荣召

架构师训练营第四周总结

xs-geek

极客大学架构师训练营

周练习 4

何毅曦

架构师训练营第四周作业

睡觉表演者

极客大学架构师训练营

第四周作业

Geek_ce484f

极客大学架构师训练营

架构师训练营第 1 期 -- 第四周作业

发酵的死神

极客大学架构师训练营

架构师训练营第 1 期第 4 周作业

郑凯元

极客大学架构师训练营

spring-boot笔记

solike

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?(总结)

orchid9

架构师训练营 - 作业 - 第四周

Max2012

维基百科技术架构

张荣召

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

Jacky.Chen

微服务

qh12346

架构师训练营第四周总结

月殇

极客大学架构师训练营

架构模式

张荣召

通过 IP 地址在 AWS 和本地资源间实现应用程序负载均衡_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章