内页banner>

联系方式

当前位置: 首页 > 产品展示

产品展示 Projects

联系我们Contact Us

鲨鱼加速器[中国官網]|鲨鱼加速器

电话:13594780397

联系人:周经理

邮箱:proportionate@qq.com 

网址:https://www.qiyeseoer.com

地址:福安市艳摘谷187号

通过优化 IP 地址使用和扩展网络容量来扩展 AWS Glue 作业,使用私有 NAT 网关 大数据

2026-01-27 14:56:13
64次

优化IP地址利用与网络扩容以扩展AWS Glue作业

关键要点

在企业发展的过程中,企业网络中对IP地址的需求通常超出供应量。本文将讨论两种策略,以通过优化IP地址的使用和使用私有NAT网关扩展网络容量来扩展AWS Glue作业。

随着企业的扩展,企业网络内对IP地址的需求往往超过供应。组织的网络通常是根据未来的需求设计的,但随着企业的发展,其信息技术IT需求超出了先前设计的网络。公司可能会面临管理有限IP地址池的挑战。

在数据工程工作负载中,当AWS Glue在这样的受限网络配置下使用时,您的团队有时会在同时运行多个作业时面临障碍。这是因为您可能没有足够的IP地址来支持所需的数据库连接。为了解决这个问题,团队可能需要从公司网络池中获取更多IP地址。这些获取的IP地址可以是唯一的不重叠的或重叠的,当IP地址在您的公司网络中被重用时。

当您使用重叠的IP地址时,您需要额外的网络管理来建立连接。网络解决方案可以包括私有网络地址转换NAT网关、AWS PrivateLink或者自管理的NAT设备来转换IP地址。

在本文中,我们将讨论两种扩展AWS Glue作业的策略:

通过合理配置数据处理单元DPU、使用AWS Glue的自动扩展功能和精细调整作业来优化IP地址使用。通过使用私有NAT网关扩展具有额外非可路由CIDR范围的网络容量。

在深入探讨这些解决方案之前,让我们了解AWS Glue如何使用弹性网络接口ENI来建立连接。为了允许访问位于VPC内的数据存储,您需要创建一个附加到您的VPC的AWS Glue连接。当在VPC中运行AWS Glue作业时,该作业为每个数据连接在配置的VPC内部创建一个ENI,并且该ENI使用在指定VPC中的IP地址。这些ENI是短期存在的,并在作业完成之前保持激活状态。

高效IP地址利用策略

在AWS Glue中,作业使用的工作节点数量决定了从您的VPC子网中使用的IP地址数量。这是因为每个工作节点需要一个映射到一个ENI的IP地址。当您没有足够的CIDR范围分配给AWS Glue子网时,可能会观察到IP地址耗尽错误。以下是一些优化AWS Glue IP地址使用的最佳实践:

合理配置作业的DPU:AWS Glue是一个分布式处理引擎。它在能够并行运行任务时工作效率更高。如果作业的DPU数量超过了需要的数量,作业并不一定会运行得更快。因此,找到合适的DPU数量将确保您优化使用IP地址。通过在系统中建立可观察性并分析作业性能,您可以洞察ENI消耗趋势,并配置作业以适合合适的容量。有关更多详细信息,请参阅 DPU容量规划的监控。Spark UI是监控AWS Glue作业工作节点使用情况的一个有用工具,详情请参阅 使用Apache Spark Web UI监控作业。

AWS Glue自动扩展:预测作业的容量需求通常是困难的。启用AWS Glue的自动扩展功能会将一些责任转移到AWS上。在运行时,根据工作负载的需求,作业会自动将工作节点扩展到定义的最大配置。如果没有额外需求,AWS Glue将不会过度配置工作节点,从而节省资源并降低成本。自动扩展功能在AWS Glue 30及以后的版本中可用,更多信息请参阅 引入AWS Glue自动扩展:自动调整无服务器计算资源以降低成本并优化Apache Spark。

作业级优化:通过使用 AWS Glue作业指标 来识别作业级别的优化,并应用 针对Apache Spark作业性能调优的最佳实践。

接下来让我们看一下扩展网络容量的第二种解决方案。

通过优化 IP 地址使用和扩展网络容量来扩展 AWS Glue 作业,使用私有 NAT 网关 大数据

网络扩容方案

在本节中,我们将详细讨论扩展网络容量的两种可能解决方案。

扩展VPC CIDR范围与可路由地址

一种解决方案是将更多私有IPv4 CIDR范围从 RFC 1918 添加到您的VPC。理论上,每个AWS账号可以分配用到这些IP地址CIDR。您的IP地址管理IPAM团队通常会管理每个业务单元可以使用的IP地址分配,以避免多个AWS账号或业务单元之间的IP地址重叠。如果您当前分配的可路由IP地址配额不足,您可以申请更多。

如果您的IPAM团队为您发放了额外的非重叠CIDR范围,则可以将其添加为现有VPC的第二CIDR,或者使用其创建一个新的VPC。如果您计划创建一个新的VPC,则可以通过 VPC Peering 或 AWS Transit Gateway 来互连这些VPC。

如果这个额外的容量足以在定义的时间范围内运行您的所有作业,那么这是一个简单和具成本效益的解决方案。否则,您可以考虑使用具有私有NAT网关的重叠IP地址,如下节所述。使用这种解决方案时,您必须使用Transit Gateway来连接VPC,因为当两个VPC中存在重叠的CIDR范围时,VPC Peering不可行。

香港加速器下载

配置非可路由CIDR与私有NAT网关

如AWS白皮书 构建可扩展且安全的多VPC AWS网络基础设施 所述,您可以通过创建一个非可路由的IP地址子网并利用位于可路由IP地址空间不重叠的私有NAT网关来扩展网络容量。私有NAT网关在非可路由IP地址和可路由IP地址之间进行转换和路由。下面的图示展示了与AWS Glue相关的解决方案。

如上图所示,VPC AETL附加了两个CIDR范围。较小的CIDR范围1723300/24是可路由的,因为它没有被重用,而较大的CIDR范围1006400/16是不可路由的,因为它在数据库VPC中被重用了。

在VPC B数据库中,我们在可路由子网1723000/26和17230064/26中托管了两个数据库。这两个子网位于两个不同的可用区以实现高可用性。我们还有两个额外的未使用子网1006400/24和1006410/24以模拟不可路由的设置。

您可以根据容量需求选择非可路由CIDR范围的大小。因为您可以重用IP地址,您可以根据需要创建非常大的子网。例如,CIDR掩码为/16将为您提供大约65000个IPv4地址。您可以与网络工程团队合作,确定子网的大小。

简而言之,您可以配置AWS Glue作业使用VPC中的可路由和不可路由子网,以最大化可用IP地址池。

现在让我们了解Glue ENI如何在不可路由子网中与另一VPC中的数据源进行通信。

这里展示的用例的数据流如下参见上图中的编号步骤:

当AWS Glue作业需要访问数据源时,首先使用作业中的AWS Glue连接创建在VPC A的非可路由子网1006400/24中的ENI。随后,AWS Glue使用数据库连接配置并尝试连接VPC B中的数据库1723000/24。根据路由表 VPCANonRoutableRouteTable,目标1723000/24配置为私有NAT网关。请求被发送到NAT网关,后者将源IP地址从不可路由IP地址转换为可路由IP地址。然后流量发送到与VPC A中的 VPCARoutableRouteTable 路由表关联的Transit Gateway附加点。Transit Gateway使用1723000/24路由,并将流量发送到VPC B的Transit Gateway附加点。VPC B中的Transit Gateway ENI使用VPC B的本地路由连接到数据库端点并查询数据。查询完成后,响应被发送回VPC A。响应流量被路由到VPC B中的Transit Gateway附加点,然后Transit Gateway使用1723300/24路由将流量发送到VPC A的Transit Gateway附加点。VPC A中的Transit Gateway ENI使用本地路由将流量转发到私有NAT网关,将目标IP地址转换为不可路由子网中ENIs的地址。最后,AWS Glue作业接收到数据并继续处理。

私有NAT网关解决方案是当您无法从组织的可路由网络中获取额外IP地址时的一个选项。有时,每增加一项服务就会产生额外成本,在这个权衡中,满足您的目标是必要的。有关更多信息,请参阅 Amazon VPC定价页面 中的NAT网关定价部分。

前提条件

要完成私有NAT网关解决方案的逐步实施,您需要以下内容:

一个 AWS账户 ,并且该账户具有足够的权限来配置所需资源。一个 AWS身份与访问管理IAM用户,该用户可以访问AWS资源,包括 Amazon虚拟私有云Amazon VPC、Transit Gateway、私有NAT网关和 Amazon关系数据库服务Amazon RDS用于MySQL 数据库。

部署解决方案

要实施此解决方案,请完成以下步骤:

