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 / 问题

问题[amazon-web-services](server)

Martin Hope
inf3rno
Asked: 2025-04-10 01:58:36 +0800 CST

在同一终端节点上使用 AWS EC2 和 Lambda 处理请求

  • 5

我将问题简化为以下示例。我们有两种 XML 请求类型:<data1>some-data</data1>和 ,<data2>other-data</data2>它们都到达同一个端点,例如POST https://example.com/my-endpoint。我们希望data1分别使用 AWS Lambda Node.js 和data2AWS EC2 Apache + PHP 进行服务。这该如何实现?

amazon-web-services
  • 1 个回答
  • 15 Views
Martin Hope
Shobhana Sriram
Asked: 2025-03-28 13:43:28 +0800 CST

GCP 到 AWS DNS 迁移不影响生产

  • 5

这是对此处提出的问题的补充:GCP 到 AWS Hosted Zone 迁移

我已经从 GCP 导出 DNS 记录并将其导入 AWS。我还保留了 GCP 中的条目,以确保到达 GCP Clod DNS 的任何请求仍将得到解析。我已更新 DNS 注册商以将 NS 记录指向 AWS。但是,在此更改之后,我们的一些用户无法访问我们的服务器。我们的许多用户都可以访问服务器,但有些用户无法访问。可能是什么原因?

a) 在 AWS 中导入记录之后,在我更改注册商中的条目之前,是否应该留出一些时间?

b) 有没有一种安全的方法来检查 DNS 传播是否完成?我使用https://www.whatsmydns.net/进行了检查,我发现全世界的所有名称服务器都能够解析我的域名。但由于我们的一些用户抱怨,我不得不撤销在我的注册商中所做的更改。

如有任何提示我将不胜感激。

amazon-web-services
  • 2 个回答
  • 79 Views
Martin Hope
davejagoda
Asked: 2025-02-27 11:31:39 +0800 CST

AWS 证书颁发者 CN=Amazon RSA 2048 M02 与 M03 之间有什么区别?

  • 5

一些 AWS 证书具有此颁发者:

issuer=C=US, O=Amazon, CN=Amazon RSA 2048 M02

其他人有这个:

issuer=C=US, O=Amazon, CN=Amazon RSA 2048 M03

它们之间有什么区别?

amazon-web-services
  • 1 个回答
  • 81 Views
Martin Hope
UncleBob
Asked: 2025-02-11 00:30:44 +0800 CST

SEO、顶级域名交付和云端

  • 6

我们有一个 Web 服务,其前端被拆分为多个应用程序,由云端端点提供。这些应用程序目前都有自己的子域,例如 service-a.mydomain.com、service-b.mydomain.com 等。

然而,如今子域名几乎对谷歌如何建立域名权威没有影响,域名权威已经成为 SEO 的圣杯。因此,为了搜索引擎优化的目的,我们希望将所有内容移至顶级域名中的路径。因此,之后应该是 mydomain.com/service-a、mydomain.com/service-b 等。

显然,这似乎需要一个代理,如 API 网关或类似的东西,来路由所有内容。问题是……如果所有内容都通过同一个代理,那么 cloudfront(或任何其他 CDN)的主要优势就几乎消失了。当然,你可以在代理后面运行它,但你只有一个缓存。再见边缘位置。那时,将缓存放在代理本身中确实更有意义。

所以我的问题是,如果我不能为每个端点提供自己的子域,是否还有某种方法可以利用 Cloudfront 边缘位置?或者这种域设计方式是否只需要放弃 CDN 的优势?

amazon-web-services
  • 1 个回答
  • 35 Views
Martin Hope
Ali
Asked: 2024-12-15 17:29:37 +0800 CST

AWS ECS 计划任务日志未显示在 CloudWatch 中

  • 5

我有一个 ECS 集群(在 Fargate 上1.4.0),其中包含许多任务和服务,它们都登录到 Cloudwatch,一切正常。我有几个 ECS 计划任务(通过 EventBridge),我知道它们会按预期在计划时间运行。我知道这一点是因为 a) 我可以在 EventBridge 规则监控选项卡中看到它,并且 b) 计划任务之一的工作是发送电子邮件,我收到了该电子邮件。那么它正在运行,但不会像其他任务一样登录到 CloudWatch 吗?

在我开始故障排除步骤之前,让我给你提供更多见解:

在每个任务定义中,我都有这个日志块:

logConfiguration = {
  logDriver = "awslogs"
  options = {
    awslogs-group         = aws_cloudwatch_log_group.ecs_log_group.name
    awslogs-region        = "us-east-1"
    awslogs-stream-prefix = "prod-cron-engage"
  }
}

