Mas*_*ode 3 amazon-web-services aws-code-deploy aws-vpc
我在VPC中有私有子网,路由表如下:
XX.X.0.X/16 local
0.0.0.0/0 nat-0XXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
使用上述配置,AWS CodeDeploy失败并显示错误,因为Error code: HEALTH_CONSTRAINTS没有日志条目/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log.
但是当我通过添加带有以下路由表的Internet Gateway来更改它以允许公共访问时,AWS CodeDeploy成功地获得了竞争.
XX.X.0.X/16 local
0.0.0.0/0 igw-0XXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
我错过了其他任何配置吗?
CodeDeploy代理需要对Internet的出站访问才能访问4个不同的服务端点.需要访问所有这些端点才能使服务正常工作.
需要到Internet的出站访问,以获得(1)的CodeDeploy服务端点,以及(2)访问S3或Github的服务-这需要访问代理下载软件部署包版本部署.
...安装在Amazon EC2实例上的AWS CodeDeploy代理必须能够访问公共AWS CodeDeploy和Amazon S3服务端点.有关更多信息,请参阅AWS CodeDeploy端点和Amazon S3端点.
(3) CodeDeploy代理将定期检查软件更新,并在新版本发布后24小时内自动更新.正确配置的CodeDeploy代理实例将允许IAM S3访问AWS CodeDeploy资源工具包参考存储桶,以便它可以在可用时访问新软件.如果未能在此处提供更新访问权限,则可能会在升级服务时破坏您的实施,或限制对新功能的访问.
(4)关于CodeDeploy命令和控制,代理的源代码显示对特殊命令https端点的引用,称为AWS_DEPLOY_CONTROL_ENDPOINT:
从aws-codedeploy-agent软件存储库,该deploy_control_endpoint.rb文件具有以下内容:
require 'aws-sdk-core'
module Aws
module Plugins
class DeployControlEndpoint < Seahorse::Client::Plugin
option(:endpoint) do |cfg|
url = ENV['AWS_DEPLOY_CONTROL_ENDPOINT']
if url.nil?
url = "https://codedeploy-commands.#{cfg.region}.amazonaws.com"
if "cn" == cfg.region.split("-")[0]
url.concat(".cn")
end
end
url
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
虽然没有记录,但还需要访问此端点.
| 归档时间: |
|
| 查看次数: |
1371 次 |
| 最近记录: |