- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 EC2Instance
资源的 UserData
部分具有以下内容:
#!/bin/bash
apt-get update -y
apt-get -y install python3-pip
mkdir -p /opt/aws/
pip3 install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz
ln -s /usr/local/init/ubuntu/cfn-hup /etc/init.d/cfn-hup
/usr/local/bin/cfn-init -v --stack ${AWS::StackId} --resource EC2Instance --configsets server_install --region ${AWS::Region}
/usr/local/bin/cfn-signal -e $? --stack ${AWS::StackId} --resource EC2Instance --region ${AWS::Region}
在运行堆栈创建过程时,我注意到 cfn-init
和 cfn-signal
命令无法运行,因为我的 EC2 没有任何我通过 AWS::Cloudformation:Init
安装的软件包。
我登录到服务器来检查情况(注意:只有在失败时不恢复堆栈或不发出失败信号时,才能在堆栈构建失败后登录到服务器),我发现以下错误:
/var/log/cloud-init.log:
2023-04-12 21:17:17,121 - subp.py[DEBUG]: Running command
['/var/lib/cloud/instance/scripts/part-001'] with allowed return codes [0] (shell=False, capture=False)
2023-04-12 21:28:34,625 - subp.py[DEBUG]: Unexpected error while running command.
Command: ['/var/lib/cloud/instance/scripts/part-001']
Exit code: 1
Reason: -
Stdout: -
Stderr: -
2023-04-12 21:28:34,629 - cc_scripts_user.py[WARNING]: Failed to run module scripts-user (scripts in /var/lib/cloud/instance/scripts)
/var/lib/cloud/instance/scripts/part-001:与 CF 模板相同的 UserData
部分
/var/log/cloud-init-output.log:
2023-04-12 21:18:06,101 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.us-east-1.amazonaws.com
2023-04-12 21:18:06,102 [DEBUG] Describing resource EC2Instance in stack arn:aws:cloudformation:us-east-1:<accountId>:stack/<app-name>/<uuid>
2023-04-12 21:19:06,102 [WARNING] Timeout of 60 seconds breached
2023-04-12 21:19:06,103 [ERROR] Client-side timeout
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/cfnbootstrap/util.py", line 193, in _retry
return f(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/cfnbootstrap/util.py", line 266, in _timeout
raise TimeoutError(
cfnbootstrap.util.TimeoutError
2023-04-12 21:18:06,101 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.us-east-1.amazonaws.com
2023-04-12 21:18:06,102 [DEBUG] Signlaing resource EC2Instance in stack arn:aws:cloudformation:us-east-1:<accountId>:stack/<app-name>/<uuid>
2023-04-12 21:19:06,102 [WARNING] Timeout of 60 seconds breached
2023-04-12 21:19:06,103 [ERROR] Client-side timeout
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/cfnbootstrap/util.py", line 193, in _retry
return f(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/cfnbootstrap/util.py", line 266, in _timeout
raise TimeoutError(
cfnbootstrap.util.TimeoutError
最佳答案
我在 Stackoverflow 和其他地方看到了大量其他答案,指出 EC2 实例需要使用具有公共(public)子网的 VPC。它需要公开,因为 cfn-init
脚本通过公共(public)互联网访问 Cloudformation API。
我通过以下 these steps 验证我的 VPC 子网实际上是公共(public)的。我还按照 these steps 验证我的实例已连接到互联网。 .
但是,我注意到当我尝试从 EC2 实例 curl cloudformation API 时,它超时了:
curl -v https://cloudformation.us-east-1.amazonaws.com
但是,我随后注意到,如果我 curl 不同的区域,效果会很好。所以这有效:
curl -v https://cloudformation.us-east-2.amazonaws.com
同一地区的不同服务冰壶也有效:
curl -v https://ec2.us-east-1.amazonaws.com
所有这些都令人困惑,它让我想到了 this question and answer .
之后,我意识到,当我 curl 来自不同区域的两个 Cloudformation API 时,us-east-1
上的 IP 地址是私有(private)的 (192.168.x.x:443),而 IP 地址来自 us-east-2
是公开的 (52.95.16.95:443)。
然后,我进一步深入研究了我的 VPC,发现除了公有子网之外,还创建了 VPC 接口(interface)终端节点,其中包括一个提供对 cloudformation.us-east-1.amazonaws.com
的访问的终端节点。 。该 VPC 接口(interface)端点附加了一个安全组,我意识到它的限制太多。一旦我更新了该 SG 上的入站规则,我从 EC2 实例到 Cloudformation API 的调用就开始工作。问题解决了。
尾注:我在 https://repost.aws 的故障排除步骤中注意到它说了以下内容:
If you're using an interface VPC endpoint, then the endpoint must be located in the same AWS Region as the instance. Also, the security group that's attached to the interface endpoint must allow incoming connections on port 443 from the private subnet of the Amazon VPC.
但不幸的是,直到后来我才意识到接口(interface)端点正在被使用......
关于amazon-web-services - Cloudformation 堆栈创建期间的 cfn-init 和 cfn-signal 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76016393/
来自Unix&Linux Stack Exchange的 This question was migrated,因为可以在Stack Overflow上进行回答。
所以我有这段代码(部分取自 python 文档): import signal def handler(signum, frame): print 'Signal handler called
是否可以在信号块中调用用户定义的方法? method my-method ( ... ) { signal(SIGTERM,SIGINT,SIGQUIT,SIGHUP).tap( -> $si
我正在研究一个类的概念性伪代码信号量分配。 我想知道是否可以在某个进程调用 wait() 之前在信号量上调用 signal()。例如: Shared data: Semaphore x = 0; Pr
我正在为远程调试注册一个信号: signal.signal(signal.SIGUSR1, lambda x,y: remote_debug(x, y, emp_id)) 虽然通常非常快,但日志语句显
关于 PySide signals and slots page它说:“信号是实例拥有的运行时对象,它们不是类属性”。显然,QObject 构造函数在 Signals 的类属性中查找并将它们复制到对象
关于 PySide signals and slots page它说:“信号是实例拥有的运行时对象,它们不是类属性”。显然, QObject 构造函数查找 Signals 的类属性并将它们复制到对象实
关于PySide signals and slots page它说:“信号是实例拥有的运行时对象,它们不是类属性”。显然,QObject 构造函数在类属性中查找信号并将它们复制到对象实例。我的测试程序
使用 ReactiveCocoa,我如何从重复信号中链接信号? 我想做这样的事情:每 5 秒,我运行一次网络请求。 为此,我创建了一个重复信号 RACSignal *each5SecondSignal
正如标题中所写 - “信号和插槽”是一种简单的响应式(Reactive)编程方式吗? 最佳答案 Signals/Slots是 Observer Pattern 的实现. 来自维基 Reactive P
您好,我想知道信号声明如何在 VHDL 中真正起作用。它是否意味着延迟,因为它是内部信号?信号有内部存储器吗? 例子: Architecture SD_BEH of SD is signal C: s
我正在尝试编写一些代码来使用 python 执行一些数据包嗅探 使用 pyshark.I 有以下一段代码: import pyshark print('Pyshark demo') capture =
**披露 - 我是一名初学者 C 程序员,并不完全熟悉如何解释手册页,也不完全熟悉谈论 C 时正确的单词选择 - 对这个问题的任何编辑或澄清都是感谢。* 问题:我正在阅读有关 signal(7) 的手
我的应用程序运行完美,没有任何问题。但是当我尝试调试它时,android studio 卡住了。所以我收到消息“等待调试器”,然后该消息消失,接下来我在模拟器中只看到黑屏。 我也收到了消息 SIGNA
我在 Laravel 5.7 中使用 Snappy PDF 库。在本地一切正常,但在我的开发环境中出现此错误:该进程已收到信号“11”的信号。到现在为止,我找不到可以帮助我的解决方案。这是我在 Con
当我想在 linux 上激活 mongo 时,我得到了这个错误,它不会工作 $ sudo systemctl status mongod ● mongod.service - MongoDB 数据库服
我正在尝试设置函数超时,但我无法成功。 我运行来自 https://docs.python.org/3/library/signal.html?highlight=signal%20sigalrm#e
我在尝试使用 Phantomjs 和 Symfony 的 Process 和 Reposonse 文件创建 PDF 文档时遇到此错误。 这是我收到的错误信息 fatal error :未捕获的异常 '
我正在尝试调试一个复杂的 Perl 应用程序,该应用程序以错误消息“收到信号 SIGCHLD,但未设置信号处理程序”而终止。我知道它来自 Perl 解释器本身,特别是来自文件 mg.c它不能被捕获。但
我有以下代码,它按预期工作: import signal def printer(signum, frame): print("hi!") signal.signal(signal.SIGAL
我是一名优秀的程序员,十分优秀!