簡體   English   中英

aws vpc s3 端點 cli 語法

[英]aws vpc s3 endpoint cli syntax

我創建了一個 s3 vpc 端點,但我無法弄清楚 ec2 實例上用於與存儲桶交互的 api cli 語法是什么。

"Resource": "arn:aws:s3:::MyBucketName"

從 VPC 配置頁面

ENDPOINTID=vpce-dxxxxxxx SERVICE=com.amazonaws.eu-west-1.s3

s3政策

{   "Version": "2012-10-17",    "Id": "MyPolicy",   "Statement": [      {           "Sid": "MySidId",           "Effect": "Allow",          "Principal": {
                "AWS": "arn:aws:iam::xxxxxxxx:role/MyRole"          },          "Action": "s3:*",           "Resource": "arn:aws:s3:::MyBucketName"         }   ] }

ec2 角色政策

{
             "Sid": "MySidId",
             "Effect": "Allow",
             "Action": [
                 "s3:ListBucket",
                 "s3:GetObject",
                 "s3:PutObject",
                 "s3:DeleteObject"
             ],
             "Resource": [
                 "*"
             ]
         }

描述前綴列表

{
             "VpcEndpoints": [
                 {
                     "PolicyDocument": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}",
                     "VpcId": "vpc-ec96cxxxx",
                     "State": "available",
                     "ServiceName": "com.amazonaws.eu-west-1.s3",
                     "RouteTableIds": [
                         "rtb-87cexxxx",
                         "rtb-bbcexxxx"
                     ],
                     "VpcEndpointId": "vpce-d983xxxx",
                     "CreationTimestamp": "2016-01-05T13:28:41Z"
                 }
             ]
         }

路由表rtb-bbcexxxx具有正確的"PrefixListId": "pl-6da54xxx"

我嘗試了以下

    aws s3 --profile prf1 --region eu-west-1 ls MyBucketName.com.amazonaws.eu-west-1.s3
    aws s3 --profile prf1 --region eu-west-1 ls com.amazonaws.eu-west-1.s3.MyBucketName
    aws s3 --profile prf1 --region eu-west-1 ls com.amazonaws.eu-west-1.s3/MyBucketName

組合但得到

A client error (NoSuchBucket) occurred when calling the ListObjects operation: The specified bucket does not exist

解決此端點的正確語法是什么? 只是 s3://MyBucketName 嗎?

謝謝

藝術

它應該是,是的——您實際訪問存儲桶的方式應該沒有任何改變。

將端點前綴列表與子網相關聯實質上劫持了到 S3 區域的 DNS 返回的公共 IP 地址的路由,因此您發送到 S3 的流量會遍歷“端點”,而不是通過 Internet 網關發送 (igw-xxxxxxxx )——從您的角度來看,這只是 VPC 基礎架構中的 IP 路由更改,因此無論您是否配置了 S3 端點,您都不需要做任何不同的事情。

當然,我懷疑它實際上不僅僅是“僅僅”更改了路由表,但無論幕后發生了什么,其余部分由 AWS 內部的實施細節組成,與服務出現在用戶面前。

你應該試試

aws s3 ls  --region eu-west-1 s3://MyBucketName

這應該適用於端點。 S3Uris 以s3://為前綴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM