0

我从现有的 EC2 实例创建了一个 AMI 映像,并在其中配置了我的 .net 应用程序。在我使用了我的私有/公共 IP 的应用程序 web.config 文件中。当我从 AMI 启动新的 ec2 实例时,会分配新的私有/公共 IP。如何在我的 ec2 实例启动或重启时更新我的​​ web.config 文件中的新私有/公共 IP。

4

1 回答 1

1

您应该创建一个启动脚本,该脚本将在每个实例/AMI 启动时更改 IP。

更改-ip-on-startup.sh

#!/bin/bash
# Fetch instance IPs from metadata
INSTANCE_PUBLIC_IP=`curl http://169.254.169.254/latest/meta-data/public-ipv4`
INSTANCE_PRIVATE_IP=`curl http://169.254.169.254/latest/meta-data/local-ipv4`

# Use the variables to replace the IP(s)
# sed "s/.../${INSTANCE_PUBLIC_IP}/g" /path/to/web.config

然后使用以下推理使脚本在每个实例/AMI 上运行:

# Copy the script in the init.d directory and make it executable
cp /home/ec2-user/change-ip-on-startup.sh /etc/init.d/change-ip-on-startup
chmod +x /etc/init.d/change-ip-on-startup

# Load the script on start
ln -s /etc/init.d/change-ip-on-startup /etc/rc3.d/S99change-ip-on-startup

# Emulate a service behaviour
touch /var/lock/subsys/change-ip-on-startup
于 2014-01-21T23:18:27.940 回答