首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态创建EKS实例的公网IP或子域

动态创建EKS实例的公网IP或子域
EN

Stack Overflow用户
提问于 2020-09-27 03:49:16
回答 1查看 403关注 0票数 2

复杂的AWS EKS /弹性网卡/ Route53问题把我们难倒了。需要一个专家。

上下文:

我们正在为使用WebRTC / UDP SCTP/SRTP通过https://MediaSoup.org传输游戏和视频数据的社交平台(https://myxr.social)开发动态游戏服务器

每台游戏服务器将有大约50个客户端,每个客户端需要2-4个UDP端口

我们的工作开发策略https://github.com/xr3ngine/xr3ngine/tree/dev/packages/ops

我们使用Kubernetes和https://agones.dev配置这些游戏服务器

Mediasoup要求为每个连接到客户端的服务器分配单独的端口。每个客户端将需要两个端口,一个用于发送数据,另一个用于接收数据;每个服务器的目标最大用户数约为50个,这需要每个服务器有100个端口可以公开访问。

我们需要一些方法将这个UDP流量路由到相应的游戏服务器。Ingresses似乎主要处理HTTP(S)流量,而配置我们的NGINX入口控制器来处理UDP流量假设我们提前知道我们的gameserver服务,但我们不知道,因为gameserver在需要时会旋转。

问题:

我们看到了两种可能的方法来解决这个问题。

路径1

为节点组中的每个游戏服务器分配公网in,然后为每个客户端分配端口。IP v4或v6。这将要求AWS中的IP端口使用SSL终端。是否可以使用弹性网卡和EKS为每个使用SSL的gameserver动态创建和配置IP端口?实质上通过公共子网将这些豆荚暴露给因特网,每个豆荚都具有它们自己的IP地址或子域。https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html我们一直在参考这篇文档,试图弄清楚这是否可能。

路径2

为每个游戏服务器动态创建一个子域(例如gameserver01.gs.xrengine.io等),为每个客户端(例如客户端1 30000-30004等)动态分配端口。这似乎受到EKS舰队可访问的港口的限制。

这两种方法中有哪一种可行吗?有更好的吗?你能给我们一些关于我们应该如何实现的细节吗?

EN

回答 1

Stack Overflow用户

发布于 2020-09-27 04:29:15

接收UDP traffic on Amazon EKS的本机方法是使用Kubernetes,它带有额外的注释来获取Service of type Loadbalancer

示例

代码语言:javascript
运行
复制
apiVersion: v1
kind: Service
metadata:
  name: my-game-app-service
  annotation:
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
spec:
  selector:
    app: my-game-app
  ports:
    - name: outgoing-port   # choose your name
      protocol: UDP
      port: 9000            # choose your port
    - name: incoming-port   # choose your name
      protocol: UDP
      port: 9001            # choose your port
  type: LoadBalancer
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64081898

复制
相关文章

相似问题

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