Estoy tratando de automatizar la puesta en marcha de una distribución de CloudFront con origen S3. Me gustaría establecer el origen en la URL del sitio web de S3, por ejemplo, mysite.com.s3-website-us-east-1.amazonaws.com . Entonces, pensé que mi plantilla de Cloudformation debería verse así:
{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myDistribution" : { "Type" : "AWS::CloudFront::Distribution", "Properties" : { "DistributionConfig" : { "Origins" : [ { "DomainName" : "mysite.com.s3-website-us-east-1.amazonaws.com", "Id" : "myS3Origin", ...Sin embargo, eso produce el siguiente error:
El parámetro Origin DomainName no hace referencia a un depósito de S3 válido.
Lo cual es cierto, por lo que puedo especificar el depósito S3. Pero quiero que mi origen sea el punto final del sitio web. Mi solución alternativa no automatizada es implementar con el punto final REST de S3 y actualizar el origen en la interfaz de usuario después.
{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "myDistribution" : { "Type" : "AWS::CloudFront::Distribution", "Properties" : { "DistributionConfig" : { "Origins" : [ { "DomainName" : "mysite.com.s3.amazonaws.com", "Id" : "myS3Origin", ...Según los documentos:
El nombre DNS del depósito de Amazon Simple Storage Service (S3) o el servidor HTTP del que desea que CloudFront obtenga objetos para este origen.
No puedo encontrar nada sobre el origen del punto final de un sitio web. http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-originpath
No creo que haya incluido todas las partes relevantes de su configuración.
El problema aquí es que un origen que es un punto final de alojamiento de sitio web de S3 no es un origen de S3, es un origen personalizado .
Todo lo que no sea el extremo REST de un depósito siempre es un origen personalizado.