如何将由VPC设置向导创build的NAT实例添加到OpsWorks图层?

我正在使用具有公共/私有子网的VPC和由VPC设置向导创build的NAT实例。 我想通过OpsWorks对NAT实例进行一些调整(主要是logging和更改iptables规则),但是当我创build一个自定义层并尝试将现有的NAT实例添加到它时,它不在列表中可用的实例。 我正试图做甚至可能吗? 如果没有,在OpsWorks中pipe理一个NAT实例的最好方法什么?

将实例添加到OpsWork中的图层时,“现有”选项卡将显示已经在堆栈中的另一图层中定义的现有实例。 如果您有一个Web服务器层和一个应用服务器层,并且希望相同的EC2实例同时充当Web服务器和应用服务器,这可能会很有用。 “现有”选项卡不会显示在OpsWorks外部或其他堆栈之外创build的任何EC2实例。

以下是我们使用OpsWorks设置NAT实例的过程。

  1. 使用Amazon提供的社区NAT AMI启动EC2 NAT实例。 例如(amzn-ami-hvm-2014.09.0.x86_64-ebs)
  2. 从这个EC2实例创build一个自定义的AMI。 请注意,OpsWorks允许在创build实例时select自定义AMI,但不允许select社区AMI。
  3. 在堆栈中定义一个图层。
  4. 将一个实例添加到您的堆栈中,并select您在第二步中创build的自定义NAT AMI。
  5. 从OpsWorks启动您的实例。
  6. 在EC2控制台中,find新启动的实例,并将其源/目标检查属性从启用更改为禁用。
  7. 在VPC控制台中,find私有子网的路由表,并修改其0.0.0.0/0条目以指向新的EC2实例。
  8. 添加您希望OpsWorks用于NAT实例的任何自定义配方。