AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[aws-fargate](server)

Martin Hope
Axonn
Asked: 2021-12-06 23:08:24 +0800 CST

AWS Fargate 是否包含在他们的“第一年免费”计划中?

  • 0

我正在为一个资金紧张的尚未启动的公司工作:D。我们想免费使用 Amazon 来部署一个简单的 Python REST API 端点。有人告诉我,亚马逊有“免费 1 年”的套餐。我已经构建了我的 docker,将其放在 DockerHub 上并成功将其部署到 Fargate。

但是,我在他们的免费物品列表中找不到 Fargate 产品:

https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free% 20Tier%20Categories=*所有

然而,根据他们自己的文档,Fargate 非常适合小东西:

微小的工作负载 AWS Fargate 非常适合小型测试环境。在 EC2 实例上运行一个小型测试环境通常很浪费,因为 EC2 实例太强大了,而且您将很难获得良好的利用率。

那么,我应该开始为这 750 小时/月设置一个 EC2 吗?

amazon-ec2 amazon-web-services aws-fargate
  • 1 个回答
  • 991 Views
Martin Hope
MrRobot9
Asked: 2021-11-13 00:21:39 +0800 CST

在 Fargate 中为服务选择子网

  • 0

在此处输入图像描述

如上图所示,我可以选择任意数量的子网。这是否意味着,服务中的任务是跨这两个子网创建的?

假设我有一个任务正在运行,那么它将在哪个子网中运行?如果服务中有多个任务,它们是如何分布在这些子网之间的?这是 Fargate 处理的事情,我们不应该担心吗?

如果我选择一个公共子网和一个私有子网怎么办,我猜在这种情况下会一团糟。

抱歉,如果这些是菜鸟问题,我是 AWS 新手。

subnet amazon-web-services amazon-vpc aws-fargate
  • 2 个回答
  • 497 Views
Martin Hope
Anadi Misra
Asked: 2021-07-24 02:26:38 +0800 CST

即使在 fargate 配置文件补丁之后,coredns 部署也无法查找节点

  • 1

安装 fargate 配置文件和 coreddns 插件的问题;我将 terraform 用于某些部分,而kubetctl对于其他部分,fargate 配置文件是通过 terraform 创建的:

fargate_profiles = {
  kube-system-profile = {
    name = "kube-system-profile"
    selectors = [
      {
        namespace = "kube-system"
        labels = {
          name = "kube-system"
          k8s-app = "kube-dns"
        }
      }
    ]
    tags = {
      Cost = "DaCost"
      Environment = "dev"
      Name = "coredns-fargate-profile"
    }
  },
  swiftalk-dev-profile = {
    name = "dev-profile"
    selectors = [
      {
        namespace = "dev"
        labels = {
          name = "dev"
        }
      }
    ]
    tags = {
      Cost = "DaCost"
      Environment = "dev"
      Name = "dev-profile"
    }
  },
}

然后我使用 terraform 再次安装 coredns 插件

resource "aws_eks_addon" "core_dns" {
  addon_name        = "coredns"
  addon_version     = "v1.8.3-eksbuild.1"
  cluster_name      = "${var.eks_cluster_name}-dev"
  resolve_conflicts = "OVERWRITE"
  tags              = { "eks_addon" = "coredns", name = "kube-system" }
  depends_on        = [kubernetes_namespace.dev]
}

我修补了 fargate 的 coredns 部署

kubectl patch deployment coredns \
  --namespace kube-system \
  --type=json \
  -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'

然后重新启动

kubectl rollout restart -n kube-system deployment/coredns

但是,coredns pod 仍处于待处理状态

kubectl get pods -n kube-system
NAME                      READY   STATUS    RESTARTS   AGE
coredns-5766d4545-g6nxn   0/1     Pending   0          46m
coredns-5766d4545-xng48   0/1     Pending   0          46m
coredns-b744fccf4-hb726   0/1     Pending   0          77m

云监视日志指出 Pod 正在寻找要部署的节点,而不是fargate

