【ECS】通过API允许不同账号下的ECS实例内网通信

简介: 若您需要实现同一地域下不同账号的ECS实例内网通信,可以参考本文描述授权安全组间互访。

前提条件

请确保您已经为ECS实例安装了阿里云CLI,在不同操作系统中安装CLI的方式请参见:


背景信息

目前授权安全组内网通信有以下两种,请根据您的实际需求选择方式。

  • ECS实例间通信:授权同一账号两台ECS实例间的内网通信。
  • 账号间内网通信:授权不同账号同一地域下两个安全组内所有的ECS实例的内网通信,包括授权以后购买的同一安全组内的ECS实例。


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


安全组是ECS实例的虚拟防火墙,安全组本身不提供通信能力和组网能力。授权不同安全组内的实例内网通信后,请同时确保实例可以建立内网互通的能力。

  • 若实例均是经典网络类型,必须位于同一地域下。
  • 若实例均是VPC类型,不同VPC间默认内网不通。建议通过公网访问的方式通信,或者通过高速通道、VPN网关和云企业网等方式提供访问能力。更多信息,请参见高速通道VPN网关云企业网
  • 若实例网络类型不同,请设置ClassicLink允许实例通信。具体操作,请参见经典网络和专有网络互通
  • 若实例位于不同地域,建议通过公网访问的方式通信,或者通过高速通道、VPN网关和云企业网等方式提供访问能力。更多信息,请参见高速通道VPN网关云企业网


ECS实例间通信

  1. 查询两台ECS实例的内网IP地址和两台ECS实例所处的安全组ID。您可以通过控制台或调用DescribeInstances接口获得ECS实例所属的安全组ID。假设两台ECS实例的信息如下表所示。
实例 IP地址 所属安全组 安全组ID
实例A 10.0.0.1 sg1 sg-bp1azkttqpldxgte****
实例B 10.0.0.2 sg2 sg-bp15ed6xe1yxeycg****


  1. 在sg1安全组中添加放行10.0.0.2的入方向的规则。
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId sg-bp1azkttqpldxgte**** --RegionId cn-qingdao --IpProtocol all  --PortRange=-1/-1 --SourceCidrIp 10.0.0.2 --NicType intranet


  1. 在sg2安全组中添加放行10.0.0.1的入方向的规则。
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId sg-bp15ed6xe1yxeycg**** --RegionId cn-qingdao --IpProtocol all  --PortRange=-1/-1 --SourceCidrIp 10.0.0.1 --NicType intranet


说明

  • 以上命令中,地域取值为华北 1(青岛)cn-qingdao,请您根据实际情况修改。
  • 以上命令中,调用AuthorizeSecurityGroup接口添加安全组入方向的放行规则,主要关注的参数为SecurityGroupIdSourceCidrIp


  1. 等待一分钟后,使用ping命令测试两台ECS实例之间是否内网互通。


账号间内网通信

  1. 查询两个账号的账号名和两个账号下对应的安全组ID。您可以通过控制台或调用DescribeInstances接口获得ECS实例所属的安全组ID。假设两个账号的信息如下表所示。
账号 账号ID 安全组 安全组ID
账号A a@aliyun.com sg1 sg-bp1azkttqpldxgte****
账号B b@aliyun.com sg2 sg-bp15ed6xe1yxeycg****


  1. 在sg1安全组中添加放行sg2安全组入方向的规则。
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId sg-bp1azkttqpldxgte**** --RegionId cn-qingdao --IpProtocol all  --PortRange=-1/-1 --SourceGroupId sg-bp15ed6xe1yxeycg7XXX --SourceGroupOwnerAccount b@aliyun.com --NicType intranet


  1. 在sg2安全组中添加放行sg1安全组入方向的规则。
aliyun ecs AuthorizeSecurityGroup --SecurityGroupId sg-bp15ed6xe1yxeycg**** --RegionId cn-qingdao --IpProtocol all  --PortRange=-1/-1 --SourceGroupId sg-bp1azkttqpldxgtedXXX --SourceGroupOwnerAccount a@aliyun.com --NicType intranet


