标签: aws-elb

我可以使用 AWS 自己的 ELB 证书进行 HTTPS/SSL 连接吗?

我知道您可以将自己的证书添加到域并将该域指向 AWS Elastic Load Balancer。就我而言,我没有域,但在与客户端 <-> 后端交谈时仍希望使用安全的 HTTPS/SSL 连接。是否可以直接启用 HTTPS 连接到 ELB,即不是使用http://some-random-url-here.eu-west-1.elb.amazonaws.com我想使用https://some-random-url-here.eu-west-1.elb.amazonaws.com

这意味着,AWS 需要为*.elb.amazonaws.com域提供证书。我记得至少很久以前这是可能的,但也许我的记忆不适合我,对吗?

certificate amazon-web-services aws-elb

4
推荐指数
1
解决办法
898
查看次数

当目标(后端)应用程序在同一 EC2 的多个端口上运行时的 AWS ELB

我有 2 个相同 Web 应用程序的实例在端口 8080 和 8081 上运行。我需要使用 ALB/CLB 进行负载平衡。这在旧的 apache Web 服务器中曾经是一件简单的事情。要求是对下面的实例进行负载平衡

实例 1 Web 应用程序 1 端口 8080

实例 1 Web 应用程序 2 端口 8081

实例 2 Web 应用程序 1 端口 8080

实例 2 Web 应用程序 2 端口 8081

我无法使用 ALB 执行此操作。我尝试创建 2 个目标组,一个用于端口 8080,另一个用于端口 8081。但在侦听器规则中,我可以根据路径将请求发送到不同的目标组。但这不会对整个站点进行负载平衡。参考截图

在此输入图像描述

我在这里有什么选择?

提前致谢

amazon-web-services aws-elb aws-alb

4
推荐指数
1
解决办法
3858
查看次数

通过AWS ELB的MongooseIM SSL连接

我在AWS的EC2实例中配置了docker-compose的MongooseIM服务器。

我打算通过以下方式通过端口5222(mongooseim的ejabberd_c2s模块)上的ELB(AWS)通过SSL访问某些移动客户端:

     SSL (Secure TCP) -> 5222 -> TCP -> 5222  (EC2 Instance Port)
Run Code Online (Sandbox Code Playgroud)

在ejabberd_c2s模块配置中,我具有以下内容:

    { 5222, ejabberd_c2s, [

                %%
                %% If TLS is compiled in and you installed a SSL
                %% certificate, specify the full path to the
                %% file and uncomment this line:
                %%
                {certfile, "priv/ssl/fake_server.pem"}, starttls,

                %%{zlib, 10000},
                %% https://www.openssl.org/docs/apps/ciphers.html#CIPHER_STRINGS
                %% {ciphers, "DEFAULT:!EXPORT:!LOW:!SSLv2"},
                {access, c2s},
                {shaper, c2s_shaper},
                {max_stanza_size, 65536},
                {protocol_options, ["no_sslv3"]}

               ]},
Run Code Online (Sandbox Code Playgroud)

但是客户无法连接,我在服务器上收到的唯一消息是:

    mongooseim_server_dev | 10:58:25.885 [info] (#Port<0.27608>) Accepted connection {{10,0,17,246},42571} -> {{172,18,0,2},5222}
    mongooseim_server_dev | 10:58:25.885 [debug] …
Run Code Online (Sandbox Code Playgroud)

erlang ssl amazon-web-services mongoose-im aws-elb

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

应用程序负载均衡器放置在 VPC 中的什么位置?

我的理解是\xe2\x80\x8b,CLB(经典负载均衡器)放置在子网中,因此我们为其配置安全组和NACL。

\n\n

但是,当涉及到ALB(应用程序负载均衡器)时,我们没有配置NACL(网络ACL)。为什么?从架构上讲,它位于 VPC 中的什么位置?

\n\n

作为延伸,NLB(网络负载均衡器)在架构上如何放置在 VPC 中?

\n\n

您能帮我可视化这些组件的部署吗?

\n

amazon-web-services aws-elb

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

验证AWS ECS FARGATE容器上的端到端加密

如何验证我的AWS FARGATE容器上是否已确保端到端加密的安全性?下面提到了方法:

Application负载均衡器正在侦听443。使用来自AWS Certificate Manager的证书。目标组的协议是端口8443上的HTTPS。运行状况检查协议也是HTTPS。Spring Boot应用程序在容器上运行的docker映像,主机/容器端口为8443。在应用程序的类路径中的PKCS12文件中具有相同的证书(其中包含证书和私钥)。Docker映像和应用程序的端口为8443。

当我点击应用程序URL时,它表示一个安全连接。我了解SSL卸载发生在ALB中的负载平衡器级别。但是,上述方法是否意味着已经实现了端到端加密?我该如何验证?

https amazon-web-services amazon-ecs aws-fargate aws-elb

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

如何在 Boto3 中正确创建并附加 ELB

我是亚马逊Boto3API 的新手。我创建了如下所示的示例架构的基本图,其中包含一个 ELB、4 个实例、2 个子网和 2 个不同可用区中的 2 个目标组(每个目标组中有 2 个实例)。

在此输入图像描述

我知道如何创建 EC2 实例、目标组、子网和 ELB。但我并不清楚要使用什么ELB功能。

如何将 ELB 连接到其他组件?基本上,如何向 ELB 添加实例?我不确定现在需要什么后续步骤和功能。

到目前为止,这是我的简单代码:

def create_load_balancer(load_balancer_name, vpcid, subnets, security_group):
    command = "aws elbv2 create-load-balancer --name " + load_balancer_name + " --subnets " + subnets + " --security-groups " + security_group+" --scheme internet-facing --type application"
    response = os.popen(command).read()

// ....created 4 instances, subnets, and security groups ...

//now ELB:
#Load Balancer
elb = boto3.client('elbv2')
elb.create_target_group( Name='boto3-target-a', Protocol='HTTP',  Port=80, VpcId=vpc.id)
elb.create_target_group( Name='boto3-target-b', Protocol='HTTP', …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services amazon-elb boto3 aws-elb

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

Elastic Beanstalk 运行状况严重,失败并显示代码 400 -- 即使我可以访问我的网站

我有一个在 Elastic Beanstalk 上运行的 Django 应用程序。我可以访问我的网站没问题example.com。我已经设置了自动 https 重定向,所以它总是指向 https。我已经设置好了,所以你不能查看站点example.elasticbeanstalk.com域——如果你去那里,你最终会得到响应代码 400。

我的自动缩放组是负载平衡的。我的应用程序未通过状态代码 400 的运行状况检查,即使我可以导航到我的站点,响应代码 200 没有问题。我的日志显示:

***amazon IP*** (-) - - [date] "GET / HTTP/1.1" 400 26 "-" "ELB-HealthChecker/2.0"

我猜这个错误要么来自

  1. 不允许连接在 example.elasticbeanstalk.com
  2. Haivng 自动 HTTP -> HTTPS 重定向(虽然我猜这会产生 302)

当健康检查 ping 一个站点时,它是在 ping 您的自定义域 ( example.com) 还是在pingelasticbeanstalk.com域?我能做些什么来解决这个问题或进一步诊断错误?我宁愿不允许elasticbeanstalk.com域中的流量,因为我认为我无法获得 SSL。

amazon-web-services amazon-elastic-beanstalk aws-elb

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

AWS 负载均衡器允许 URL 路径上的某些 IP 地址

目前,我在 AWS 上使用应用程序负载均衡器设置了一个应用程序,目标组中有 2 个 EC2:

DNS -> AWS-ALB -> EC2(2)

我需要帮助仅允许应用程序 URL 上下文路径上的某些 IP 地址。

例如:www.abc.com 应该可供所有人访问,但 www.abc.com/xyz 应该只能由某些 IP 地址访问。

我在 EC2 上尝试了 NGINX 解决方案,只有当我使用允许和拒绝规则直接访问 EC2 IP 时才有效。

reverse-proxy amazon-ec2 amazon-web-services aws-elb aws-alb

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

查询 elbv2 的 AWS cli 时使用通配符

我正在尝试获取某些 LoadBalancer 的 ARN,但我只知道 DNS 名称的前缀。

例如,aws elbv2 describe-load-balancers --query 'LoadBalancers[].DNSName[]'将打印我:

[
    "services-green-********.elb.eu-central-1.amazonaws.com",
    "services-blue-********.elb.eu-central-1.amazonaws.com"
]
Run Code Online (Sandbox Code Playgroud)

就像是

aws elbv2 describe-load-balancers --query "LoadBalancers[?DNSName=='services-green-*']"
Run Code Online (Sandbox Code Playgroud)

不起作用,因为不接受通配符,并且无法使用像 at ec2 命令这样的过滤器。

如何在不使用 jq 的情况下获取 ARN?

amazon-web-services aws-cli aws-elb

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

nginx keepalive 超时与 ELB 空闲超时与 proxy_read_timeout

我的请求流程如下所示Client -> AWS ELB -> Nginx -> Backend

后端响应某些请求需要很长时间,所以proxy_read_timeout设置为5分钟。但是,nginx 默认keepAliveTimeout为 70 秒,AWS ELBidleTimeout为 6 分钟。

AWS文档说要保持AWS的idleTimeout小于后端的keeplalive超时,在我的例子中是70秒。nginx 默认keepAliveTimeout值在哪里?

nginx aws-elb

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

为AWS APIGateway创建VPC链接时,“ NLB ARN格式错误”

我按照该教程创建了到我的私人Elb平衡器的VPC链接。 https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-api-with-vpclink-cli.html

但是它失败了,并收到错误消息“ statusMessage”:“ NLB ARN格式错误”。

我确实通过elbv2 cli找到了具有相同ARN的ELB,因此ARN必须是合法的。

我找不到解决问题的文件。有人可以帮助我吗?谢谢。

我所做的如下。

$ aws elbv2 describe-load-balancers --load-balancer-arns arn:aws:elasticloadbalancing:ap-northeast-1:846239845603:loadbalancer/app/v2-api-balancer/db49ab0ecaef1de8

{
"LoadBalancers": [
{
"Scheme": "internal",
"SecurityGroups": [
"sg-9282b8f4"
],
"LoadBalancerArn": "arn:aws:elasticloadbalancing:ap-northeast-1:846239845603:loadbalancer/app/v2-api-balancer/db49ab0ecaef1de8",
"State": {
"Code": "active"
},
"CreatedTime": "2017-10-18T04:27:28.780Z",
"VpcId": "vpc-dbe3f2be",
"DNSName": "internal-v2-api-balancer-988454399.ap-northeast-1.elb.amazonaws.com",
"AvailabilityZones": [
{
"SubnetId": "subnet-7642062e",
"ZoneName": "ap-northeast-1c"
},
{
"SubnetId": "subnet-c454fa8d",
"ZoneName": "ap-northeast-1b"
}
],
"IpAddressType": "ipv4",
"Type": "application",
"LoadBalancerName": "v2-api-balancer",
"CanonicalHostedZoneId": "Z14GRHDCWA56QT"
}
]
}
Run Code Online (Sandbox Code Playgroud)
$ aws apigateway create-vpc-link \ 
--name my-test-vpc-link-1 \
--target-arns "arn:aws:elasticloadbalancing:ap-northeast-1:846239845603:loadbalancer/app/v2-api-balancer/db49ab0ecaef1de8" 

{
"name": "my-test-vpc-link-1",
"targetArns": [ …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-api-gateway aws-vpc aws-elb

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

为什么 AWS 中的 NLB 不需要安全组?

在 AWS 中,在配置 CLB 和 ALB 类型的负载均衡器时,必须关联一个安全组。此关联有助于限制到负载均衡器的流量类型。为什么 NLB 不需要安全组?难道不是安全隐患?我知道这里最好的猜测可能是——“AWS 是这样设计的”,但他们的文档似乎没有解释省略 NLB 安全组配置的推理/优势。

amazon-web-services aws-elb aws-load-balancer

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

AWS Api Gateway 无法重写路径 - 400 错误请求错误

我正在尝试为以前由 nginx 反向代理处理的内容设置 AWS API 网关。我的端点是 VPC 内的 EC2 实例。我已经进行了设置,以便网关可以访问这些实例。

之前的 nginx 设置如下所示:


http {
    server {
        listen 80;

        location /host1/ {
            proxy_pass http://host1:8000/;
        }
        location /host2/ {
            proxy_pass http://host2:8070/;
        }
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试重写请求路径时出现问题。我在 Gateway: 中设置了一条测试路由ANY /test/{proxy+},并将其传递给相应的 EC2 实例。我已经验证,请求已通过,但它们包含请求的完整路径:

# machine 1:
curl -v 'https://<endpoint>.amazonaws.com/test/hello_world/test/a'
< HTTP/2 404 
< date: Sat, 18 Dec 2021 09:21:42 GMT
< content-type: text/html;charset=utf-8
< content-length: 469
< server: SimpleHTTP/0.6 Python/3.7.10
< apigw-requestid: Kic2FiLIFiAEN_g=
< 
--- response ---
# server:
192.168.9.6 - …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-api-gateway aws-elb

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