2017-03-10 20 views
0

AWS Cloudformationテンプレートの問題を解決しようとしています。私が持っているテンプレートには、プライベートサブネットを持つVPCとS3バケットへの接続を可能にするVPCエンドポイントが含まれています。 バケット自体には3つのバケットが含まれています。既に同じ領域(この場合はeu-west-1)に2つの既存のバケットがあります。S3Subucketが生成されたCloudformへの接続がタイムアウトする

私はS3(例えば sudo aws s3 ls bucketname)にアクセスするためにAWS-CLIコマンドを使用し、その後、プライベートサブネット内のEC2インスタンスにログインするためにAWS-CLIを使用

私の問題は、私だけ前の内容を一覧表示することができるということですその地域の既存のバケット、またはウェブサイトを通じて手動で作成した新しいバケットがあります。私はそれだけでハングアップし、時間cloudformation-生成されたバケットを一覧表示しようとすると:

[[email protected] ~]$ sudo aws s3 ls testbucket 
HTTPSConnectionPool(host='vltestbucketxxx.s3.amazonaws.com', port=443): Max retries exceeded with url: /?delimiter=%2F&prefix=&encoding-type=url (Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x7f2cc0bcf110>, 'Connection to vltestbucketxxx.s3.amazonaws.com timed out. (connect timeout=60)')) 

{ 
    "Statement": [ 
     { 
      "Action": "*", 
      "Effect": "Allow", 
      "Resource": "*", 
      "Principal": "*" 
     } 
    ] 
} 
(すべては効果がありませんできるように設定を設定)VPCエンドポイントに関連していないようです

アクセス制御がそれに影響するようにも見えません。

{ 
    "Resources": { 
    "testbucket": { 
     "Type": "AWS::S3::Bucket", 
     "Properties": { 
     "AccessControl": "PublicReadWrite", 
     "BucketName": "testbucket" 
     } 
    } 
    } 
} 

バケットポリシーは、(私は添付なしポリシーにバケットを生成し、そして再びのみcloudformation生成されたものがタイムアウトしました)のいずれかの問題ではないようです。ウェブサイトでは、接続するバケットとタイムアウトするバケットの設定が私と同じに見えます。

他の地域のバケットにもアクセスしようとするとタイムアウトしますが、私が理解したように、それはVPCと同じ地域にバケットを生成するので、同じではないはずです領域)。

誰かが問題の原因を考えている人はいますか?

編集:私はVPCパブリックサブネットから接続できます。結局のところ、エンドポイントの問題でしょうか?

答えて

0

VPCエンドポイントを使用する場合は、VPCエンドポイントがServiceNameプロパティ(例:com.amazonaws.eu-west-1.s3)で設定されているエンドポイントに要求を送信するようにクライアントを設定していることを確認してください。

はAWS CLIを使用してこれを行うには、 AWS_DEFAULT_REGION environment variableまたは --region command line option、例えば、 aws s3 ls testbucket --region eu-west-1を設定します。リージョンを明示的に設定しないと、S3クライアントはデフォルトで、その要求にグローバルエンドポイント( s3.amazonaws.com)を使用します。これはVPCエンドポイントと一致しません。