@@ -6,6 +6,7 @@ import { CfnDistribution } from "aws-cdk-lib/aws-cloudfront";
66import { Construct } from 'constructs' ;
77import { getOriginShieldRegion } from './origin-shield' ;
88import { createHash } from 'crypto' ;
9+ import { LogGroup } from 'aws-cdk-lib/aws-logs' ;
910
1011// Stack Parameters
1112
@@ -75,7 +76,7 @@ export class ImageOptimizationStack extends Stack {
7576 comment : 'image optimization - sample website' ,
7677 defaultRootObject : 'index.html' ,
7778 defaultBehavior : {
78- origin : new origins . S3Origin ( sampleWebsiteBucket ) ,
79+ origin : origins . S3BucketOrigin . withOriginAccessControl ( sampleWebsiteBucket ) ,
7980 viewerProtocolPolicy : cloudfront . ViewerProtocolPolicy . REDIRECT_TO_HTTPS ,
8081 }
8182 } ) ;
@@ -151,13 +152,15 @@ export class ImageOptimizationStack extends Stack {
151152
152153 // Create Lambda for image processing
153154 var lambdaProps = {
154- runtime : lambda . Runtime . NODEJS_20_X ,
155+ runtime : lambda . Runtime . NODEJS_24_X ,
155156 handler : 'index.handler' ,
156157 code : lambda . Code . fromAsset ( 'functions/image-processing' ) ,
157158 timeout : Duration . seconds ( parseInt ( LAMBDA_TIMEOUT ) ) ,
158159 memorySize : parseInt ( LAMBDA_MEMORY ) ,
159160 environment : lambdaEnv ,
160- logRetention : logs . RetentionDays . ONE_DAY ,
161+ logGroup : new logs . LogGroup ( this , 'MyFunctionLogGroup' , {
162+ retention : logs . RetentionDays . ONE_DAY ,
163+ } )
161164 } ;
162165 var imageProcessing = new lambda . Function ( this , 'image-optimization' , lambdaProps ) ;
163166
@@ -172,7 +175,7 @@ export class ImageOptimizationStack extends Stack {
172175
173176 if ( transformedImageBucket ) {
174177 imageOrigin = new origins . OriginGroup ( {
175- primaryOrigin : new origins . S3Origin ( transformedImageBucket , {
178+ primaryOrigin : origins . S3BucketOrigin . withOriginAccessControl ( transformedImageBucket , {
176179 originShieldRegion : CLOUDFRONT_ORIGIN_SHIELD_REGION ,
177180 } ) ,
178181 fallbackOrigin : new origins . HttpOrigin ( imageProcessingDomainName , {
0 commit comments