I0723 10:24:38.059960       1 factory.go:319] "Unable to schedule pod; no nodes are registered to the cluster; waiting" pod="kube-system/coredns-b744fccf4-hb726"
I0723 10:24:38.060078       1 factory.go:319] "Unable to schedule pod; no nodes are registered to the cluster; waiting" pod="kube-system/coredns-5766d4545-xng48"
kubernetes terraform aws-fargate amazon-eks
  • 1 个回答
  • 1238 Views
Martin Hope
Jethro
Asked: 2021-07-15 02:08:18 +0800 CST

禁用 src/dest 检查的 ECS Fargate 网络接口

  • 0

创建 AWS ECS Fargate 服务时,有没有办法将生成的网络接口的Source/dest check字段设置为false?

该服务是按照ECS Fargate 入门指南设置的。该服务正在运行一个 squid 代理,我认为它需要能够接受发往其他 IP 的流量,类似于 NAT。

尽管拥有完整的管理员权限,但在创建后更改 src/dest 检查字段会导致权限被拒绝错误:

未能更新 eni-12345abcde 的源/目标检查:您没有访问指定资源的权限。

我认为该消息具有误导性,并且在附加网络接口时无法修改(或删除)它们,正如我在尝试删除接口时看到的类似,尽管有权限这样做。

有没有办法设置或修改 ECS Fargate 服务的网络接口以跳过 src/dest 检查?

networking amazon-web-services amazon-ecs aws-fargate
  • 1 个回答
  • 221 Views
Martin Hope
Wei Minn
Asked: 2021-03-16 10:36:14 +0800 CST

AWS ECS Fargate 目标组运行状况检查失败

  • 3

SpringBoot 应用程序在 AWS Fargate 集群的 ECS 服务中作为 ECS 任务运行。ECS 服务是负载平衡的,因此由服务生成的任务会自动注册到目标组。

我可以通过 API Gateway => VPC Link => Network ELB => Application ELB => ECS Task 调用 Health 端点,如下所示: 来自 Postman 的调用

但是,HealthChecks 似乎失败了,因此,任务被不断取消注册,导致设置完全无法使用。

ECS 服务事件

我已确保将目标组点的 HealthCheck 配置为指向正确的端点 URL,如下所示: Health Check Settings

我还确保 Fargate 任务所属的安全组允许来自应用程序负载均衡器的流量,如下所示: ECS 任务的安全组

但不知何故,HealthChecks 一直失败,任务被取消注册,我很困惑!

非常感谢您的帮助!

load-balancing amazon-web-services amazon-api-gateway aws-fargate containers
  • 1 个回答
  • 1138 Views
Martin Hope
xenoterracide
Asked: 2021-02-03 10:25:30 +0800 CST

AWS Fargate EKS 容器到容器的通信是否在网络级别加密?

  • 0

我看到临时驱动器现在是加密的,但是容器之间的网络通信是加密的,比如为了 HIPAA 合规性。特别关注带有 Kubernetes pod 的 Serverless Fargate。“fargate kubernetes 网络加密”的谷歌似乎没有返回相关结果,这都是关于临时驱动器的。如果不是,有没有办法做到这一点?

更新:

我刚刚发现一些内容说您可以设置CNI,但我并不是 100% 清楚 Fargate EKS 可以实现这一点。

amazon-web-services kubernetes aws-fargate amazon-eks
  • 2 个回答
  • 338 Views
Martin Hope
LostInAws
Asked: 2020-12-29 08:24:36 +0800 CST

需要有关 AWS 设置的建议

  • -1

对于我的下一个项目,我将尝试使用 AWS 和无服务器,但我不确定如何推理不同的 AWS 服务。所以在这里希望有人对此有很好的感觉。

该项目目前由三个不同的前端应用程序组成,每个应用程序都托管在一个单独的子域中:

  • 根域+[www]:主网页,主要由“销售”内容组成
  • [管理]:我们管理系统的前端应用程序
  • [user]:用于我们用户体验的前端应用程序

然后,就目前而言,是一个为所有前端应用程序服务的后端应用程序。此后端必须至少由 [administration] 和 [user] 子域(即 user.domain.com/service/backend)反向代理。我的后端服务目前作为 docker 容器运行,并且它在某些部分使用 WebSockets,因此必须支持。

