AWS Elastic Beanstalk 环境的静态 IP,带有用于 Tableau 可信身份验证的负载均衡器

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk 环境的静态 IP,带有用于 Tableau 可信身份验证的负载均衡器【英文标题】:Static IP for AWS Elastic Beanstalk environment with load balancer for Tableau Trusted Authentication 【发布时间】:2018-06-14 04:58:50 【问题描述】:

我有一个带有负载均衡器的 Elastic Beanstalk 环境。此外,我还有一个与负载均衡器关联的托管区域,以便通过自定义域名访问环境。

现在我希望在 Tableau 可信身份验证中使用静态 IP。我很迷惑。我不知道从哪里可以获得所需的静态 IP。

this question 接受的答案是 5 岁,从那时起情况发生了变化。

【问题讨论】:

Elastic IP on application deployed using Elastic Beanstalk的可能重复 【参考方案1】:

遗憾的是,由于 AWS 仅提供对 DNS 的支持,因此无法在负载均衡器上自动分配 Elastic-ip。

但还有另一种解决方案,添加一个脚本,在启动时自动为实例分配 ip。正如下一个参考文献所建议的那样。

https://support.asperasoft.com/hc/en-us/articles/216129788-Server-on-Demand-with-EIP-and-Autoscale#prereqs

https://blog.cloudthat.com/auto-attach-elastic-ip-to-ec2-classic-instance-for-autoscaling/

https://github.com/skymill/aws-ec2-assign-elastic-ip

您需要执行以下步骤:

    预留与 Auto Scaling 组中实例的最大数量一样多的弹性 ip

    使用当前的 Elastic Beanstalk AMI创建实例

    使用python的pip安装 aws-ec2-assign-elastic-ip 。

    将当前脚本添加到实例中

    #!/bin/sh
    #
    # This script is launched at boot, and assigns an AWS elastic ip.
    
    AWS_ACCESS_KEY_ID=#<acces_key_value>#
    AWS_SECRET_ACCESS_KEY=#<Secret_key_Value>#
    
    #Regions Virgina: us-east1   Oregon: us-west2 ...
    AWS_DEFAULT_REGION=#<EB_ENV_REGION>#
    
    #Set of valid IP comma(,) separated
    VALID_IP_VALUES=<IP_VALUE>,<IP_VALUE>,<...>
    
    
    /usr/local/bin/aws-ec2-assign-elastic-ip --region  $AWS_DEFAULT_REGION --access-key $AWS_ACCESS_KEY_ID --secret-key $AWS_SECRET_ACCESS_KEY --valid-ips $VALID_IP_VALUES
    

    在 /etc/rc.local 中添加这个脚本

    bash /usr/local/bin/auto-assign-eip.sh
    

    使用此实例创建一个新的基础 AMI,并将其设置为您的 EB AMI。

【讨论】:

【参考方案2】:

您的意思是要使用静态 IP 访问弹性 beanstalk 应用程序?如果您想使用静态 IP 访问您的应用程序,请启动 EC2 并部署您的应用程序。为该实例分配一个静态弹性 IP。弹性 IP 是一个静态公共 IP,除非您发布它,否则它不会改变。有关 AWS 弹性 IP 的更多信息,请参阅以下链接。

AWS Elastic IP

【讨论】:

我尝试将弹性 IP 关联到 ec2 实例,但没有成功。我想我需要将 IP 关联到弹性 beanstalk 负载均衡器。

以上是关于AWS Elastic Beanstalk 环境的静态 IP,带有用于 Tableau 可信身份验证的负载均衡器的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk Docker 环境变量

如何在 aws elastic beanstalk 环境实例启动上运行 shell 脚本

无法在 AWS Elastic Beanstalk 中创建环境?

高级 AWS Elastic Beanstalk 环境配置

终止 AWS Elastic Beanstalk 环境并删除数据库

将 AWS Elastic beanstalk 部署到不同区域的环境