AWS CodeDeploy不从事私人VPC工作



我在VPC内有私人子网,带有以下路由表:

XX.X.0.X/16 local
0.0.0.0/0 nat-0XXXXXXXXX

使用上述配置AWS编码EPLOY失败,错误为Error code: HEALTH_CONSTRAINTS,而/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log中没有日志条目。

但是,当我更改它以允许通过添加Internet网关访问公众访问随着以下路由表AWS编码eploy被成功地串通。

XX.X.0.X/16 local   
0.0.0.0/0 igw-0XXXXXXXXX

我是否缺少其他配置?

编码eploy代理需要出站访问Internet才能访问4个不同的服务端点。为了使服务正常工作,需要访问所有这些端点。

需要出站访问Internet才能访问(1) codeDeploy服务端点,(2) 访问S3或GitHub服务 - 此访问是必需的向代理下载用于部署的修订的软件部署软件包。

来自CodeDeploy FAQS:

...安装在Amazon EC2实例上的AWS CodeDeploy代理必须是 能够访问公共AWS CodeDeploy和Amazon S3服务 端点。有关更多信息,请参阅AWS编码端口端点和 Amazon S3端点。

(3)编码EPLOY代理将定期检查软件更新,并在新版本的24小时内自动自动更新自动。正确配置的编码EPLOY代理实例将允许IAM S3访问AWS CodeDeploy Resource Kit参考桶,以便在可用时可以访问新软件。在升级服务时,在此处不提供更新访问可能会破坏您的实现,或限制对新功能的访问。

(4)关于codedeploy命令和控制,代理的源代码显示了对特殊命令https端点的引用,称为 AWS_DEPLOY_CONTROL_ENDPOINT

来自AWS编码EDEPLOY-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

虽然显然没有记录,但也需要访问此端点。

相关内容

  • 没有找到相关文章

最新更新