是否可以通过Heroku Private Space私有访问S3(不是通过Internet)?
不能使用“私有空间对等”和HTTP代理。
答案 0 :(得分:1)
Heroku私有空间通过AWS PrivateLink连接到AWS S3。因此,与AWS S3的连接是私有的(不是通过Internet)。
要在AWS S3存储桶策略中将Heroku私有空间列入白名单,请将私有空间的AWS VPC ID列入白名单。可以使用命令heroku spaces:peering:info --space <your space's name>
找到VPC ID。这是一个示例存储桶策略:
{
"Version": "2012-10-17",
"Id": "example-policy",
"Statement": [
{
"Sid": "AllowHerokuPrivateSpaceVpcAccess",
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::example-bucket/*",
"Condition": {
"StringEquals": {
"aws:sourceVpc": "<your space's VPC id>"
}
}
}
]
}
对该存储桶的请求将被记录为来自私有IP(例如10.0.0.0/16
)。
来源:Heroku支持。 Heroku文档中未记录此行为。