cfn-init不能使用Cloud Formation在VPC中工作

时间:2012-10-11 15:16:58

标签: bootstrapping amazon-cloudformation amazon-vpc

这是我第一次尝试使用VPC。

我刚刚更改了模板以使用VPC。当堆栈在VPC外部启动时,一切都很好,但现在它们在VPC内部,我无法在使用cfn-init(Ec2Config)包启动实例期间从S3下载我的文件。它是一个Windows框。

我在cfn-init logs中看到以下日志:

2012-10-11 08:11:40,992 DEBUG Client initialized with endpoint https://cloudformation.us-east-1.amazonaws.com  
2012-10-11 08:11:41,523 DEBUG Describing resource LaunchConfigName in stack StackName  
2012-10-11 08:12:03,113 ERROR URLError: getaddrinfo returns an empty list  
2012-10-11 08:12:03,144 DEBUG Sleeping for 0.921699 seconds before retrying  
2012-10-11 08:12:25,109 ERROR URLError: getaddrinfo returns an empty list  
2012-10-11 08:12:25,109 DEBUG Sleeping for 1.240427 seconds before retrying  
2012-10-11 08:12:47,386 ERROR URLError: getaddrinfo returns an empty list  
2012-10-11 08:12:47,386 DEBUG Sleeping for 5.528233 seconds before retrying  
2012-10-11 08:13:13,968 ERROR URLError: getaddrinfo returns an empty list  
2012-10-11 08:13:13,968 DEBUG Sleeping for 4.688940 seconds before retrying  
2012-10-11 08:13:39,677 ERROR URLError: getaddrinfo returns an empty list  

我在cfn-hup logs中看到以下日志:

2012-10-11 08:23:06,550 ERROR Error: could not find main configuation at C:\cfn\cfn-hup.conf  
2012-10-11 08:23:06,893 ERROR Error: main section must contain stack option  
2012-10-11 08:33:06,089 ERROR Error: could not find main configuation at C:\cfn\cfn-hup.conf  
2012-10-11 08:33:06,370 ERROR Error: main section must contain stack option  
2012-10-11 08:43:06,533 ERROR Error: could not find main configuation at C:\cfn\cfn-hup.conf  
2012-10-11 08:43:06,876 ERROR Error: main section must contain stack option  
2012-10-11 08:53:06,119 ERROR Error: could not find main configuation at C:\cfn\cfn-hup.conf  
2012-10-11 08:53:06,416 ERROR Error: main section must contain stack option  

从实例中我可以通过网络浏览器访问互联网。

3 个答案:

答案 0 :(得分:4)

您需要设置NAT服务器或为该框分配弹性IP地址,否则无法与互联网通信。

答案 1 :(得分:2)

这有点旧,但我最近在类似的问题上花了很多时间。 使用cfn-init时,仅添加NAT或网关是不够的。还需要在运行cfn-init的实例和网关之间添加依赖项:

"MyInstance1" : {
  "Type"  : "AWS::EC2::Instance",       
  "DependsOn" : "Gateway",
  ....
}

答案 2 :(得分:0)

我在尝试运行Active Directory CF模板时遇到了类似的问题,尽管我得到的错误略有不同:

Knight's Tour for 5 by 6 board:
0   27  22  15  6   11  
23  16  7   12  21  14  
28  1   26  19  10  5   
17  24  3   8   13  20  
2   29  18  25  4   9   

它发现它与VPC上设置的DHCP选项有关。

我需要设置域控制器的域:

gaierror(11001, 'getaddrinfo failed')

显然,一旦我将DC设置为DNS服务器,我就可以将Amazon提供的语句更改为我自己的IP。