Architecture overview
Deploying CloudFront Extensions solution with the default parameters builds the following environment in the AWS Cloud.
Figure 1: CloudFront Extensions architecture
- Amazon CloudFront distributes the solution frontend web UI assets hosted in Amazon S3 bucket.
- Amazon Cognito user pool provides authentication for backend.
- Amazon AppSync provides the backend GraphQL APIs.
- Amazon API Gateway provides the backend RESTful APIs for SSL certificates and Monitoring features.
- Amazon DynamoDB stores the solution related information as backend database.
- AWS Lambda interacts with other Amazon Services to process core logic of monitoring, SSL certificates and extensions repository, and obtains information updated in DynamoDB tables.
- AWS Step Functions orchestrate workflows for creating ACM certificates, importing existed certificates and creating CloudFront distributions.
- Extensions are shown in Extensions repository. AWS CloudFormation and AWS Serverless Application Repository will be triggered if you want to deploy an extension into your AWS account.
- AWS Lambda stores CloudFront configuration changes into S3 bucket, and you can view the difference between two CloudFront configuration versions and apply the configuration.
- Amazon Athena queries CloudFront standard logs or real-time logs to get CloudFront metrics and output it by API Gateway. You can also view the metrics by monitoring dashboard.