很多企业在多云或分部门管理场景下,会把不同业务部署在多个阿里云账号中。随着业务协作越来越紧密,跨账号的ECS实例也需要直接通过内网通信,而不是绕道公网。这时候,安全组就成了打通内网的关键环节。可不少人一上来就盲目放通IP段,结果要么无法互通,要么暴露了不必要的端口。其实只要掌握四个关键设置,就能既安全又精准地实现跨账号ECS内网互通。
设置一:获取并核对跨账号安全组标识。跨账号互通的本质,不是把对方的整个网段加入规则,而是让安全组之间建立信任关系。首先需要登录对端账号,找到目标ECS实例所属的安全组,记录下它的安全组ID和所属地域。同时还要确认对方账号的ID,这个信息在账号概览页面可以查到。很多人在这一步容易忽略地域一致性,安全组ID虽然看起来相似,但如果地域不同,规则是无法生效的。

设置二:在入方向规则中引用对端安全组ID。回到当前账号的ECS安全组页面,选择需要放行的安全组,点击“入方向”添加规则。在授权对象类型中,不要选择“IPv4网段”,而是选择“安全组”。随后输入刚刚记录的对端安全组ID,系统会自动识别出这是来自其他账号的安全组。这个操作的关键点在于,阿里云会通过安全组ID来识别来源,而不是简单匹配IP,因此对方ECS的私网IP发生变化也不会影响互通效果。
设置三:开启账号维度授权与信任关系。默认情况下,只填写安全组ID还不足以让跨账号流量通过,因为安全组ID在不同账号间并不是全局可见的。此时需要在规则中补充对方账号ID,并选择“跨账号授权”的选项。这一步等同于告诉当前安全组:我信任这个账号下的这个安全组。开启后,对方的安全组内所有ECS实例都会获得访问当前安全组内实例的权限。需要特别注意的是,如果对方账号启用了资源目录或RAM身份管理,账号ID要以实际承担网络策略的那个主账号为准,而不是子账号。
设置四:双向放行与内网连通性验证。跨账号内网互通是双向通信的过程,只在一个方向添加规则远远不够。必须在双方的安全组中都完成上述设置,也就是A账号的安全组规则引用B账号的安全组ID,同时B账号也做同样的操作。这样就能避免出现“请求能发出去但响应回不来”的尴尬。规则配置完毕后,不要急着部署业务,先在ECS实例上使用ping或telnet命令测试对内网IP的连通性。如果测试不通,优先检查安全组规则的优先级和授权方向,其次再确认是否还有网络ACL或交换机级别的策略在拦截流量。整个过程不需要额外购买云企业网或专线,只要安全组配置正确,就能在几分钟之内打通跨账号的私有网络通道。


