写点什么

通过 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:00816

评论

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

诗意地栖居在赛博世界:人间烟火中的EMUI设计美学

脑极体

架构训练营第六周作业

一期一会

分布式系统

架构师训练营 week6 学习总结

花果山

极客大学架构师训练营

架构是训练营第 10 周学习笔记

郎哲158

微服务架构及Dubbo 微服务调用的时序图

garlic

极客大学架构师训练营

CAP原理

Sandman

极客大学架构师训练营

架构师训练营第一期第十周总结

Leo乐

极客大学架构师训练营

架构是训练营第 10 周作业

郎哲158

Elasticsearch配置和集群维护

Rayzh

ELK 日志 Elastic Stack

微服务架构的认知思考

橘子皮嚼着不脆

第十周总结

Meow

架构师训练营第十周作业

Shunyi

极客大学架构师训练营

第十周作业

Geek_ce484f

极客大学架构师训练营

第十周作业总结

Geek_ce484f

极客大学架构师训练营

第六周作业

晴空万里

架构师训练营第一期第十周作业

Leo乐

极客大学架构师训练营

Netty源码解析 -- FastThreadLocal与HashedWheelTimer

binecy

源码 Netty

JVM垃圾回收

少林寺三毛

JVM

架构师训练营第二期 Week 6 总结

bigxiang

极客大学架构师训练营

第十周作业

Meow

week10作业

龙卷风

架构师一期

Dubbo微服务调用的时序图

天天向上

极客大学架构师训练营

架构师训练营第二期 Week 6 作业

bigxiang

极客大学架构师训练营

week1总结

ルンルン

架构师系列之7:分布式领域的CAP理论

桃花原记

架构师训练营 week6 课后作业

花果山

极客大学架构师训练营

周练习 10

何毅曦

DDD中的模型

zamkai

领域驱动设计

第十周作业

极客大学架构师训练营

万字长文,助你深度遨游Spring循环依赖源码实现!

Java spring 编程

第十周总结

orchid9

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