我一直在为我的前端寻找一些选项,AWS Amplify 或 S3+Cloudfront。但是,我不确定这些是否是我正在寻找的。

我的后端也是如此。我一直在研究 AWS Fargate、AWS API Gateway 和可能的 AWS AppSync(因为我的大部分后端都是 GraphQL 应用程序)。

但我有点迷路了。谁能给我推动正确的方向?希望我已经提供了足够清晰的信息,否则,我很乐意扩展!:)

谢谢!

amazon-s3 amazon-web-services amazon-cloudfront aws-fargate
  • 1 个回答
  • 120 Views
Martin Hope
Castro Roy
Asked: 2020-06-27 11:04:32 +0800 CST

我的 ECS 服务是否需要内部负载均衡器?

  • 1

我有一个ECS包含 3 个服务()的集群FARGATE,这 3 个服务位于私有子网中。1 是可通过面向 Internet 的负载均衡器公开访问的 Web 应用程序,另外 2 个只能从 Web 应用程序访问。对于内部通信,我使用的是服务发现名称。 在此处输入图像描述

一切正常,但现在我正在讨论是否需要在 Web 应用程序和 2 个内部服务之间设置一个内部负载均衡器,以防它们向外扩展/向内扩展。那么,如果我的内部服务之一向外扩展并且我使用服务发现名称进行内部通信,这就足够了吗?或者,我是否需要一个可以将流量路由到不同服务实例的内部负载均衡器?

这有意义吗?
在此处输入图像描述

load-balancing amazon-web-services amazon-ecs aws-fargate
  • 1 个回答
  • 1717 Views
Martin Hope
kozlone
Asked: 2020-05-07 04:23:30 +0800 CST

如何在 AWS ECS 服务之间发送 HTTP 请求

  • 5

目前,我正在尝试弄清楚如何配置 ECS 服务之间的通信。我计划进行以下设置:

  1. 后端服务
  2. 前台服务
  3. 一个应用程序负载均衡器

我有以下选择:

  1. 为 ALB 配置 2 个目标组,并根据路径转发请求。例如,alb.amazonaws.com/backend/将请求转发给backend-target-group将请求提供给后端 ECS 任务的请求。
  2. 在每个 ECS 任务中运行一个脚本,该脚本将使用 AWS cli 和服务发现检索正在运行的任务的 IP 地址。不确定这是否可行,而且测试起来相对困难。

它们似乎都不是正确的方法。由于财务限制,我不想为每个服务使用单独的 ALB。我在想的是 ECS 服务的某种内部 DNS 名称。我检查了以下链接,但无法弄清楚如何将其应用于我的案例。

  • https://docs.aws.amazon.com/cloud-map/latest/dg/what-is-cloud-map.html
  • https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
  • https://aws.amazon.com/blogs/aws/amazon-ecs-service-discovery/
  • https://aws.amazon.com/blogs/compute/task-networking-in-aws-fargate/

相关问题: AWS ECS 容器通信

因此,理想情况下,我想要实现的是:为后端服务提供一个内部 DNS 名称,并将来自前端服务的请求发送到后端。

amazon-web-services amazon-ecs aws-fargate
  • 1 个回答
  • 2612 Views
Martin Hope
matthewatabet
Asked: 2020-04-21 12:03:43 +0800 CST

AWS API Gateway 到 Fargate,仅在请求运行时收费

  • 1

从以下链接,似乎可以从 API 网关调用 Fargate 任务: https ://aws.amazon.com/blogs/compute/introducing-amazon-api-gateway-private-endpoints/

但是,该任务是否必须 24/7 全天候运行才能正常工作?是否可以仅在命中端点时才运行任务?我有一些关键但很少使用的服务,我想让它们尽可能便宜。

我相信 Gateway + Lambda 也有类似的可能: https ://serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb/

但是,我喜欢使用 Docker 和 Fargate 带来的灵活性和易用性。

amazon-web-services docker aws-fargate amazon-lambda
  • 1 个回答
  • 542 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve