gpt4 book ai didi

amazon-web-services - AWS在VPC中通过ELB连接EC2,如何配置?

转载 作者:行者123 更新时间:2023-12-03 07:44:05 27 4
gpt4 key购买 nike

我是 AWS 新手,我正在尝试使用 Cloudformation 模板来拥有一个工作堆栈。我的想法是使用 EC2 作为网络服务器,建立一个静态的 hello world html 页面,该页面无法从外部访问,只能通过 ELB(面向互联网)访问。全部位于 VPC 中。我已经部署了一个堆栈,但仍然无法工作,我想这取决于网络配置。我该如何设置?

从 awslabs 的示例开始,并遵循每个资源的 Cloudformation 文档,我创建了一个 yaml 模板并部署了堆栈。

这里只是 EC2 和 ELB 配置

  MYInstance1:
Type: AWS::EC2::Instance
Properties:
DisableApiTermination: 'false'
InstanceInitiatedShutdownBehavior: stop
ImageId: ami-70edb016
InstanceType: t2.micro
Monitoring: 'false'
UserData:
Fn::Base64:
!Sub |
#!/bin/bash
yum update -y
yum install -y httpd24
service httpd start
chkconfig httpd on
groupadd www
usermod -a -G www ec2-user
chown -R root:www /var/www
chmod 2775 /var/www
find /var/www -type d -exec chmod 2775 {} +
find /var/www -type f -exec chmod 0664 {} +
echo '<html><head><title>Test</title></head><body><p>Hello world!</p></body></html>' > /var/www/html/demo.html
Tags:
- Key: environment
Value: demo-test
NetworkInterfaces:
- AssociatePublicIpAddress: 'true'
DeleteOnTermination: 'true'
Description: Primary network interface
DeviceIndex: 0
SubnetId: !Ref 'PublicSubnetA'
GroupSet: [!Ref 'MYSGapp']

MYelb:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
Subnets: [!Ref 'PublicSubnetB']
Instances: [!Ref 'MYInstance1']
SecurityGroups: [!Ref 'MYSGELB']
Listeners:
- LoadBalancerPort: '80'
InstancePort: '80'
Protocol: HTTP
HealthCheck:
HealthyThreshold: '2'
Interval: '15'
Target: TCP:443
Timeout: '5'
UnhealthyThreshold: '2'

您可以在此处找到包含我当前配置的完整模板:

https://pastebin.com/PjDtiwfC

查看控制台,我对 ACL 和路由有点困惑。

我希望能够在 ELB-Public-DNS.com/demo.html 上看到 html 页面。

有关我现在所在位置的更多详细信息:CloudFormation 启动正常,服务器正在运行。我尝试打开 Ec2 安全组入站规则中的所有流量,EC2 DNS/demo.html 实际上显示了该页面。但我需要通过 ELB DNS 而不是 EC2 访问它。从 ELB 界面中,我看到该实例已 OutOfService,因为它未通过 UnhealthyTreshold。在 EC2 安全组中,我已设置来自 ELB 安全组的入站规则 TCP 80 和 443,但仍然无法正常工作。

最佳答案

您已将负载均衡器运行状况检查配置为使用端口 443,但您似乎未在 EC2 服务器上安装 SSL 证书。您可以直接访问 EC2 服务器的 HTTPS URL 吗?

您可能希望使用 Amazon Certificate Manager 服务获取 SSL 证书并将其安装在负载均衡器上,在这种情况下,您的 EC2 服务器将永远不会有 SSL 证书,并且永远不会监听端口 443,所以需要将健康检查端口更改为80

关于amazon-web-services - AWS在VPC中通过ELB连接EC2,如何配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56754160/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com