首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Amazon在EC2服务器实例中命中资源:ENI错误

Amazon在EC2服务器实例中命中资源:ENI错误
EN

Stack Overflow用户
提问于 2021-02-05 15:56:28
回答 1查看 1.8K关注 0票数 0

我在“t3.size”EC2服务器实例上运行ECS任务(使用awsvpc网络),但在试图运行超过2个任务时遇到了RESOURCE:ENI错误,将这里描述为:

对于资源:ENI错误,您的集群没有任何可用的弹性网络接口连接点,这是使用awsvpc网络模式的任务所必需的。Amazon实例对可以附加到它们的网络接口的数量有限制,并且主网络接口可以算作一个。有关每个实例类型支持多少个网络接口的更多信息,请参见“Amazon用户指南”中的每个网络接口每个实例类型的IP地址

T3.小实例类型已记录在案支持每个接口的4个私有IPv4地址:

我的EC2实例有一个公共IP地址(而我的ECS任务有私有IP地址),我认为这解释了为什么我只能运行2个任务,而不是3个。

但是,“私有Ipv4 addresses ”似乎表明,通过向实例分配另一个网络接口,可以允许在遇到RESOURCE:ENI错误之前再运行4个ECS任务--但当我这样做时,只能运行1个任务!附加接口显然消耗了弹性网络接口连接点之一。

这似乎不对。我对docker和ECS比较陌生,但是t3上的2到3个任务/容器的限制似乎很低。我认为使用很多小容器而不是几个大容器是很好的做法。

我唯一的选择是使用更大的实例或切换到桥接网络(即使是亚马逊推荐awsvpc),还是我遗漏了什么?

更新后添加:即使将我的EC2服务器与私有子网相关联,并且只分配它的单个默认网络接口,我仍然只能在访问资源之前运行两个任务:ENI。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 20:01:30

我误解了Amazon的文档。“每个接口的私有Ipv4地址”与EC2实例的ENI限制无关。

代码语言:javascript
运行
复制
aws ec2 describe-instance-types --filters Name=instance-type,Values=t3.* --query "InstanceTypes[].{Type: InstanceType, MaxENI: N
etworkInfo.MaximumNetworkInterfaces, IPv4addr: NetworkInfo.Ipv4AddressesPerInterface}" --output table
--------------------------------------
|        DescribeInstanceTypes       |
+----------+----------+--------------+
| IPv4addr | MaxENI   |    Type      |
+----------+----------+--------------+
|  12      |  3       |  t3.large    |
|  15      |  4       |  t3.2xlarge  |
|  6       |  3       |  t3.medium   |
|  15      |  4       |  t3.xlarge   |
|  4       |  3       |  t3.small    |
|  2       |  2       |  t3.micro    |
|  2       |  2       |  t3.nano     |
+----------+----------+--------------+

限制是这里的MaxENI列(或“最大网络接口”)。

换句话说,我的t3.mall实例(以及随后测试的t3.media和t3.大型实例)都有一个3的MaxENI,因此只能运行两个带有awsvpc网络的容器。一个t3.xlarge (4vCPU,16 instance )实例可以运行3个容器(也确认了)。

亚马逊有一个名为弹性网络接口集群的功能,它可以提高这个限制,这里描述。导言部分指出:

例如,默认情况下,一个c5大型实例最多可以附加三个ENIs。实例的主网络接口可算作一个,因此可以将另外两个ENIs附加到实例。因为使用awsvpc网络模式的每个任务都需要一个ENI,所以通常只能在此实例类型上运行两个这样的任务。

..。完全是我的问题。这一页继续写道:

Amazon支持使用支持的EC2实例类型以更高的ENI密度启动容器实例。当您使用这些实例类型并选择进入awsvpcTrunking帐户设置时,新启动的容器实例可以使用其他ENIs。此配置允许您在每个容器实例上使用awsvpc网络模式放置更多任务。使用此特性,启用awsvpcTrunking的c5大型实例的ENI限制增加了12。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66066448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档