小编M. *_*tki的帖子

将域名分配给 AWS Fargate 任务

我有一个 AWS Fargate 任务在公共子网中运行 Web 应用程序,因此它有一个公共地址。我的问题是如何将域(通过 Route 53)连接到该任务,以便在部署它的新版本时不会中断。

  • 我知道我可以使用 ALB/NLB,但我想节省成本。
  • 我不想直接使用公共 IP,因为它可能会改变。
  • 我认为该解决方案必须对 ENI 执行某些操作,但我不确定如何通过 Route 53 指向它。

任何帮助将非常感激。

谢谢

amazon-web-services amazon-ecs

25
推荐指数
2
解决办法
2万
查看次数

如何验证 AWS VPC (S3) 端点是否有效?

我使用 CloudFormation 向我的 VPC 添加了一个 VPC 端点,并允许使用 s3。这些路由在 AWS 控制台中可见,但在 EC2 实例的本地路由表中不可见:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.29.4.129    0.0.0.0         UG    0      0        0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
172.29.4.128    0.0.0.0         255.255.255.128 U     0      0        0 eth0
Run Code Online (Sandbox Code Playgroud)

如何验证 VPC 中的 EC2 实例实际上使用 S3 的 VPC 终端节点,而不是可用的互联网连接?

routing amazon-s3 amazon-ec2 amazon-web-services amazon-vpc

15
推荐指数
4
解决办法
2万
查看次数

如何将 Route 53 设置为指向 Api Gateway

我正在编写一个 Cloudformation 配置文件来一次性创建一个网站。这包括创建 lambda 函数、创建 API 网关、设置 S3 存储桶、创建 Route 53 区域和记录。

迄今为止:

  • 创建 Lambda 函数及其角色(有效)
  • 创建 API Gateway 它的部署和它的角色(工作)
  • 创建 S3 存储桶及其策略(有效)
  • 为站点创建 Route 53 区域和 DNS 记录(有效)
  • 为 API Gateway 创建域(不知道我在做什么)

因此,domain.com可以毫无问题地提供 S3 存储桶中的文件。将 AWS URI 用于 API Gateway 可以https://trydsoonjc.execute-api.us-west-2.amazonaws.com/app/path/here毫无问题地工作。

我想要设置的是api.domain.com指向 API 网关以访问服务器的 API。

如何将 Route 53 连接到 API Gateway?

我现在的 Cloudformation 是这样的:

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description" : "Website",

  "Parameters": {
    "DomainName": {
      "Type" : "String",
      "Description" : "The DNS name of …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudformation amazon-api-gateway

13
推荐指数
1
解决办法
7768
查看次数

高可用性堡垒主机 - 最佳实践、ELB、EIP?

我目前正在尝试找出一个好的配置来使堡垒主机高度可用。我想达到以下目标:

  1. 堡垒主机需要能够承受可用区故障和 ec2 实例故障。短暂的停机时间(几分钟)可能是可以接受的。
  2. 堡垒主机需要可通过永久 DNS 条目访问。
  3. 无需人工干预

我目前的设置如下:堡垒主机在两个可用区的 Auto Scaling 组中,ELB 在 Auto Scaling 组前面。

这种设置有几个优点:

  • 使用 CloudFormation 轻松设置
  • 可以使用两个 AZ 上的 Auto Scaling 组来保证可用性
  • 不计入账户 EIP 限制

它也有一些缺点:

  • 在 ELB 后面有两个或更多堡垒主机时,SSH 主机密钥警告很常见,我不希望我们的用户习惯于忽略 SSH 警告。
  • ELB 需要花钱,而不是 EIP。实际上和堡垒主机差不多。这并不是什么大问题,我添加这一点只是为了完整起见。

另一个明显的解决方案是使用 ElasticIP,在我看来,它有一些缺点:

  • 我可以(显然)不直接将 EIP 附加到 Auto Scaling 组
  • 当不使用 Auto Scaling Groups 时,如果旧的主机失败,我必须放置一些东西来启动新的 EC2 堡垒主机,例如使用 AWS Lambda。这增加了额外的复杂性。
  • 当 EIP 手动附加到 Auto Scaling 组时,在可用区失败时,EIP 将被取消附加并且不会重新附加到新实例。同样,这可以通过运行将 EIP 重新附加到实例的程序(在实例或 AWS Lambda 上)来解决。这再次增加了额外的复杂性。

高可用性 SSH 实例(即堡垒主机)的最佳实践是什么?

high-availability amazon-ec2 amazon-web-services amazon-elastic-ip amazon-elb

6
推荐指数
1
解决办法
4070
查看次数

AWS Fargate 任务未通过 ELB 运行状况检查

我该如何进一步排除故障?我正在尝试运行一个简单的 nginx 容器,但负载平衡器抱怨运行状况检查失败并且任务没有响应其 ip 号,可能是因为负载平衡器出错。

我在 cloudformation 中将任务的优先级设置为 2。如果我尝试将优先级设置为 1,则 CF 堆栈将无法部署。能跟这有关系吗?

# Create a rule on the load balancer for routing traffic to the target group
  LoadBalancerRule:
    Type: AWS::ElasticLoadBalancingV2::ListenerRule
    Properties:
      Actions:
        - TargetGroupArn: !Ref 'TargetGroup'
          Type: 'forward'
      Conditions:
        - Field: path-pattern
          Values: [!Ref 'Path']
      ListenerArn: 
        Fn::ImportValue: !Ref LoadBalancerListener
      Priority: !Ref 'Priority'
Run Code Online (Sandbox Code Playgroud)

资源看起来像:

Resources:

  # The task definition. This is a simple metadata description of what
  # container to run, and what resource requirements it has.
  TaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-elb amazon-cloudformation aws-fargate

6
推荐指数
1
解决办法
7032
查看次数

ECS 停止的任务不释放端口

我有一个带有 ELB 的 ECS 集群。昨晚我看到一个任务卡在重启循环中。从服务事件日志中,它说:

“服务 xxxxx 无法放置任务,因为没有容器实例满足其所有要求。最匹配的容器实例 xxxxxxxxxxxxxx 已经在使用您的任务所需的端口。”

但是,我已经检查过所有此类任务都已停止,并且当时不应使用该端口。更新服务无助于创建新的任务定义,然后更新有帮助。终止实例并允许 ELB 重新启动它会有所帮助。

知道为什么该服务无法保护任务的端口吗?

在此处输入图片说明

amazon-web-services amazon-ecs amazon-alb

5
推荐指数
1
解决办法
520
查看次数

对 Amazon S3 存储桶的未经授权的请求

我开发了一个开源库并将其资产托管在 Amazon S3(CSS、JS)上,这些文件在演示中通过 URL 使用,例如:(http://my_bucket_name.s3.amazonaws.com/some-file.js我的错,我知道)。未经我的许可,一些网站开始热链接这些文件。

有一段时间没问题,但最近几个大型 NSFW 站点热链接它,我在一个月内收到了数千万个 GET 请求。所以我删除/移动了这些文件,但我仍然收到很多返回 403 错误的 GET 请求,亚马逊将它们记为有效请求(请参阅费用详细信息部分)。

  • 我尝试联系盗链我的图书馆的网站,但从未得到任何回复。
  • 我担心如果我删除存储桶“my_bucket_name”,其他人可能会使用相同的名称创建它并热链接恶意 JS 文件。

我应该怎么做才能避免因我没有提出的错误请求而被收费?

amazon-s3 amazon-web-services

5
推荐指数
1
解决办法
737
查看次数