我知道那里的一切都是正确的,因为我的其他未安排的任务(通过服务全天候运行)都已成功记录在那里。

每个任务都有以下两个参数:

execution_role_arn       = aws_iam_role.ecs_task_execution_role.arn
task_role_arn            = aws_iam_role.ecs_task_execution_role.arn

这些都是:

resource "aws_iam_role" "ecs_task_execution_role" {
  name = "ecsTaskExecutionRole"

  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = "sts:AssumeRole"
        Effect = "Allow"
        Principal = {
          Service = "ecs-tasks.amazonaws.com"
        }
      }
    ]
  })

  tags = {
    "Name" = "${var.name_prefix}-iam-ecs-role"
  }
}

resource "aws_iam_role_policy_attachment" "ecs_task_execution_role_policy" {
  role       = aws_iam_role.ecs_task_execution_role.name
  policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy"
}

其中AmazonECSTaskExecutionRolePolicy,有针对 ECS 的基本策略,包括访问 CloudWatch。

另外,这是我的事件桥规则:

resource "aws_cloudwatch_event_rule" "prod_cron_engage_rule" {
  name                = "prod-engage-rule"
  description         = "Run Prod Engage task every 30 minutes."
  schedule_expression = "rate(30 minutes)"
}

resource "aws_cloudwatch_event_target" "prod_cron_engage_target" {
  target_id = "run-prod-engage-task-every-half-an-hour"
  rule      = aws_cloudwatch_event_rule.prod_cron_engage_rule.name
  arn       = aws_ecs_cluster.ecs_cluster.arn
  role_arn  = aws_iam_role.eventbridge_role.arn

  ecs_target {
    task_definition_arn = aws_ecs_task_definition.prod_cron_engage_task.arn
    task_count          = 1
    launch_type         = "FARGATE"
    network_configuration {
      subnets          = module.vpc.private_subnets
      security_groups  = [aws_security_group.ecs_sg.id]
      assign_public_ip = false
    }
    tags = {
      "Name" = "${var.name_prefix}-ecs-prod-cron-engage"
    }
  }
}

以下是 EventBridge 角色和策略:

resource "aws_iam_role" "eventbridge_role" {
  name = "eventbridge-ecs-role"
  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = "sts:AssumeRole"
        Principal = {
          Service = "events.amazonaws.com"
        }
        Effect = "Allow"
        Sid    = ""
      }
    ]
  })
}

resource "aws_iam_role_policy" "eventbridge_policy" {
  name = "eventbridge-ecs-policy"
  role = aws_iam_role.eventbridge_role.id
  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = "ecs:RunTask"
        Effect = "Allow"
        Resource = [
          aws_ecs_task_definition.prod_cron_engage_task.arn
        ]
      },
      {
        Action   = "iam:PassRole"
        Effect   = "Allow"
        Resource = aws_iam_role.eventbridge_role.arn
      }
    ]
  })
}

我到目前为止做了什么?

  1. 起初,我以为也许存在某种限制规则,拒绝这些计划任务访问 CloudWatch(不太可能,但我想既然它们现在已通过 EventBridge 进行安排,也许这是可能的),所以我授予 ECS 和 EventBridge 完全的 CloudWatch 访问权限。什么都没有改变。

  2. 我尝试创建一个具有这些广泛权限的新日志组,并查看任务是否可以创建该新日志组。新日志组不存在,因此无法通过任务定义创建日志组。

amazon-web-services
  • 1 个回答
  • 78 Views
Martin Hope
davejagoda
Asked: 2024-12-12 03:08:16 +0800 CST

AWS SCIM 错误消息正则表达式

  • 6

此错误出现在日志文件中(略微格式化以便于阅读):

StatusCode: 400 : Bad Request : {
  schema :[ urn:ietf:params:scim:api:messages:2.0:Error ]
  schemas :[ urn:ietf:params:scim:api:messages:2.0:Error ]
  detail : 1 validation error detected:
  Value at 'phoneNumbers.1.value' failed to satisfy constraint:
  Member must satisfy regular expression pattern:
  [\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r   ]+
}

这可能是由于电话号码的格式如下:

+1 (212) 555-1212

而不是以下格式之一:

12125551212
+1.212.555.1212

如何解释这个正则表达式来证实这一点?

amazon-web-services
  • 2 个回答
  • 152 Views
Martin Hope
samnoon
Asked: 2024-12-08 14:08:52 +0800 CST

ECS Fargate 中的弹性 IP 设置

  • 5

我想为我的 ECS Fargate 服务添加一个静态 IP。我目前能够使用网络负载均衡器设置弹性 IP,但我不想添加任何负载均衡器。

  • 为什么AWS 知识中心建议使用网络负载均衡器为 Fargate 服务分配弹性 IP?
  • 在不使用负载均衡器的情况下,有哪些方法可以向我的 Fargate 服务添加静态弹性 IP?
