我跟着这些说明在 EC2 上安装 Alpine Linux。一切进展顺利,我能够创建一个 AMI,从中启动新实例。
我的实例应该充当 NAT 网关。然后,我启用了 net.ipv4.ip_forward 并配置了 iptables,类似于AWS 文档中描述,但针对的是 Alpine。然后,我创建了一个新的 AMI,理论上,它应该能够启动我预先配置的 NAT 实例。
我花了几个小时绞尽脑汁想弄清楚为什么我的私有子网中的实例无法访问互联网,然后我意识到我从 AMI 启动的 NAT 实例没有保留 iptables 和 net.ipv4.ip_forward 配置。'iptables' 包甚至没有安装。
然后,我发现 EBS 根卷(/dev/xvda)并未安装在 / 上,而是安装在 /media/xvda 上,这意味着我对 /etc/init.d 的修改将不会包含在 EBS 快照中,对吗?
现在,我陷入了困境,因为我不知道该怎么做。我尝试谷歌搜索并查看了 EBS 根卷的 AWS 文档,但我不知道如何确定此类挂载点,以及如何更改它以将其挂载到 / 上。我该如何解决这个问题?
答案1
事实证明我只需要将lbu commit -d xvda
更改保存到 apkovl 文件即可。显然,Alpine Linux 默认将您的设备安装在 /media/ 下,如果您需要将更改保存到 /etc/,则需要使用 lbu 命令提交它们。