AWS CLI如何指定带通配子域的S3 VPC接口端点URL
S3 VPC接口端点AWS CLI配置方案
报错核心原因
你拿到的带*的地址是通配符DNS记录,不是可直接访问的根端点地址,直接使用必然触发报错:
- 不带协议头传参:违反AWS CLI参数规范,
--endpoint-url必须以http://或https://开头 - 去掉
*直接访问根域名:该根域名未绑定监听服务、也不在端点SSL证书的合法域名列表中,会触发连接超时、SSL校验失败
正确配置方式
方案1:开启私有DNS(零配置,最推荐)
找到你创建的S3接口端点,在详情页开启私有DNS名称选项。开启后VPC内EC2会自动将默认S3区域域名解析到接口端点内网地址,不需要手动指定--endpoint-url参数,直接执行原生命令即可:
aws s3 ls
所有请求自动走内网通道,SSL证书完全匹配,不会出现校验错误。
方案2:手动指定路径风格端点(无法开私有DNS时用)
将通配符*替换为bucket,必须使用https协议头,命令示例:
aws s3 ls --endpoint-url https://bucket.vpce-0baa889820078e037-k898xutp.s3.eu-west-2.vpce.amazonaws.com
该地址是S3接口端点默认提供的路径风格访问入口,已在SSL证书域名列表内,正常监听443端口,不会触发超时或证书错误。
方案3:可用区级端点(同可用区低延迟场景用)
你拿到的带可用区标识(eu-west-2b)的通配符地址,是单可用区节点入口,将*替换为s3即可使用:
aws s3 ls --endpoint-url https://s3.vpce-0baa882732078e037-k898xutp-eu-west-2b.s3.eu-west-2.vpce.amazonaws.com
注意该入口仅转发到对应可用区的端点节点,跨可用区访问会产生额外流量费用,仅建议同可用区EC2使用。
配置校验
执行以下命令解析端点域名,如果返回VPC内网段IP(10/172/192开头),即说明解析正常:
nslookup bucket.vpce-0baa889820078e037-k898xutp.s3.eu-west-2.vpce.amazonaws.com
解析正常后执行S3命令可正常返回结果即为配置成功。
注意:不要使用
http://前缀访问S3端点,S3所有接口默认强制HTTPS,HTTP请求不会被响应,必然触发连接超时。
内容的提问来源于stack exchange,提问作者Ankur
相关产品推荐
相关产品推荐