amazon-web-services
  • 1 个回答
  • 22 Views
Martin Hope
Bharat D Bhadresha
Asked: 2024-11-14 17:07:48 +0800 CST

为什么实例启动需要超过 42 分钟?

  • 5

我有一个扩展组 (ASG),用于使实例为执行任务做好准备。需要时,实例会与 ASG 分离,并且 ASG 会在需要时启动另一个实例。

实例类型为 c6g.4xlarge。操作系统为 ubuntu 22.04

下面是显示启动时间的日志。

systemd[1]: Startup finished in 4.850s (kernel) + 42min 16.004s (userspace) = 42min 20.854s.

我可以看到多个这样的失败的 SSM 日志

ERROR [Registrar] failed to register identity: error calling RegisterManagedInstance API: RequestError: send request failed
caused by: Post "https://ssm.us-xxxx-x.amazonaws.com/": dial tcp xx.xx.xx.xx:xx: i/o timeout
INFO [Registrar] sleeping for 18.7 minutes before retrying registration

这种情况只发生在百分之几的情况下,我无法找出其中的规律。

amazon-web-services
  • 1 个回答
  • 100 Views
Martin Hope
Ni La
Asked: 2024-10-28 05:04:34 +0800 CST

我可以终止这个实例吗?

  • 7

我有一个应用程序,我正在使用 AWS 来运行它。我有两个实例。一个已停止,一个正在运行。每个实例都附加了一个卷。我想终止已停止的实例,但我想确保它不会影响应用程序。我的假设是,已停止的实例不会影响应用程序,因为它已停止。

我目前还没有做任何事情,因为我不想弄乱这个应用程序。

amazon-web-services
  • 1 个回答
  • 405 Views
Martin Hope
root69
Asked: 2024-10-04 13:46:55 +0800 CST

AWS 应用程序负载均衡器将流量发送到不健康的目标组

  • 6

我有 3 个实例(node-0,, )运行 2node-1个node-2服务 - 一个是 a websocket,另一个是 an API(两个服务在每个实例中运行)。

目标群体设置:

目标群体 实例 健康检查路径
api-节点-0 节点-0 /某些路径/api/v1/ping
api-节点-1 节点 1 /某些路径/api/v1/ping
api-节点-2 节点2 /某些路径/api/v1/ping
websocket-节点-0 节点-0 /某些路径/websocket/v1/ping
websocket-节点-1 节点 1 /某些路径/websocket/v1/ping
websocket-节点-2 节点2 /某些路径/websocket/v1/ping

听众和规则:

HTTPS:443 监听器

规则:

api

  • 条件:路径/some-path/api/*
  • 行动:转发给目标群体:
    • api-节点-0 (33.33%)
    • api-节点-1 (33.33%)
    • API 节点-2 (33.33%)
    • 粘性:关闭

网络套接字

  • 条件:路径/some-path/websocket/*
  • 行动:转发给目标群体:
    • websocket-节点-0 (33.33%)
    • websocket-节点-1 (33.33%)
    • websocket-节点-2 (33.33%)
    • 粘性:关闭

默认

  • 条件:无其他规则适用
  • 行动:转发给目标群体:
    • api-节点-0 (100%)

健康检查属性:

  • 间隔:30秒
  • 超时:5 秒
  • 健康阈值:2
  • 不健康阈值:2
  • 健康阈值:连续2次健康检查成功
  • 不健康阈值:连续 2 次健康检查失败
  • 成功代码:200

负载均衡器属性:

  • HTTP 客户端保持连接时长:3600 秒
  • 连接空闲超时:60 秒
  • X-Forwarded-For 标头:附加
  • 跨区域负载均衡:开启

PS如果您需要有关设置的更多信息,请告诉我。

在所有目标组都健康的正常测试期间,ALB 似乎按预期运行。当我想模拟一个节点上的服务之一变得不健康的情况时,问题出现了,我更改了 ie 的运行状况检查路径api-node-1,它显示为不健康(Error 404),但流量仍在发送到它。通过访问日志和 CloudWatch 指标(RequestCountPerTarget)确认。我还尝试模拟不健康的组,通过从实例中删除相关安全组来阻止 ALB 的访问。(Error 400)

测试方法(针对不健康目标组):使用 curl(10-20 次)或 Grafana k6 负载测试并在访问日志和 Cloudwatch 中监控流量 - 流量仍然被路由到所有实例,其中一个实例显示为不健康。

您可以在此处找到讨论此问题的另一个问题的链接。

amazon-web-services
  • 1 个回答
  • 82 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

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve