标签: amazon-web-services

如何在 Amazon EC2 上部署可扩展、可靠的 haproxy 集群?

我们需要一些比 ELB 提供的更高级的功能(主要是 L7 检查),但是如何使用 EC2 使用诸如 haproxy 之类的东西来处理诸如心跳和高可用性之类的事情并不明显。我们很有可能在集群中需要 3 个或更多 haproxy 节点,因此两个节点之间的简单心跳是行不通的。

似乎在 haproxy 节点前面有一个心跳层是可行的方法,可能使用 IPVS,但是随着 EC2 集群的变化处理配置更改(通过有意的更改,如扩展,或无意的,如丢失EC2 节点)似乎很重要。

优选地,该解决方案将跨越至少两个可用区。

回答问题:不,会话没有粘性。是的,我们需要 SSL,但理论上这可以完全由另一个设置处理 - 我们能够将 SSL 流量定向到与非 SSL 流量不同的位置。

load-balancing heartbeat haproxy amazon-ec2 amazon-web-services

26
推荐指数
1
解决办法
1万
查看次数

如何将 AWS 中的 VPC 设置为“默认 VPC”= true?

我在 AWS 中设置了一个 VPC,但默认 VPC 设置为“false”。

如何将其更改为 true,并使其成为默认 VPC?

amazon-web-services

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

用于 AWS Amazon ELB 运行状况检查的 Nginx 解决方案 - 不带 IF 返回 200

我有以下代码在 Nginx 上工作,以保持 AWS ELB 健康检查。

map $http_user_agent $ignore {
  default 0;
  "ELB-HealthChecker/1.0" 1;
}

server {
  location / {
    if ($ignore) {
      access_log off;
      return 200;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道 Nginx 最好避免使用“IF”,我想问一下是否有人会知道如何在没有“if”的情况下重新编码?

谢谢你

nginx amazon-ec2 amazon-web-services amazon-elb

26
推荐指数
3
解决办法
3万
查看次数

是否可以将 AWS 用户/账户限制在特定区域?

我们在 eu-west-1 区域运行多项 AWS 服务。不幸的是,我们的很多开发人员和其他需要创建临时资源的员工似乎都忘记了 AWS 的这一方面,并​​且在启动 EC2 实例、创建 S3 存储桶等之前没有选择该区域。因此,他们经常会在us-east-1 区域,因为这似乎是 AWS 始终使用的默认值。

有没有办法通过 IAM(或其他方式)来限制用户帐户只能在特定区域内启动/创建事物?

amazon-web-services amazon-iam

26
推荐指数
3
解决办法
3万
查看次数

缩小 Amazon EBS 卷大小

我已经看到了这个关于 EBS 卷增长的答案,但我想缩小一个。

默认的 Ubuntu Server 映像是 15 GB,而我最多只需要 2 GB(我使用不同的数据卷)。有没有办法缩小卷的大小?

amazon-ebs amazon-web-services

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

如何在 AWS Elastic Beanstalk 上向 php.ini 添加指令?

我想将这些 PHP 设置添加到我的 Elastic Beanstalk 环境中:

upload_max_filesize = 64M
post_max_size = 64M
Run Code Online (Sandbox Code Playgroud)

这些选项无法设置option_settings.ebextensions

Namespace                                    | Extend
---------------------------------------------|-------
aws:elasticbeanstalk:application:environment | Yes
aws:elasticbeanstalk:container:php:phpini    | No
Run Code Online (Sandbox Code Playgroud)

如何php.ini在 Elastic Beanstalk 容器中添加自定义设置?

php amazon-web-services elastic-beanstalk

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

kworker 消耗 +90% IO 和零磁盘写入

这是 AWS Linux AMI + EBS 上的标准 apache Web 服务器。我们注意到高平均负载 (+8) 并iotop -a显示:

Total DISK READ: 0.00 B/s | Total DISK WRITE: 2.37 M/s

  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND             
 3730 be/4 root          0.00 B      0.00 B  0.00 % 91.98 % [kworker/u8:1]
  774 be/3 root          0.00 B   1636.00 K  0.00 % 15.77 % [jbd2/xvda1-8]
 3215 be/4 apache        0.00 B     40.39 M  0.00 %  0.88 % httpd
 3270 be/4 apache        0.00 B     38.20 M  0.00 …
Run Code Online (Sandbox Code Playgroud)

linux io amazon-web-services apache-2.2

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

Amazon ECS (Docker):将容器绑定到特定 IP 地址

我正在使用 Amazon ECS(Docker 的重新打包),我发现 ECS 似乎没有提供一项 Docker 功能。即,我希望在一个实例中运行多个容器,并将进入 IP 地址 1 的请求映射到容器 1,进入 IP 地址 2 的请求映射到容器 2,等等。

在 Docker 中,将容器绑定到特定 IP 地址是通过以下方式完成的:

docker run -p myHostIPAddr:80:8080 imageName command
Run Code Online (Sandbox Code Playgroud)

但是,在 Amazon ECS 中,似乎没有办法做到这一点。

我已经设置了一个具有多个弹性 IP 地址的 EC2 实例。将容器配置为任务定义的一部分时,可以将主机端口映射到容器端口。但是,与 Docker 不同的是,ECS 不提供将主机 IP 地址指定为映射的一部分的方法。

另一个转折点是我希望来自容器 N 的出站请求具有容器 N 的外部 IP 地址。

有没有办法做到以上所有?

我浏览了 AWS CLI 文档以及适用于 Java 的 AWS 开发工具包。我可以看到 CLI 可以返回一个包含如下元素的 networkBindings 数组:

{
  "bindIP": "0.0.0.0", 
  "containerPort": 8021, 
  "hostPort": 8021
},
Run Code Online (Sandbox Code Playgroud)

Java SDK 有一个名为 NetworkBinding 的类,表示相同的信息。但是,此信息似乎仅用于输出,以响应请求。我找不到向 ECS 提供此绑定信息的方法。

我想这样做的原因是我想为不同的选区设置完全不同的 VM,在同一个 …

amazon-web-services docker amazon-ecs

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

将域名分配给 AWS Fargate 任务

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

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

任何帮助将非常感激。

谢谢

amazon-web-services amazon-ecs

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

AWS EC2 和 build-essential

我正在尝试在 Amazon EC2 上编译 Node.js,但我什至无法安装“build Essential”。问题出在哪里?

谢谢。


sudo yum install build-essential
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
(...)
No package build-essential available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)
./configure
Checking for program g++ or c++          : not found 
Checking for program icpc                : not found 
Checking for program c++                 : not found 
error: could not configure a cxx compiler!
Run Code Online (Sandbox Code Playgroud)

无法配置 cxx 编译器!

amazon-ec2 amazon-web-services

24
推荐指数
4
解决办法
3万
查看次数