【问题标题】:How to see public ip address of elastic beanstalk instance for whitelisting mongodb atlas如何查看弹性beantalk实例的公共IP地址以将mongodb atlas列入白名单
【发布时间】:2020-05-08 06:26:45
【问题描述】:

我正在尝试从弹性 beanstalk 上运行的服务连接到托管在 mongo atlas 上的数据库。我收到错误消息:

UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [youmaylike-shard-00-01-necsu.mongodb.net:27017] on first connect [MongoNetworkError: connection 5 to youmaylike-shard-00-01-necsu.mongodb.net:27017 closed]

我相信这种情况正在发生,因为我的服务的 IP 地址没有在 atlas 上列入白名单。我不确定如何获取我的服务的 IP 地址,我尝试运行 eb ssh 但我不确定它给我的是正确的值

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk mongodb-atlas


    【解决方案1】:

    有多种获取方式,以下两种:

    在使用 AWS 控制台或 AWS CLI 之前,运行 eb health 并获取您的部署的一个或多个实例 ID

    1. 使用 AWS 控制台转到 EC2,然后 Instances 找到一个或多个实例 ID,单击它,IP 下方的窗格中将位于“IPv4 Public IP”

    2. 使用 AWS CLI aws ec2 describe-instances --instance-ids <YOUR INSTANCE ID or IDS HERE>

    【讨论】:

    • 如果扩展,额外的 EC2 实例将具有不同的 IP。如何获取负载均衡器的公共 IP?
    【解决方案2】:

    公共 IP 取决于您的 Elastic beanstalk 实例的配置。

    互联网接入:

    实例必须能够通过以下方法之一访问 Internet。

    公共子网

    • 实例具有公共 IP 地址并使用 Internet 网关访问 Internet。

    私有子网

    • 实例使用 NAT 设备访问 Internet。

    所以,如果它位于 Gateway 后面,那么您可以检查 here 是否将其列入白名单,或者这也可能有所帮助

    aws ec2 describe-instances --instance-ids i-0c9c9b44b --query 'Reservations[*].Instances[*].PublicIpAddress' --output text
    
    

    curl http://checkip.amazonaws.com
    

    如果它在 NAT 之后,那么您需要将 NAT 网关 IP 列入白名单。

    转到VPC -> 选择 NAT 网关 -> 复制 NAT 网关的弹性 IP 或公网 IP 地址,并将此 IP 列入 atlas 端白名单。

    【讨论】:

      【解决方案3】:

      来自 MongoDB Atlas 支持:

      如果您有动态 IP 地址,您有以下选择;

      1. 您可以使用 Atlas Public API 从白名单中动态添加和删除 IP。有关配置 Atlas API 访问的 MongoDB Atlas 文档,请单击此处。
      2. 您可以使用 VPC 对等互连(仅限 M10+ 实例)将您的 Atlas 集群链接到现有 VPC。有关在 MongoDB Atlas 中设置 VPC 对等连接的文档,请单击此处。
      3. 或者您可以将您的白名单设置为 0.0.0.0/0 以允许整个 Internet 进入您的 IP 白名单。有关将条目添加到 IP 白名单的 MongoDB Atlas 文档,请单击此处。请注意,将 0.0.0.0/0 添加到集群的白名单中,因为这会使集群暴露于拒绝服务攻击。另外,请注意 Heroku 使用动态 IP,因此在使用 Heroku 连接 Atlas Cluster 时,您必须将 0.0.0.0/0 添加到白名单中。

      asked question on their FAQ

      【讨论】:

        猜你喜欢
        • 2022-10-08
        • 2015-06-07
        • 1970-01-01
        • 2020-06-27
        • 1970-01-01
        • 1970-01-01
        • 2021-01-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多