通过ELB访问AWS EC2实例

2024-06-26

我试图在弹性负载均衡器下设置两个实例,但无法弄清楚应该如何通过负载均衡器访问这些实例。

我已经使用安全组设置了实例,以允许从任何地方访问某些端口。我可以使用“公共 DNS”(publicdns) 主机名和端口 PORT 直接访问实例:

http://[publicdns]:PORT/

负载均衡器包含两个实例,它们都处于“服务中”状态,并且将端口 (PORT) 转发到实例上的同一端口。

但是,如果我要求

http://[dnsname]:PORT(其中 dnsname 是为 ELB 列出的 A 记录)

它不连接到实例(连接超时)。

这不是使用负载均衡器的正确方法,还是我需要执行任何操作才能允许访问负载均衡器?与负载均衡器相关的安全组唯一提及的是restrict仅访问负载均衡器的实例,但我不希望这样。我也希望能够单独访问它们。

我确信有一些简单而愚蠢的事情我已经忘记了,没有意识到或做错了:P

干杯, 斯文德。


添加了额外信息:

负载均衡器的端口配置如下所示(实际上是 3 个端口):

10060 (HTTP) 转发到 10060 (HTTP) 粘性:禁用(编辑)

10061 (HTTP) 转发到 10061 (HTTP) 粘性:禁用(编辑)

10062 (HTTP) 转发到 10062 (HTTP) 粘性:禁用(编辑)

它使用标准/默认 elb 安全组 (amazon-elb-sg)。

这些实例有两个安全组。一个外部看起来像这样:

22 (SSH)          0.0.0.0/0
10060 - 10061 0.0.0.0/0
10062             0.0.0.0/0

一个是内部的,允许内部组内的任何内容在所有端口上进行通信:

0 - 65535 sg-xxxxxxxx(安全组 ID)

不确定它有什么区别,但实例是 m1.small 类型的图像 ami-31814f58。


可能相关的事情:

我的运行状况检查曾经是 HTTP:PORT/,但负载均衡器一直说实例“停止服务”,尽管我似乎在该端口上的请求上收到了 200 响应。

然后我将其更改为 TCP:PORT,然后更改为“正在服务”。

是否应该为 HTTP 返回一些非常具体的内容,或者只是需要一个 HTTP 200 响应? ...它不起作用的事实是否暗示了为什么负载平衡本身也不起作用?


听起来您已正确设置所有内容。它们与实例进入负载均衡器的端口相同吗?或者您是否将请求转发到另一个端口?

顺便说一句,当我配置负载均衡器时,我通常不喜欢在任何端口上向公​​众开放我的实例。我只允许负载均衡器向这些实例发出请求。我过去注意到很多人会向实例的 IP 发出恶意请求,试图找到安全漏洞。我什至看到有人试图暴力登录我的 Windows 机器......

要仅为负载均衡器创建安全规则,请运行以下命令,并删除负载均衡器正在使用的端口的安全组中的任何其他规则。如果您不使用命令行来运行这些命令,那么只需让我知道您正在尝试使用哪个界面,我可以尝试提供一个适合您的示例。

elb-create-lb-listeners <load-balancer> --listener "protocol=http, lb-port=<port>, instance-port=<port>"
ec2-authorize <security-group>  -o amazon-elb-sg -u amazon-elb

回到你的问题。就像我说的,您解释的步骤是正确的,打开实例上的端口并将端口转发到实例应该就足够了。也许您需要发布实例的安全组和负载均衡器的完整配置,以便我可以查看是否有其他因素影响您的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过ELB访问AWS EC2实例 的相关文章

  • 如何使用java sdk创建AWS Elastic Beanstalk环境?

    任何人都可以帮助我或提供任何资源来使用 java 程序创建 Aws Elastic beanstalk 环境并在其中部署我们的应用程序吗 先感谢您 您可以下载 AWS Java SDKhere http aws amazon com sdk
  • Python:如何在 python 使用日志记录模块中创建和使用自定义记录器?

    我正在尝试创建一个自定义记录器 如下面的代码所示 但是 无论我传递给该函数哪个级别 记录器都只会打印警告消息 例如 即使我设置了参数级别 日志记录 DEBUG默认情况下 我的代码无法记录调试或信息消息 有人可以指出这里的问题吗 import
  • 私有 EC2 和 HTTP 流量中的 AWS 应用程序

    我有一个应用程序在私有子网的 EC2 实例中运行 以增加额外的安全性 直接从与公共子网关联的面向互联网的 NLB 接收流量 我还在公共子网中配置了一个 NAT 网关 以便私有 EC2 实例可以从 Internet 下载所需的任何内容 我刚刚
  • 亚马逊网络服务工作示例

    我进行了各种搜索 尝试让产品广告 API 正常工作 我尝试了来自这些论坛和互联网的许多示例 但它不起作用 有人讨论过修改 WSDL 但这也不起作用 这是我去过的地方 https affiliate program amazon com gp
  • 登录令牌无效。缺少必需的声明:访问 AWS Cognito AssumeRoleWithWebIdentity 时的 aud

    我已经在 Cognito 中设置了用户池 并通过 cognito js sdk 对创建的用户进行身份验证后获得了 JWT 令牌 当我尝试调用 ShouldRoleWithWebIdentity api 时 它返回一个错误 下面是示例 api
  • 多个 AWS API Gateway API 作为同一 Lambda 函数的触发器

    我已经有一个 API Gateway API 作为我的 AWS Lambda 函数的触发器 然而 当我尝试将另一个 API 作为触发器添加到同一个 AWS Lambda 时 它抛出了一个错误 创建触发器时出错 此方法上已存在集成 即使我从
  • DynamoDb:删除具有相同哈希键的所有项目

    考虑下表 Table documentId Hash Key userId Range Key 如何编写代码来删除所有具有相同内容的项目documentId并且最好不取回物品 目前 您不能仅通过传递 Hash 键来删除所有项目 要删除项目需
  • Spark 写入 S3 V4 SignatureDoesNotMatch 错误

    我遇到S3SignatureDoesNotMatch尝试使用 Spark 将 Dataframe 写入 S3 时 症状 尝试过的事情 代码失败有时但有效有时 代码可以read从 S3 没有任何问题 并且能够不时写入 S3 这排除了错误的配置
  • 如何使用 CloudFormation 覆盖容器环境变量来运行 AWS ECS 任务

    我正在寻找一种运行 ecs 任务的方法 我已经有了集群和任务定义设置 我只是想使用 CloudFormation 模板触发任务 我知道我可以通过单击控制台来运行任务并且它工作正常 对于 cfn 需要正确定义方法 检查所附的屏幕截图 我想使用
  • 请求中包含的安全令牌已过期

    我有一个脚本 可以从 Cloudwatch 中提取大量指标以用于我们自己的内部报告 该脚本会迭代特定区域中的所有 EC2 实例 并请求过去 2 周的 5 个 cloudwatch 指标 所有可用的统计数据 每次以 5 分钟为间隔返回 5 天
  • boto3 搜索未使用的安全组

    我正在使用 AWS Python SDK Boto3 我想知道哪些安全组未使用 我用 boto2 做到了 但我不知道如何用 boto3 做同样的事情 from boto ec2 connection import EC2Connection
  • Amazon s3:直接上传与预签名 URL

    我正在使用 AWS SDK for NET 并且正在寻找一种让用户直接上传到 s3 存储的方法 我遇到过 aws 提供的两种不同的方式 基于浏览器的上传 https docs aws amazon com AmazonS3 latest A
  • AWS Codepipeline 是否会将符号链接传递到工件中的 Codebuild

    我的 github 存储库中有一些符号链接 当我有一个直接从 github 克隆的 Codebuild 项目时 符号链接会被保留 我进行了切换 以便 Codepipeline 监听我的更改devgithub 中的分支 并将工件传递给 cod
  • 从名称获取 AWS EMR 集群 ID

    AWS CLI 命令aws emr list clusters返回以下 json 有没有一种方法可以通过 bash 或 groovy 使用名称来获取 Id 我不能只使用 ID 因为我正在删除集群并仅使用相同的名称重建它们 所以我知道集群的名
  • Eloquent 使用远程 MySQL DB 花费太长时间

    我正在开发一个 Web Laravel 和 iOS 应用程序 它们都从我也在使用 Laravel 开发的 REST API 中使用 API 从 AWS RDS 实例托管的 MySQL 数据库进行查询 当我在本地主机上设置API和应用程序 并
  • 将 Python Lambda 函数导入 Eclipse AWS Toolkit

    如何将 Lambda 函数导入 AWS Toolkit for Eclipse 我将函数从 AWS 控制台导出到 YAML 和 ZIP 包 如何在 Eclipse 中使用这些内容 有教程数量 https cloudacademy com b
  • 使用 java 在 aws lambda 中写入并读取 /tmp 目录中的文件

    我编写了 AWS Lambda 代码 需要将图像存储在 aws lambda 的 tmp 位置 下面是我的代码 String fileLocation loc1 loc2 String imageNameWithoutExt image1
  • 使用无服务器的 WebSockets API 的自定义域名

    我正在使用无服务器管理应用程序的 REST API 并希望在同一区域中使用 WebSockets API 扩展此设置 一切都应该使用相同的证书但不同的子域来处理 首先 我创建了一个新的自定义域sls create domain stage
  • Spring Cloud-SQS

    我正在尝试使用 Spring Cloud 框架获得一个简单的队列处理程序 但是 我已成功让消息处理程序轮询队列 我看到的问题是 当我将消息发布到队列时 我的处理程序无法将有效负载解组到所需的 java 对象中 MessageMapping
  • AWS Cognito 如何在注册时使用联合身份将用户添加到用户池?

    我想使用 AWS Cognito 对用户进行身份验证 如果用户通过用户名和密码进行身份验证 那么我可以使用 AWS 会话识别他 我可以使用 AWS 注销他 但如果用户使用 facebook 或 google 进行身份验证 那么他不会进入用户

