静的 Web ページをホストする Web サイト エンドポイントとして構成された S3 バケットがあります。
その前にCloudfrontを置きたい。
S3 バケットの「プロパティ」 :: 「静的 Web サイト ホスティング」から「エンドポイント」をコピーしました。
「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: ""
}]
},
...
}
}))
GUI と CLI を使用して、同じ「オリジン ドメイン名」でディストリビューションを作成できます。
aws cloudfront create-distribution \
--origin-domain-name example.com.s3-website-us-east-1.amazonaws.com \
--default-root-object index.html