开发者社区> 问答> 正文

如何通过 API / SDK 实现不同账号 ECS 实例的内网通信


默认情况下,不同账号下的云服务器 ECS 间内网不通。若您打通同一地域下不同账号的 ECS 实例内网,可以通过安全组来操作。目前内网打通有以下两种,请根据实际需求来选择打通方式:

  1. ECS 实例间打通:仅打通两台 ECS 实例间的内网通信。
  2. 账号间内网打通:打通同一账号同一地域下所有的 ECS 实例,包括打通以后购买的同一安全组内的 ECS 实例。

注意:账号间内网打通实际上是安全组间打通,即打通处于这两个安全组内的 ECS 实例后就可以实现内网通信。修改安全组配置会影响到安全组内所有的 ECS 实例,请根据实际需要进行操作,避免影响到 ECS 实例网络下运行的业务。


准备工作


本文涉及的软件有:AliyunCLI。您可以点击此处 安装 AliyunCLI

ECS 实例间打通


假设两个 ECS 实例的信息如下:
类别内网 IP所属安全组
ECS A10.0.0.1sg1
ECS B10.0.0.2sg2


目的

  • 在 sg1 中添加放行 10.0.0.2 的入方向的规则。
  • 在 sg2 中添加放行 10.0.0.1 的入方向的规则。


步骤


  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 文档,主要关注的参数为 SecurityGroupIdSourceCidrIp

    等待 1 分钟后,使用 ping 测试查看两台 ECS 实例间是否内网互通。

    账号间内网打通


    假设两个账号的信息如下:
    类别账号名所属安全组
    Account Aa@aliyun.comsg1
    Account Bb@aliyun.comsg2


    目的

    • 在 sg1 中添加放行 sg2 这个安全组入方向的规则。
    • 在 sg2 中添加放行 sg1 这个安全组入方向的规则。


    步骤


    1. 准备好:
      • 两个账号的账号名;
      • 两个账号下对应的安全组名称。您可以通过控制台或 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、SourceGroupIdSourceGroupOwnerAccount

    等待 1 分钟后,使用 ping 测试查看两台 ECS 实例间是否内网互通。
    如问题还未解决,请 提交工单联系阿里云。

    展开
    收起
    boxti 2017-10-20 14:39:19 2486 0
    1 条回答
    写回答
    取消 提交回答
    • 阿里云论坛版主,QQ 1978638808
      感谢分享
      2017-10-20 14:40:13
      赞同 展开评论 打赏
    问答排行榜
    最热
    最新

    相关电子书

    更多
    Spring Boot2.0实战Redis分布式缓存 立即下载
    CUDA MATH API 立即下载
    API PLAYBOOK 立即下载