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 可信身份验证的负载均衡器的主要内容,如果未能解决你的问题,请参考以下文章