我有一个带有负载均衡器的 Elastic Beanstalk 环境。此外,我有一个与负载均衡器关联的托管区域,以便通过自定义域名访问环境。
现在,我希望在 Tableau 可信身份验证中使用静态 IP。我很困惑。我不知道从哪里可以获得所需的静态 IP。
在这个问题上接受的答案是 5 年,从那时起情况发生了变化。
我有一个带有负载均衡器的 Elastic Beanstalk 环境。此外,我有一个与负载均衡器关联的托管区域,以便通过自定义域名访问环境。
现在,我希望在 Tableau 可信身份验证中使用静态 IP。我很困惑。我不知道从哪里可以获得所需的静态 IP。
在这个问题上接受的答案是 5 年,从那时起情况发生了变化。
遗憾的是,由于 AWS 仅提供对 DNS 的支持,因此无法在负载均衡器上自动分配 Elastic-ip。
但是还有另一种解决方案,添加一个脚本,在启动时自动为实例分配 ip。正如下一个参考文献所建议的那样。
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。
您的意思是您想使用静态 IP 访问弹性 beanstalk 应用程序?如果您想使用静态 IP 访问您的应用程序,请启动 EC2 并部署您的应用程序。为该实例分配一个静态弹性 IP。弹性 IP 是一个静态公共 IP,除非您发布它,否则它不会改变。有关 AWS 弹性 IP 的更多信息,请参阅以下链接。