如何解决公共子网中的实例,但cfn-init从私有子网通过VPC端点进行故障转移
简单点吧。
我有一个 3个公共子网和 3个私有子网。有一个堡垒主机,只有一个,分配给一个公共子网之一。专用子网(全部3个)与CloudFormation VPC端点链接。现在有趣的是,当我启动堡垒堆栈并尝试通过 cfn-init 做一些事情时,它只是失败了。它尝试连接到链接到上述VPC端点的 ENI 的 IP 。
如果我是
- 摆脱该端点,堡垒暂时堆积起来。
- 为端点的第二个组添加一个 SecurityGroupIngress 条目,该条目允许来自 CidrIp 作为VPC的cidr的所有入口连接,堡垒会暂时堆叠。 / li>
现在!为什么这样:|。 这没有任何意义。在世界范围内,经过端点的路由如何进入与公共子网链接的路由表中?这是公用子网的路由表:
172.36.0.0/16 local active
0.0.0.0/0 igw-? active
以及3个不同的专用子网路由表
172.36.0.0/16 local
0.0.0.0/0 nat-1 nat-2 nat-3
pl-6ea54007 vpce-s3
(实际上,所有3个看上去都一样,VPC是本地的,有3个nat,因此nat-1到nat-3,这里的端点是S3)
再次重申:
- 堡垒与公共子网关联,具有公共IP和到 InternetGateway 的路由
- 上述VPCEndpoint已链接到专用子网(非公共子网)
有什么想法吗?
日志,文件等
UserData:
#!/bin/bash -xe
yum update -y
yum update -y aws-cfn-bootstrap || true
trap '/opt/aws/bin/cfn-signal -e 1 --stack ${AWS::StackName} --region ${AWS::Region} --resource Bastion' ERR
/opt/aws/bin/cfn-init --verbose \
--stack ${AWS::StackName} \
--resource Bastion \
--region ${AWS::Region}
sleep 1
/opt/aws/bin/cfn-signal \
-e 0 \
--stack ${AWS::StackName} \
--resource Bastion \
--region ${AWS::Region}
来自/var/log/cfn-init.log
的日志:
2020-10-02 05:18:43,957 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.eu-central-1.amazonaws.com
2020-10-02 05:18:43,958 [DEBUG] Describing resource Bastion in stack bastion-stack
2020-10-02 05:19:43,958 [WARNING] Timeout of 60 seconds breached
2020-10-02 05:19:43,958 [ERROR] Client-side timeout
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/cfnbootstrap/util.py",line 162,in _retry
return f(*args,**kwargs)
File "/usr/lib/python2.7/site-packages/cfnbootstrap/util.py",line 231,in _timeout
raise TimeoutError("Execution did not succeed after %s seconds" % duration)
TimeoutError
2020-10-02 05:19:43,960 [DEBUG] Sleeping for 0.115700 seconds before retrying
解决方法
所述VPCEndpoint链接到专用子网(非公共)
CloudFormation VPC端点不是这种情况。我认为您将VPC gateway edpoints与VPC interface endpoints混淆了。
在您的情况下,创建CloudFormation VPC endpoint
时将创建 VPC接口终结点,但是,您在问题中所指的是{strong>的pl-6ea54007
路由VPC网关端点(可能是S3)。
因此pl-6ea54007
适用于VPC网关端点(我想是S3),而不适用于CloudFormation VPC端点。 两种端点类型的工作方式不同,并且接口端点不会在任何路由表中创建任何路由。接口端点具有VPC范围。这意味着任何子网(私有,公共)都可以使用CloudFormation VPC端点,包括堡垒主机。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。