@aws-solutions-constructs/aws-cloudfront-mediastore
v2.74.0
Published
CDK Constructs for Amazon CloudFront to AWS Elemental MediaStore integration.
Downloads
967
Maintainers
Readme
aws-cloudfront-mediastore module
| Reference Documentation:| https://docs.aws.amazon.com/solutions/latest/constructs/| |:-------------|:-------------|
| Language | Package |
|:-------------|-----------------|
| Python|aws_solutions_constructs.aws_cloudfront_mediastore
|
| TypeScript|@aws-solutions-constructs/aws-cloudfront-mediastore
|
| Java|software.amazon.awsconstructs.services.cloudfrontmediastore
|
Overview
This AWS Solutions Construct implements an Amazon CloudFront distribution to an AWS Elemental MediaStore container.
Here is a minimal deployable pattern definition:
Typescript
import { Construct } from 'constructs';
import { Stack, StackProps } from 'aws-cdk-lib';
import { CloudFrontToMediaStore } from '@aws-solutions-constructs/aws-cloudfront-mediastore';
new CloudFrontToMediaStore(this, 'test-cloudfront-mediastore-default', {});
Python
from aws_solutions_constructs.aws_cloudfront_mediastore import CloudFrontToMediaStore
from aws_cdk import Stack
from constructs import Construct
CloudFrontToMediaStore(self, 'test-cloudfront-mediastore-default')
Java
import software.constructs.Construct;
import software.amazon.awscdk.Stack;
import software.amazon.awscdk.StackProps;
import software.amazon.awsconstructs.services.cloudfrontmediastore.*;
new CloudFrontToMediaStore(this, "test-cloudfront-mediastore-default", new CloudFrontToMediaStoreProps.Builder()
.build());
Pattern Construct Props
| Name | Type | Description |
|:-------------|:----------------|-----------------|
|existingMediaStoreContainerObj?|mediastore.CfnContainer
|Optional user provided MediaStore container to override the default MediaStore container.|
|mediaStoreContainerProps?|mediastore.CfnContainerProps
|Optional user provided props to override the default props for the MediaStore Container.|
|cloudFrontDistributionProps?|cloudfront.DistributionProps
|any
|Optional user provided props to override the default props for the CloudFront Distribution.|
|insertHttpSecurityHeaders?|boolean
|Optional user provided props to turn on/off the automatic injection of best practice HTTP security headers in all responses from CloudFront|
| responseHeadersPolicyProps? | cloudfront.ResponseHeadersPolicyProps
| Optional user provided configuration that cloudfront applies to all http responses.|
|cloudFrontLoggingBucketProps?|s3.BucketProps
|Optional user provided props to override the default props for the CloudFront Logging Bucket.|
Pattern Properties
| Name | Type | Description |
|:-------------|:----------------|-----------------|
|cloudFrontWebDistribution|cloudfront.Distribution
|Returns an instance of cloudfront.Distribution created by the construct.|
|mediaStoreContainer|mediastore.CfnContainer
|Returns an instance of mediastore.CfnContainer.|
|cloudFrontLoggingBucket|s3.Bucket
|Returns an instance of s3.Bucket as the logging bucket for the CloudFront Web Distribution.|
|cloudFrontOriginRequestPolicy|cloudfront.OriginRequestPolicy
|Returns an instance of cloudfront.OriginRequestPolicy created by the construct for the CloudFront Web Distribution.|
|cloudFrontOriginAccessIdentity?|cloudfront.OriginAccessIdentity
|Returns an instance of cloudfront.OriginAccessIdentity created by the construct for the CloudFront Web Distribution origin custom headers and the MediaStore Container policy.|
|cloudFrontFunction?|cloudfront.Function
|Returns an instance of the Cloudfront function created by the pattern.|
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon CloudFront
- Configure access logging for CloudFront Web Distribution
- Enable CloudFront Origin Request Policy for AWS Elemental MediaStore Container
- Set
User-Agent
custom header with CloudFront Origin Access Identity - Enable automatic injection of best practice HTTP security headers in all responses from CloudFront Distribution
AWS Elemental MediaStore
- Set the deletion policy to retain the resource
- Set the container name with the CloudFormation stack name
- Set the default Container Cross-origin resource sharing (CORS) policy
- Set the default Object Life Cycle policy
- Set the default Container Policy to allow only
aws:UserAgent
with CloudFront Origin Access Identity - Set the default Metric Policy
- Enable the access logging
Architecture
© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.