我正在使用具有公有/私有子网的 VPC 和由 VPC 设置向导创建的 NAT 实例。我想通过 OpsWorks 对 NAT 实例进行一些调整(主要是日志记录和对 iptables 规则的更改),但当我创建自定义层并尝试将现有 NAT 实例添加到其中时,它不在可用实例列表中。我尝试做的事情是否可行?如果不可行,该怎么办?是在 OpsWorks 内部管理 NAT 实例的最佳方法是什么?
答案1
在 OpsWork 中向某个层添加实例时,“现有”选项卡将显示堆栈中另一层中已定义的现有实例。如果您有一个 Web 服务器层和一个应用服务器层,并且希望同一个 EC2 实例同时充当 Web 服务器和应用服务器,这可能会很有用。“现有”选项卡不会显示在 OpsWorks 之外或另一个堆栈中创建的任何 EC2 实例。
以下是我们使用 OpsWorks 设置 NAT 实例的操作。
- 使用 Amazon 提供的社区 NAT AMI 启动 EC2 NAT 实例。例如 (amzn-ami-hvm-2014.09.0.x86_64-ebs)
- 从此 EC2 实例创建自定义 AMI。请注意,OpsWorks 允许在创建实例时选择自定义 AMI,但不允许选择社区 AMI。
- 在堆栈中定义一个层。
- 将实例添加到您的堆栈,然后在其中选择您在第二步中创建的自定义 NAT AMI。
- 从 OpsWorks 启动您的实例。
- 从 EC2 控制台找到您新启动的实例,并将其源/目标检查属性从启用更改为禁用。
- 在 VPC 控制台中,找到您的私有子网的路由表并修改其 0.0.0.0/0 条目以指向您的新 EC2 实例。
- 添加您希望 OpsWorks 针对您的 NAT 实例使用的任何自定义配方。