登录到您的AWS管理控制台。通过点击 来部署解决方案。此堆栈默认使用 useast1,您可以选择所需的区域。点击 下一步,然后指定堆栈详细信息。您可以保留输入参数以使用预填充的默认值,也可以根据需要进行更改。对于 DatabaseUserPassword,输入您选择的字母数字密码,并确保记下以便后续使用。对于 S3BucketName,输入一个独特的 亚马逊简单存储服务 Amazon S3存储桶名称。此存储桶存储将从AWS公共代码库复制的AWS Glue作业脚本。点击 下一步。保留默认值,然后再次点击 下一步。审核详细信息,确认创建IAM资源,然后点击 提交 开始部署。

您可以在AWS CloudFormation控制台上监控事件,以查看资源的创建。堆栈资源创建可能需要大约20分钟。

堆栈创建完成后,转到AWS CloudFormation控制台上的“输出”选项卡,并记录以下值以备后用:

DBSourceDBTargetSourceCrawlerTargetCrawler

连接到AWS Cloud9实例

接下来,我们需要使用 AWS Cloud9 实例准备源和目标Amazon RDS for MySQL表。请完成以下步骤:

在AWS Cloud9控制台页面,找到 awsgluecloud9 环境。在Cloud9 IDE栏目中,点击 打开 以启动您的AWS Cloud9实例,打开新网页浏览器窗口。

准备源MySQL表

完成以下步骤准备您的源表:

在AWS Cloud9终端中使用以下命令安装MySQL客户端: sudo yum update y ampamp sudo yum install y mysql使用以下命令连接到源数据库。用您之前捕获的DBSource值替换源主机名。当提示时,输入您在堆栈创建过程中指定的数据库密码。 mysql h lt源主机名gt P 3306 u admin p运行以下脚本创建源 emp 表,并加载测试数据:

sql 连接到源数据库USE srcdb 如果emp表存在则删除DROP TABLE IF EXISTS emp 创建emp表CREATE TABLE emp (empid INT AUTOINCREMENT ename VARCHAR(100) NOT NULL edept VARCHAR(100) NOT NULL PRIMARY KEY (empid)) 创建存储过程将示例记录加载到emp表中DELIMITER CREATE PROCEDURE sploadempsourcedata()BEGINDECLARE empid INTDECLARE ename VARCHAR(100)DECLARE edept VARCHAR(50)DECLARE cnt INT DEFAULT 1 初始化计数器为1以自动递增主键DECLARE reccount INT DEFAULT 1000 初始化样本记录计数器TRUNCATE TABLE emp 清空emp表WHILE cnt lt= reccount DO 循环并加载所需数量的样本记录SET ename = CONCAT(Employee FLOOR(RAND() 100) 1) 生成随机员工姓名SET edept = CONCAT(Dept FLOOR(RAND() 100) 1) 生成随机员工部门 插入具有自动递增empid的记录INSERT INTO emp (ename edept) VALUES (ename edept) 增加计数器以准备下一条记录SET cnt = cnt 1END WHILECOMMITENDDELIMITER 调用上述存储过程以加载示例记录到emp表中CALL sploadempsourcedata()

使用以下SQL查询检查源 emp 表的计数稍后您需要进行验证。 select count() from emp运行以下命令退出MySQL客户端工具,返回AWS Cloud9实例的终端: quit

准备目标MySQL表

完成以下步骤准备目标表:

使用以下命令连接到目标数据库。用您之前捕获的DBTarget值替换目标主机名。当提示时,输入您在堆栈创建中指定的数据库密码。 mysql h lt目标主机名gt P 3306 u admin p运行以下脚本创建目标 emp 表。此表将在后续步骤中由AWS Glue作业加载:

sql 连接到目标数据库USE targetdb 如果emp表存在则删除 DROP TABLE IF EXISTS emp 创建emp表CREATE TABLE emp (empid INT AUTOINCREMENT ename VARCHAR(100) NOT NULL edept VARCHAR(100) NOT NULL PRIMARY KEY (empid))

验证网络设置可选

以下步骤有助于理解私有NAT网关解决方案的NAT网关、路由表以及Transit Gateway配置。这些组件在CloudFormation堆栈创建期间创建。

在亚马逊VPC控制台页面,导航到虚拟私有云部分并找到NAT网关。2

鲨鱼加速器[中国官網]|鲨鱼加速器

电话:13594780397

联系人:周经理

邮箱:proportionate@qq.com 

网址:https://www.qiyeseoer.com

地址:福安市艳摘谷187号

在线留言

  • 体验移动端

    体验移动端

  • 联系客服

    联系客服