aws-code-deploy - 如果 EC2 实例没有公共 IP,AWS CodeDeploy 代理无法部署代码?
问题描述
我已经使用 CodeDeploy 代理系统实现了 AutoScaling 组。如果我将启动模板设置为使用公共 IPv4 启动 EC2 实例,一切正常,但如果我禁用此功能,CodeDeploy 代理会一直等待永远不会执行的“ApplicationStop”步骤(第一个)。
我怀疑 AWS 无法正确访问我的 EC2 以与本地 CodeDeploy-Agent 通信(从service codedeploy-agent status
调用中运行良好)。
一旦我添加回公共 IPv4,一切正常。
如何配置我的设置(安全组?角色?)以允许 CodeDeploy 与私有 EC2 实例一起正常工作?
更新 1
EC2 实例具有角色“aws-elasticbeanstalk-ec2-role”,其中包含以下策略:
- AWSElasticBeanstalkWebTier
- AmazonS3ReadOnlyAccess
- AWSElasticBeanstalk多容器Docker
- AWSElasticBeanstalkWorkerTier
也许问题就在这里:我需要添加一个“CodeDeploy”策略,但是当尝试附加一个与 CodeDeploy 相关的策略时,有很多,我不确定要使用哪一个
解决方案
推荐阅读
- python - 在 QTextBrowser 中打开带有空格的外部文件路径链接
- python - 将列表转换为有序元组字典
- python - 如何在 keras 模型中的每个时期更新参数(即辍学率或单位)
- python - 使用变量过滤具有多个条件的数据帧时出错(熊猫)
- javascript - 点击按钮“button1”后自动激活“button2”点击
- python - 解决 Pandas read_json 中的“协议未知错误”
- amazon-web-services - 有没有办法在 Win 2019 EC2 实例上启用 Hyper-V 功能?
- pandas - 一个切片上的 Pandas 多索引总和,将其他切片设置为零
- javascript - 如何改进这个将平面数组转换为树的功能?
- javascript - 如何在 JSON 对象数组中查找值?