gpt4 book ai didi

amazon-web-services -/etc/fstab 中的动态IP

转载 作者:行者123 更新时间:2023-12-02 03:13:48 24 4
gpt4 key购买 nike

我正在尝试在 AWS 中使用弹性文件系统 (EFS)...我的目标是使用/etc/fstab 自动挂载它

由于 EC2 实例是跨可用区域自动扩展的,因此 EFS 挂载 IP 会根据实例的区域而变化。目前 AWS 提供此命令以将其安装到正确的区域...

sudo mount -t nfs4 -o nfsvers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-xxxx.efs.us-east-1.amazonaws.com:/ efs

但是,EFS DNS url 存在一些问题,我只能通过提供的 EFS IP 进行连接。所以我创建了一个 bash 脚本来获取与区域相关的正确 IP...

纳米/efsmount.sh

#!/bin/sh

CURR_ZONE=$(/usr/bin/curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)

if [ "$CURR_ZONE" == "us-east-1e" ];then
echo "172.xx.xx.xx"
fi
... more if statements to cover all zones

我可以使用这个脚本挂载

sudo mount -t nfs4 -o nfsvers=4.1 $(/efsmount.sh):/ /efs

现在我的问题是...如何使用 fstab 自动挂载?

这样的东西是行不通的

$(/efsmount.sh):/  /efs   nfs      auto,noatime,nolock,bg,nfsvers=4.1,intr,tcp,actimeo=1800 0 0

谢谢

最佳答案

对我来说,当我手动停止和启动我的 EC2 实例时,使用 fstab(如亚马逊推荐的)不起作用。对我来说,这就是自动化的原因——我需要一个解决方案,用于灾难恢复场景、冷启动和离线垂直扩展(例如,当手动向 EC2 实例添加 RAM 时,您需要“停止”它,“添加 RAM”,然后“启动它”)。对我来说它很有效

 crontab -e

然后添加一行

@reboot sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-123ddddd.efs.us-east-1.amazonaws.com:/ /data

关于amazon-web-services -/etc/fstab 中的动态IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38250660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com