2

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 だけですか??

どうも

美術

4

2 に答える 2

1

そうであるはずです。実際にバケットにアクセスする方法は何も変わらないはずです。

エンドポイント プレフィックス リストをサブネットに関連付けると、基本的に、S3 リージョンの DNS によって返されたパブリック IP アドレスへのルートがハイジャックされるため、S3 に送信するトラフィックは、インターネット ゲートウェイ (igw-xxxxxxxx) を介して送信されるのではなく、「エンドポイント」を通過します。 ) -- あなたの観点からは、これは VPC インフラストラクチャ内の IP ルーティングの変更にすぎないため、S3 エンドポイントをプロビジョニングしたかどうかにかかわらず、何もする必要はありません。

もちろん、実際にはルートテーブルの変更だけではないと思いますが、裏で何が起こっていようと、残りは AWS 内部の実装の詳細で構成されており、ルートテーブルの変更方法には関係ありません。サービスがユーザーに表示されます。

于 2016-01-07T22:52:06.250 に答える