1

私は静的なWebページをホストするWebサイトエンドポイントとして設定されたS3バケットを持っています。SDKを使用してS3(静的にホストされている)ウェブサイトエンドポイントを指すAWS Cloudfront Distributionを作成するにはどうすればよいですか?

私はその前にCloudfrontを配置したいと思います。

私はS3バケットの「プロパティ」から「エンドポイント」をコピー:: 「静的ウェブサイトホスティング。」

それは形式は次のとおりです。「example.com.s3-website-us-east-1.amazonaws.com」

私はAWS SDK CloudFrontのクライアントを使用してcreate_distributionしようとすると、私はこれを取得エラー次のよう

Aws::CloudFront::Errors::InvalidArgument 
The parameter Origin DomainName does not refer to a valid S3 bucket. 

例Rubyのコードは:

cloudfront = Aws::CloudFront::Client.new() 
cloudfront.create_distribution({ 
    distribution_config: { 
    ... 
    origins: { 
     quantity: 1, 
     items: [{ 
     id: "Custom-example.com.s3-website-us-east-1.amazonaws.com", 
     domain_name: "example.com.s3-website-us-east-1.amazonaws.com", 
     s3_origin_config: { 
      origin_access_identity: "" 
     }, 
     origin_path: "" 
     }] 
    }, 
    ... 
    } 

})

私は静的S3バケット上でホストされている

aws cloudfront create-distribution \ 
    --origin-domain-name example.com.s3-website-us-east-1.amazonaws.com \ 
    --default-root-object index.html 

答えて

3

ウェブサイトのエンドポイントとして構成する必要がGUIを通じてだけでなく、CLIを通じて同じ「起源ドメイン名」との分布を作成することができています"Origin Type" "custom_origin"およびNOT S3_Origin。これは、GUIの[Distribution]の[Origins]タブの場合に当てはまります。

サンプルのRubyコード:

distribution_config: { 
    ... 
     origins: { 
     quantity: 1, 
     items: [{ 
      id: "Custom-example.com.s3-website-us-east-1.amazonaws.com", 
      domain_name: "example.com.s3-website-us-east-1.amazonaws.com", 
      custom_origin_config: { 
      http_port: 80, # required 
      https_port: 443, # required 
      origin_protocol_policy: "http-only", # required, accepts http-only, match-viewer, https-only 
      }, 
     }] 
    ... 
    } 
+0

はこのためにどうもありがとうございます - これは見つけるためにほとんど不可能でした... – Vincent

関連する問題