DCOS Mesos代理无法从S3存储桶检索私有资源

时间:2017-06-07 15:21:46

标签: amazon-web-services dcos

我尝试通过Universe包在AWS中的DC / OS堆栈上部署应用程序。据我了解,mesos fetcher将尝试检索这些资源并按照marathon.json中的定义对其进行容器化。这些资源是私有的,需要保密。它们不是静态的,因此使用预先签名的URL很可能是不可能的。

我已经定义了包中的资源。当代理尝试解析资源时,他们会收到403。

将uri定义为http://s3domain/bucket/key或https://返回403。 将uri定义为s3:// mesos fetcher调用hadoop(我们不需要)

尝试从代理节点使用AWS CLI获取资源。 Mesos fetcher也将成功获取任何公共资源。

我已经看到一些使用nginx代理s3并在请求中嵌入aws凭据的解决方案。我所看到的唯一其他解决方案是将所有内容预先包含在内并将s3设置为Docker注册表。这些是解决问题的唯一方法吗?

1 个答案:

答案 0 :(得分:0)

回答太迟,但将来可能对其他人有所帮助。

您可以按照以下步骤从mesos / dcos群集访问私有s3存储桶。

  • Create是DCOS / mesos的VPC的VPC端点。
  • 在存储区policy中将该端点用于私有s3存储区。
  • 为了进行测试,请尝试从mesos节点使用curl来访问s3资源,如果可以的话,那么您就很好了。

https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies-vpc-endpoint.html