随机推荐

  • 通过选中/取消选中 CheckBoxPreference 来启动/停止服务

    我正在编写一个通过选中或取消选中来启动或停止服务的应用程序CheckBoxPreference我试图找到一些信息 例如示例代码或教程 但我还没有找到 如何通过选中或取消选中来启动或停止服务CheckBoxPreference这是在Prefe
  • Nativescript 中本机传感器的可访问性

    我决定选择在 Nativescript 跨平台 IOS Android 中实现应用程序 或者相应地使用 java swift 制作 真正的 本机应用程序 放弃明显的 1 代码库与 2 代码库讨论 我不确定 Nativescript 的局限性
  • Angularjs 中的动态表单名称属性

    当动态创建 inputName 时 人们将如何使用 formName inputName valid
  • 循环字符串重命名

    我正在运行一个截取屏幕截图并保存到文件的脚本 我是新手 在集成鼠标事件时遇到困难 所以现在我将手动完成部分任务 File C Users mydirectory image1 bmp Add Type AssemblyName System
  • 在 webview 片段中实现后退按钮

    我想在我的应用程序中实现后退按钮 我正在使用每个片段显示不同的网络视图 现在 如果我按后退按钮 无论我在哪里 它都会关闭应用程序 我希望它能像浏览器一样返回 我有我的MainActivity java fragment1 java等直到fr
  • Kotlin:可以通过元编程在编译时修改函数吗?

    在 JavaScript Python 等动态语言中 可以在运行时覆盖或 修改 函数 例如 为了修改alertJS 中的函数 可以这样做 const prev alert window alert window alert function
  • 如何在多行而不是单行输出上打印 Linux 组名称

    我尝试过 getent group 命令 id Gn user 和一些 sed 组合 但我认为我无法实现 因此向其他程序员伸出援手 我希望能够打印此 groups abc123输出 abc123 devops 构建测试设计 预期输出 gro
  • 如何同时运行两个FOR循环

    我正在使用加速度计 第一个代码是振动检测器 代码1 if sensor SensorManager SENSOR ACCELEROMETER long curTime System currentTimeMillis long now Sy
  • 通过 NSDate 过滤 Realm 中的查询会抛出 NSInvalidArgumentException

    我到处寻找 甚至访问了一些带有永远不会消失的病毒警告消息的可疑网站 但我无法弄清楚这一点 我只是想过滤Results
  • 如何从 Coldfusion 2016 中加载 jsoup Java 库?

    TLDR CreateObject 函数会抛出异常 java lang ClassNotFoundException 因为它看不到 java 类 JAR 文件 有什么想法我做错了什么吗 谢谢 Application cfc 的内容
  • PHP exec() 返回值是什么?

    我正在尝试使用 PHP exec 函数 如果 return var 参数与输出参数一起存在 那么执行命令的返回状态将被写入此 多变的 如果执行成功 则为 0 但是 如果出现错误 则可能是多个其他整数 我似乎无法在任何地方找到这些整数对应的内
  • 在vim中将命令映射到:w

    我怎样才能绘制地图Command S to w in vim 我已经尝试了其他线程中的所有内容 但似乎在 Mac OS X El Capitan 中不起作用 据说这在以前的版本中有效 但我尝试过 但没有成功 noremap
  • 带有成员 (operator[]) 函数的 invoke_result

    如何为成员函数正确调用invoke result 或者专门用于运算符成员函数 我试过std invoke result
  • 为什么 Swift 语言将 8 位二进制值赋给 Int8 类型的 var 时会出现溢出?

    当我在操场上写下这一行时 let firstBits Int8 0b11111111 出现错误 存储到 Int8 时整数文字溢出 由于 Int8 是有符号值 其范围是从 128 到 127 从左起第一位代表单数 减号或加号 其余 7 位代表
  • 改装和授权标头

    目前 我正在向我的请求添加授权标头 如下所示 文件 SomeFile cs public interface ITestApi Get api test id Task
  • 安装/编译 pylzma(lzma python 绑定)

    我已经向作者提出了这个问题website http www joachim bauch de projects pylzma comment page 1 comment 5211 但我想我也可以在这里问 我一直在尝试使用以下设置安装 py
  • Ansible:findall 正则表达式中变量的正确语法是什么

    我使用的是 Ansible 版本 2 9 我想做一个 GET 它返回一个信息块 从该信息中正则表达式一个 ID 该 ID 对应于我目前正在迭代的任何主机 然后使用该 ID 执行操作 我有正则表达式工作 https regex101 com
  • 从 pdf 和 word 文件中提取文本

    如何在 C 中从 pdf 或 word 文件中提取文本 删除粗体 图像和其他富文本格式媒体 您可以使用专为索引服务设计 由索引服务使用的过滤器 它们旨在从各种文档中提取纯文本 这对于在文档内部进行搜索非常有用 您可以将其用于 Office
  • \ufeff 标识符中的无效字符

    我有以下代码 import urllib request try url https www google com search q test headers usag Mozilla 5 0 Macintosh Intel Mac OS
  • 通过ELB访问AWS EC2实例

    我试图在弹性负载均衡器下设置两个实例 但无法弄清楚应该如何通过负载均衡器访问这些实例 我已经使用安全组设置了实例 以允许从任何地方访问某些端口 我可以使用 公共 DNS publicdns 主机名和端口 PORT 直接访问实例 http p