メインコンテンツまでスキップ

CDN追加

注記

作成日:2022/05/04

構成図

CloudFront作成

CDNを追加します。

wordpress-cdk/lib/wordpress-cdk-stack.ts
import { aws_autoscaling, aws_cloudfront, aws_cloudfront_origins, aws_ec2, aws_efs, aws_elasticloadbalancingv2, aws_elasticloadbalancingv2_targets, aws_iam, aws_rds, aws_route53, aws_route53_targets, CfnOutput, RemovalPolicy, Stack, StackProps } from 'aws-cdk-lib';
    // *****
// CloudFront
// *****

const cloudfront = new aws_cloudfront.Distribution(this, 'cloudfront', {
defaultBehavior: {
origin: new aws_cloudfront_origins.HttpOrigin("elb.wordpress-cdk.tk"),
allowedMethods: aws_cloudfront.AllowedMethods.ALLOW_ALL,
cachedMethods: aws_cloudfront.CachedMethods.CACHE_GET_HEAD_OPTIONS,
viewerProtocolPolicy: aws_cloudfront.ViewerProtocolPolicy.ALLOW_ALL,
cachePolicy: aws_cloudfront.CachePolicy.CACHING_OPTIMIZED,
originRequestPolicy: aws_cloudfront.OriginRequestPolicy.ALL_VIEWER,
},
})
    new CfnOutput(this, 'cloudfront-output', {
value: cloudfront.distributionDomainName
})
  • 183-196行目
    • CloudFrontの作成
      • オリジンはelbのドメイン
      • 対応するHTTPメソッドの設定(allowedMethods、cachedMethods)
      • ビューワープロトコルポリシーはHTTP and HTTPSRedirect HTTP to HTTPSHTTPS onlyから選択
      • キャッシュポリシーはAWSが用意しているCacheOptimized
      • オリジンリクエストポリシーはオリジンに転送するパラメーターの設定(AllViewerはすべてを転送)

CDK Deploy

デプロイしましょう。

ターミナル
cdk deploy

CloudFront発行のドメインでアクセスできることを確認してください。