2

我有以下配置Alibaba ECS

公共连接器和三个测试节点

Connector在公共互联网上有网络连接,默认VSwitch在 default 中VPCConnector是使用 ECS Web 界面创建的。这些testnode[0-2]机器是使用阿里巴巴 cli 命令在脚本中创建的:aliyun.

当实例开始运行时,连接器无法 ping 任何一个实例。如果我在任何测试节点上设置密码,然后重新启动测试节点,ping 就会开始工作。该脚本使用快照Connector作为测试节点的图像。```Connector`` 有一个随机生成的、长的、被遗忘的 root 密码。根访问是通过带有密码保护密钥对的 ssh。对于测试代码的非 root 用户,它也具有相同的功能。

我尝试的是使用以下CreateInstance选项创建测试节点:

  1. 没有--Password和没有--InheritPassword选项(原意:为什么要设置密码?我可以从连接器图像中获得所需的访问权限)

  2. --InheritPassword选项(我需要一个 root 密码才能使专用网络接口工作,连接器图像中的 root 密码很好)

  3. --Password选项(我需要在测试节点上显式设置 root 密码)

结果都是一样的,直到我使用ECS web界面设置密码并重新启动测试节点,Console无法ping通测试节点。

我知道的:

  1. 这不是默认安全组、VPC 或 VSwitch 的问题,因为我没有在这些实体上设置任何设置以使 ping 正常工作。

  2. 这不是实例映像的问题,因为只要 ping 工作,到测试节点的 ssh 也可以工作。

我做错了什么,或者我错过了什么?整个目的是启动实例,而无需在 ECS Web 界面上打字。我想出了如何让私有网络流量移动,因为我想调试测试节点上的情况,为此,我必须设置一个 root 密码并从 ECS Web 控制台获得访问权限,这再次击败了脚本的目的。

Aliyun用于创建测试节点的命令:

aliyun ecs CreateInstance --ImageId m-2vchb2oxldfuloh51wp9 --RegionId=cn-chengdu --InstanceType=ecs.c6.xlarge --SpotStrategy SpotWithPriceLimit --SpotPriceLimit 0.25 --ZoneId cn-chengdu-a --InternetChargeType PayByTraffic --InternetMaxBandwidthOut 99 --InstanceName TEST_NODE-0 --HostName testnode0 --Password 'notgoingtotellyou'

所有实例的操作系统都是Ubuntu 18.0.4。

阿里云命令版本为3.0.30。

4

1 回答 1

0

我得到了两个答案。一位来自同事。一个来自阿里巴巴。

同事的回答:配置失败,因为我为非公共测试机器创建的Unbuntu 18.0.4镜像使用了内部网络接口的静态地址。我将内部网络接口 ( eth0) 更改为使用 dhcp 并且一切正常。有关如何更改 IP 地址分配的信息,请参阅netplan 配置示例。

阿里巴巴的回答:尝试使用aliyun ecs RunInstances而不是三个单独的aliyun ecs CreateInstancealiyun ecs StartInstance调用。我没有尝试这个解决方案,因为它会涉及重写我的脚本。阿里巴巴本可以通过解释为什么会产生与和RunInstances的组合不同的结果来激励我。CreateInstanceStartInstance

于 2019-12-13T15:36:53.277 回答