From 65265414b0893a7cc8a70822152884dd7f0a92ce Mon Sep 17 00:00:00 2001 From: Jeremy Olexa Date: Tue, 25 Jul 2017 11:34:10 -0500 Subject: [PATCH] Use the derived WebsiteURL A given region, will not have a predictable website url, see: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints This is annoying. Further, it is annoying that an Origin can not have 'http://' in it so we can not use the AWS::S3::Bucket WebsiteURL attribute. Ergo, this complicated Fn::Split, Fn::Select thing. --- primary-region-infra.yml | 3 ++- standby-region-infra.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/primary-region-infra.yml b/primary-region-infra.yml index 9c158f2..3909317 100644 --- a/primary-region-infra.yml +++ b/primary-region-infra.yml @@ -114,7 +114,8 @@ Resources: Enabled: 'true' HttpVersion: http2 Origins: - - DomainName: !Sub "${PrimaryBucket}.s3-website-${AWS::Region}.amazonaws.com" + # Use the WebsiteURL /but/ use the part after '//' + - DomainName: !Select [ "1" , "Fn::Split": [ "//", "Fn::GetAtt": [ PrimaryBucket, WebsiteURL ] ] ] Id: PrimaryBucketOrigin CustomOriginConfig: OriginProtocolPolicy: "http-only" diff --git a/standby-region-infra.yml b/standby-region-infra.yml index ca6973d..538f253 100644 --- a/standby-region-infra.yml +++ b/standby-region-infra.yml @@ -68,7 +68,8 @@ Resources: Enabled: true HttpVersion: http2 Origins: - - DomainName: !Sub "${StandbyReplicationBucket}.s3-website-${AWS::Region}.amazonaws.com" + # Use the WebsiteURL /but/ use the part after '//' + - DomainName: !Select [ "1" , "Fn::Split": [ "//", "Fn::GetAtt": [ StandbyReplicationBucket, WebsiteURL ] ] ] Id: StandbyBucketOrigin CustomOriginConfig: OriginProtocolPolicy: "http-only"