【问题标题】:Can only use ec2 private address in AWS Security Group只能在 AWS 安全组中使用 ec2 私有地址
【发布时间】:2016-08-09 23:48:13
【问题描述】:

我启动的EC2实例有两个地址1个私有地址和1个公有地址。

我有一个单节点 Redshift 集群正在运行,并且想指定它,以便可以从 EC2 访问它。

所以我把ec2的公共地址放到安全组里,

喜欢

Customized TCP/IP    port 5439    Source: private-ip-address

它不起作用。如果我使用私人地址,它可以工作。

这是为什么呢? 我想使用公网IP地址,即弹性IP地址。如果我的实例停止,它可以保持不变。

【问题讨论】:

  • 你可以参考源安全组而不是源IP?

标签: amazon-web-services


【解决方案1】:

之所以如此,是因为所有流量都停留在 VPC 中,而不是传到互联网再返回。出于安全和性能目的,这就是您希望它发生的方式。 VPC 内部的所有流量都将使用私有 IP 地址。

你可以这样想:

私有 IP 地址 = VPC 内的 IP 地址

公共 IP 地址 = VPC 外部的 IP 地址

【讨论】:

    【解决方案2】:

    假设您使用的是 VPC(不是 ec2-classic) 即使您停止并重新开始,私有 IP 也将保持不变。

    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html

    对于在 VPC 中启动的实例,私有 IP 地址在实例停止和重新启动时仍与网络接口关联,并在实例终止时释放。

    如果不检查您的 Redshift 子网配置,很难说为什么 EIP 映射不起作用,您可能没有正确的路由,或者您正在通过私有 IP 访问 redshift,因此它不会使用外部接口/EIP 来访问 redshift,而是它的内部 IP 并被拒绝连接,因为 SG 只允许 EIP。

    【讨论】:

      【解决方案3】:

      在您的 VPC 内,地址位于“私有”范围内。它们是 RFC-1918(参见 https://www.rfc-editor.org/rfc/rfc1918)私有地址范围 ip 号

      为了访问“公共”地址,例如您的服务器上的公共地址,您需要为 VPC 中将请求发送到 redshift 集群的客户端执行以下操作之一

      1. 设置 NAT EC2 实例
      2. 在您的 VPC 上设置 VPC NAT 网关
      3. 附加一个公共IP

      所有这些东西在 AWS 文档中都有很好的描述,所以我不会在这里解释它们。一旦设置了适当的路由,它们将允许客户端与服务器通信。您还需要正确的服务器配置安全组规则

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-06
        • 1970-01-01
        • 2023-03-21
        • 2020-07-30
        • 2021-10-24
        • 2017-08-08
        • 2019-08-18
        相关资源
        最近更新 更多