说明

  • 以上命令中,地域取值为华北 1(青岛)cn-qingdao,请您根据实际情况修改。
  • 以上命令中,调用AuthorizeSecurityGroup接口添加安全组入方向的放行规则时,主要关注的参数为SecurityGroupIdSourceGroupIdSourceGroupOwnerAccount


  1. 等待一分钟后,使用ping命令测试查看两台ECS实例之间是否内网互通。
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
开发框架 缓存 .NET
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
并发请求太多,服务器崩溃了?试试使用 ASP.NET Core Web API 操作筛选器对请求进行限流
208 0
|
1月前
|
JSON JavaScript 前端开发
使用 Node.js 和 Express 构建 RESTful API 服务器
【10月更文挑战第3天】使用 Node.js 和 Express 构建 RESTful API 服务器
|
30天前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API服务器
【10月更文挑战第12天】使用JavaScript和Node.js构建简单的RESTful API服务器
17 0
|
1月前
|
存储 监控 NoSQL
Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client
本文讨论了在C/C++中实现服务器处理多个客户端的技术,重点介绍了事件循环和非阻塞IO的概念,以及如何在Linux上使用epoll来高效地监控和管理多个文件描述符。
27 0
|
2月前
|
JSON 搜索推荐 API
深入了解亚马逊商品详情API:功能、作用与实例
亚马逊商品详情API接口由官方提供,允许开发者通过程序调用获取商品详细信息,如标题、价格等,适用于电商数据分析、搜索及个性化推荐等场景。接口名称包括ItemLookup、GetMatchingProductForId等,支持HTTP POST/GET请求,需提供商品ID、API密钥及其他可选参数。返回数据格式通常为JSON或XML,涵盖商品详情、分类、品牌、价格、图片URL及用户评价等。该接口对数据收集、实时推荐、营销活动及数据分析至关重要,有助于提升电商平台的数据处理能力、用户体验及商家运营效率。使用时需注册亚马逊开发者账号并申请API访问权限,获取API密钥后按文档构建请求并处理响应数据。
|
3月前
|
API Windows
揭秘网络通信的魔法:Win32多线程技术如何让服务器化身超级英雄,同时与成千上万客户端对话!
【8月更文挑战第16天】在网络编程中,客户/服务器模型让客户端向服务器发送请求并接收响应。Win32 API支持在Windows上构建此类应用。首先要初始化网络环境并通过`socket`函数创建套接字。服务器需绑定地址和端口,使用`bind`和`listen`函数准备接收连接。对每个客户端调用`accept`函数并在新线程中处理。客户端则通过`connect`建立连接,双方可通过`send`和`recv`交换数据。多线程提升服务器处理能力,确保高效响应。
53 6
|
3月前
|
网络协议 安全 Unix
6! 用Python脚本演示TCP 服务器与客户端通信过程!
6! 用Python脚本演示TCP 服务器与客户端通信过程!
|
3月前
|
缓存 测试技术 API
从零到一:构建高效的 RESTful API 服务器
在当今的软件开发环境中,RESTful API 是实现系统间数据交互的关键组件。本文探讨了如何从头开始构建一个高效的 RESTful API 服务器,包括技术选型、架构设计、性能优化等方面的内容。我们将以 Python 的 Flask 框架为例,展示如何设计一个可扩展且高性能的 API 服务器,并提供实际代码示例来说明最佳实践。
|
3月前
|
网络协议 C# 开发者
WPF与Socket编程的完美邂逅:打造流畅网络通信体验——从客户端到服务器端,手把手教你实现基于Socket的实时数据交换
【8月更文挑战第31天】网络通信在现代应用中至关重要,Socket编程作为其实现基础,即便在主要用于桌面应用的Windows Presentation Foundation(WPF)中也发挥着重要作用。本文通过最佳实践,详细介绍如何在WPF应用中利用Socket实现网络通信,包括创建WPF项目、设计用户界面、实现Socket通信逻辑及搭建简单服务器端的全过程。具体步骤涵盖从UI设计到前后端交互的各个环节,并附有详尽示例代码,助力WPF开发者掌握这一关键技术,拓展应用程序的功能与实用性。
113 0
|
3月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
157 0