如何通过 API / SDK 实现不同账号 ECS 实例的内网通信?
默认情况下,不同账号下的云服务器 ECS 间内网不通。若您打通同一地域下不同账号的 ECS 实例内网,可以通过安全组来操作。目前内网打通有以下两种,请根据实际需求来选择打通方式:
ECS 实例间打通:仅打通两台 ECS 实例间的内网通信。
账号间内网打通:打通同一账号同一地域下所有的 ECS 实例,包括打通以后购买的同一安全组内的 ECS 实例。
注意:账号间内网打通实际上是安全组间打通,即打通处于这两个安全组内的 ECS 实例后就可以实现内网通信。修改安全组配置会影响到安全组内所有的 ECS 实例,请根据实际需要进行操作,避免影响到 ECS 实例网络下运行的业务。
准备工作
本文涉及的软件有:AliyunCLI。您可以点击此处安装 AliyunCLI。https://github.com/aliyun/aliyun-cli?spm=5176.7740597.2.5.zhj1OK
ECS 实例间打通
假设两个 ECS 实例的信息如下:
类别 内网 IP 所属安全组
ECS A 10.0.0.1 sg1
ECS B 10.0.0.2 sg2
目的
在 sg1 中添加放行 10.0.0.2 的入方向的规则。
在 sg2 中添加放行 10.0.0.1 的入方向的规则。
步骤
准备好:
两台 ECS 的内网 IP 地址。
两台 ECS 所处的安全组名称。您可以通过控制台或 API 端口 DescribeInstances 来获得 ECS 实例所属的安全组名称。
使用 AliyunCLI 执行下列命令(示例为 cn-qingdao,请您根据实际情况进行修改):
aliyuncli ecs AuthorizeSecurityGroup --SecurityGroupId sg1 --RegionId cn-qingdao --IpProtocol all --PortRange -1/-1 --SourceCidrIp 10.0.0.2 --NicType intranet
aliyuncli ecs AuthorizeSecurityGroup --SecurityGroupId sg2 --RegionId cn-qingdao --IpProtocol all --PortRange -1/-1 --SourceCidrIp 10.0.0.1 --NicType intranet
注意:使用 AuthorizeSecurityGroup 添加安全组入方向的放行规则请参考其 API 文档,主要关注的参数为 SecurityGroupId 和 SourceCidrIp。
等待 1 分钟后,使用 ping 测试查看两台 ECS 实例间是否内网互通。
账号间内网打通
假设两个账号的信息如下:
类别 账号名 所属安全组
Account A a@aliyun.com sg1
Account B b@aliyun.com sg2
目的
在 sg1 中添加放行 sg2 这个安全组入方向的规则。
在 sg2 中添加放行 sg1 这个安全组入方向的规则。
步骤
准备好:
两个账号的账号名;
两个账号下对应的安全组名称。您可以通过控制台或 API 端口 DescribeInstances 来获得 ECS 实例所属的安全组名称。
使用 AliyunCLI 执行下列命令(示例为 cn-qingdao,请您根据实际情况进行修改):
aliyuncli ecs AuthorizeSecurityGroup --SecurityGroupId sg1 --RegionId cn-qingdao --IpProtocol all --PortRange -1/-1 --SourceGroupId sg2 --SourceGroupOwnerAccount b@aliyun.com --NicType intranet
aliyuncli ecs AuthorizeSecurityGroup --SecurityGroupId sg2 --RegionId cn-qingdao --IpProtocol all --PortRange -1/-1 --SourceGroupId sg1 --SourceGroupOwnerAccount a@aliyun.com --NicType intranet
注意:使用 AuthorizeSecurityGroup 添加安全组入方向的放行规则请参考其 API 文档,主要关注的参数为 SecurityGroupId、SourceGroupId 和 SourceGroupOwnerAccount。
等待 1 分钟后,使用 ping 测试查看两台 ECS 实例间是否内网互通。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。