我们需要一些比 ELB 提供的更高级的功能(主要是 L7 检查),但是如何使用 EC2 使用诸如 haproxy 之类的东西来处理诸如心跳和高可用性之类的事情并不明显。我们很有可能在集群中需要 3 个或更多 haproxy 节点,因此两个节点之间的简单心跳是行不通的。
似乎在 haproxy 节点前面有一个心跳层是可行的方法,可能使用 IPVS,但是随着 EC2 集群的变化处理配置更改(通过有意的更改,如扩展,或无意的,如丢失EC2 节点)似乎很重要。
优选地,该解决方案将跨越至少两个可用区。
回答问题:不,会话没有粘性。是的,我们需要 SSL,但理论上这可以完全由另一个设置处理 - 我们能够将 SSL 流量定向到与非 SSL 流量不同的位置。
load-balancing heartbeat haproxy amazon-ec2 amazon-web-services
我在 AWS 中设置了一个 VPC,但默认 VPC 设置为“false”。
如何将其更改为 true,并使其成为默认 VPC?
我有以下代码在 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”的情况下重新编码?
谢谢你
我们在 eu-west-1 区域运行多项 AWS 服务。不幸的是,我们的很多开发人员和其他需要创建临时资源的员工似乎都忘记了 AWS 的这一方面,并且在启动 EC2 实例、创建 S3 存储桶等之前没有选择该区域。因此,他们经常会在us-east-1 区域,因为这似乎是 AWS 始终使用的默认值。
有没有办法通过 IAM(或其他方式)来限制用户帐户只能在特定区域内启动/创建事物?
我已经看到了这个关于 EBS 卷增长的答案,但我想缩小一个。
默认的 Ubuntu Server 映像是 15 GB,而我最多只需要 2 GB(我使用不同的数据卷)。有没有办法缩小卷的大小?
我想将这些 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 容器中添加自定义设置?
这是 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) 我正在使用 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,在同一个 …
我有一个 AWS Fargate 任务在公共子网中运行 Web 应用程序,因此它有一个公共地址。我的问题是如何将域(通过 Route 53)连接到该任务,以便在部署它的新版本时不会中断。
任何帮助将非常感激。
谢谢
我正在尝试在 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 ×3
amazon-ecs ×2
amazon-ebs ×1
amazon-elb ×1
amazon-iam ×1
apache-2.2 ×1
docker ×1
haproxy ×1
heartbeat ×1
io ×1
linux ×1
nginx ×1
php ×1