【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

评论

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

云原生:详解|K8s核心对象技术

息之

k8s pod service Deployment

区块链IM社交系统开发,区块链即时通讯直播系统搭建

电微13828808271

智慧社区服务平台搭建,智慧安防社区建设方案

电微13828808271

浪潮云说直播间-云溪数据库之ClickHouse原理解析今晚开讲

浪潮云

云计算,

Java问题排查分享

捉虫大师

Java 问题排查

四步做好Code Review

百度开发者中心

Code Review

使用 @Transactional 时常犯的N种错误

程序猿DD

spring Spring Boot 事务

Linux/CentOS/Ubuntu查看文件内容命令总结

入门小站

Linux

社区知识库|常见问答 FAQ 集合第 1 期

Apache Pulsar

Java 开源 Apache Pulsar 代码人生 社区

和12岁小同志搞创客开发:手撕代码,做一款节拍电子鼓

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

在AI与信息交互之间:QQ 浏览器的边界探索

脑极体

如何更快上手使用 OceanBase 社区版?

OceanBase 数据库

数据库 直播 课程 OceanBase 开源

年末冲刺!坚持就是胜利,12月日更来啦~

InfoQ写作社区官方

12月日更 热门活动

【有奖征文】第一届 OceanBase 技术征文大赛来啦!

OceanBase 数据库

数据库 开源 征文大赛 oceanbase

秒过!度目智慧通行让常态化防疫更高效

百度开发者中心

人工智能

官宣!yMatrix 完成A轮融资,打造超融合时序数据库!

YMatrix 超融合数据库

搭建企业级实时数据融合平台难吗?Tapdata + ES + MongoDB 就能搞定

tapdata

云原生:详解|容器核心技术解析

息之

Docker 镜像 技术优势

大规模 K8s 集群管理经验分享 · 上篇

尔达Erda

程序员 云原生 k8s K8s 多集群管理 经验分享、

《鱿鱼游戏》中的 AI 是绝对公平的吗?

澳鹏Appen

人工智能 人脸识别

高层与基层思考上的差异与解决办法

光环PMO社群

项目管理

Python Qt GUI设计:QCalendar日历类和QDateTimeEdit时间类(基础篇—20)

不脱发的程序猿

Python qt GUI设计 QCalendar日历类 QDateTimeEdit时间类

如何设置Activity背景颜色与ProgressBar进度条颜色

Changing Lin

12月日更

云原生:详解|容器云平台应用解析

息之

容器安全 容器应用

架构实战营模块五作业

spark99

架构实战营

区块链应用食品溯源,为食品安全保驾护航

电微13828808271

贝壳Flutter调试工具-FDB

贝壳大前端技术团队

flutter 调试工具 内存监控

Istio 实践手册 | 迎接新一代微服务架构

xcbeyond

istio 服务网格 28天写作 12月日更 Istio 实践手册

[架构实战营] 模块五作业

张祥

架构实战营

打造全新批流融合:详解 Apache Flink 1.14.0 发布的 Pulsar Flink Connector

Apache Pulsar

Java 大数据 分布式 云原生 Apache Pulsar

云原生:Docker实战之容器命令解析(附视频教程)

息之

Docker 视频课 解析

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