genreviews-revisited/scripts/cfn/genreviews.yaml

87 lines
2.8 KiB
YAML

AWSTemplateFormatVersion: "2010-09-09"
Description: "genreviews site"
Resources:
GenreviewsSiteBucket:
Type: "AWS::S3::Bucket"
Properties:
BucketName: "genreviews.tmont.com"
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
DeletionPolicy: Retain
GenreviewsSiteCachePolicy:
Type: "AWS::CloudFront::CachePolicy"
Properties:
CachePolicyConfig:
Comment: "Cache policy for genreviews.tmont.com distribution"
DefaultTTL: 300 # five minutes
MaxTTL: 31536000
MinTTL: 60
Name: "genreviews-cache-policy"
ParametersInCacheKeyAndForwardedToOrigin:
CookiesConfig:
CookieBehavior: none
EnableAcceptEncodingBrotli: true
EnableAcceptEncodingGzip: true
HeadersConfig:
HeaderBehavior: none
QueryStringsConfig:
QueryStringBehavior: none
GenreviewsSiteDistribution:
Type: "AWS::CloudFront::Distribution"
Properties:
DistributionConfig:
Aliases:
- genreviews.tmont.com
Comment: "Frontend proxy for genreviews.tmont.com"
DefaultCacheBehavior:
AllowedMethods:
- GET
- HEAD
CachedMethods:
- GET
- HEAD
CachePolicyId: !Ref GenreviewsSiteCachePolicy
Compress: true
TargetOriginId: s3-genreviews-bucket
ViewerProtocolPolicy: "redirect-to-https"
DefaultRootObject: "index.html"
Enabled: true
HttpVersion: http2
IPV6Enabled: true
Origins:
- DomainName: !GetAtt GenreviewsSiteBucket.RegionalDomainName
Id: s3-genreviews-bucket
S3OriginConfig:
OriginAccessIdentity: ""
ViewerCertificate:
AcmCertificateArn: "arn:aws:acm:us-east-1:592283802202:certificate/73845214-de19-46df-9504-d3c9995564b2"
MinimumProtocolVersion: "TLSv1"
SslSupportMethod: "sni-only"
Tags:
- Key: app
Value: genreviews
GenreviewsSiteDNS:
Type: "AWS::Route53::RecordSetGroup"
Properties:
Comment: "DNS for genreviews.tmont.com CloudFront proxy"
HostedZoneName: "tmont.com."
RecordSets:
- Name: genreviews.tmont.com
Type: "A"
AliasTarget:
# https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-hostedzoneid
HostedZoneId: "Z2FDTNDATAQYW2"
DNSName: !GetAtt GenreviewsSiteDistribution.DomainName
- Name: genreviews.tmont.com
Type: "AAAA"
AliasTarget:
HostedZoneId: "Z2FDTNDATAQYW2"
DNSName: !GetAtt GenreviewsSiteDistribution.DomainName