Below is a diagram and a list of the main AWS resources and services used by the Conversions API Gateway on App Runner, the number of instances created per resource or service type and, when applicable, their purpose.
The diagram and the list contain only the most important AWS resources and services used by the Conversions API Gateway. Other AWS resources and services not listed here will be used by your instance.
The diagram below shows the main resources instantiated and how they interact between them.
App Runner is a fully managed service that allows containerized web applications to run in a private AWS VPC. It abstracts away container management, load balancing, NAT Gateway and Internet Gateway. App Runner also provides custom domain provisioning, certificate management, auto scaling, free default HTTPS service url and blue green deployment.
The Conversions API Gateway uses App Runner as its primary compute resource for running data plane and control plane containers. By default, a single container is created for data plane and control plane and the limits can be changed based on auto scaling configuration.
DynamoDB is a serverless, NoSQL, fully managed database service from AWS. The Conversions API Gateway uses DynamoDB for storing configuration data for the instance. More details about the data is included in the Configuration section.
Timestream is an AWS service for easy-to-manage time-series databases. The Conversions API Gateway uses Timestream to store time-series metrics that power the control plane UI as well as telemetry about event count. Retention for time-series metrics is set to 30 days.
Eventbridge Scheduler is an AWS service that allows the creation of schedules for cron triggers. The Conversions API Gateway uses Eventbridge Scheduler for cron triggers for periodic jobs like telemetry, backup, infrastructure updates, etc.
Amazon managed prometheus is an AWS service for container monitoring. The Conversions API Gateway uses Amazon managed prometheus to store time-series metrics that power the control plane UI as well as telemetry about event count.
Key Management Service is an AWS service for encrypting data. The Conversions API Gateway uses KMS to encrypt sensitive data before storing it in the database.
Lambda is an AWS service for serverless code execution. The Conversions API Gateway uses Lambda for multiple use cases:
Cognito is a customer identity and access management service provided by AWS. The Conversions API Gateway uses Cognito for user authentication.
Codebuild is a fully managed continuous integration service provided by AWS. The Conversions API Gateway uses Codebuild for executing updates and maintenance on the instance.
Cloudfront is a CDN service provided by AWS. The Conversions API Gateway uses Cloudfront as CDN and also as a reverse proxy for accessing the control plane and data plane container UI.
Cloudwatch is a logging service provided by AWS. The Conversions API Gateway will store installation and application logs in the Cloudwatch service.
AWS Identity and Access Management (IAM) is an AWS service that helps securely control access to AWS resources. IAM is used to control who is authenticated (signed in) and authorized (has permissions) to use resources.
Amazon Simple Storage Service (Amazon S3) is an object storage service offering industry-leading scalability, data availability, security, and performance. The Conversions API Gateway uses AWS S3 mainly for the automatic backup feature.
Budgets is an AWS service for tracking costs and usage. The Conversions API Gateway uses Budgets for cost monitoring for the instance and providing alerts based on budget (for example, if a budget limit is exceeded). The default budget is set to $50 per month.
ACM is an AWS Service for provisioning and managing SSL/TLS certificates. The Conversions API Gateway uses ACM to provision and attach a first-party domain certificate to Cloudfront.
The Conversions API Gateway treats four types of data:
The data received by the Conversions API Gateway from the Meta Pixel consists of events and customer information. These are not stored on the instance, they just transit the Conversions API Gateway to be then sent to Meta's Conversions API.
The Conversions API Gateway configuration data, detailed below, is stored in AWS DynamoDB, AWS Timestream and AWS Cognito. This data includes:
The Conversions API Gateway is effectively a gateway to transition this data to Meta, and once sent, the data cannot be retrieved back or changed by the engaged Conversions API Gateway owner. The users will be able to see those events (as per our current browser Pixel sending events directly to Meta) from the Events Manager.
The Conversions API Gateway uses the AWS Cloudwatch service to log installation and application running information. All logs have a retention period of 5 days to keep the costs of logging low.
Application logs are written for as long as the Conversions API Gateway software and resources are running. Application running logs include:
The AWS Cloudwatch service does not log any event or contact information.
To learn more about telemetry, see Conversions API System Health Information.
The cost of the Conversions API Gateway depends on the cost of the service and resource instances used. AWS provides a tool to estimate the cost of an implementation. For reference, see the pricing calculator for processing 10 million events per month.
The cost information provided in this section are estimates obtained using the AWS pricing calculator in the us-west-2 (Oregon) region, and should serve as a reference. The actual cost of your instance may vary based on usage. AWS Free Tier pricing could also change the costs upwards or downwards. The default setup can only support up to 250 million events per month and auto scaling needs to be enabled to support higher load. Note that enabling auto scaling will not automatically bump up the prices, as compute capacity scales based on the number of events flowing through the system.
The estimated monthly base cost might look like the breakdown below based on different event volumes:
Note: the table shows estimated monthly cost @ us-west-2 (Oregon). Figures are in US$.
Resource Type | 10M events | 250M events | 2500M events |
---|---|---|---|
App Runner data plane container fixed cost | 16.50 | 16.50 | 165 |
App Runner data plane container data transfer cost | 0.90 | 22.50 | 225 |
App Runner control plane container | 6.60 | 6.60 | 6.60 |
Amazon Managed Prometheus | 0.24 | 2.4 | 23.65 |
S3 | 0.02 | 0.02 | 0.02 |
DynamoDB | 0.80 | 1.20 | 1.93 |
ECS | 0.85 | 0.85 | 0.85 |
Lambda | 0.38 | 0.38 | 0.38 |
Eventbridge Scheduler | 0 | 0 | 0 |
Cognito | 0 | 0 | 0 |
Codebuild | 0.15 | 0.15 | 0.15 |
Cloudwatch logs | 1.52 | 1.52 | 1.52 |
Key Management Service | 1 | 1 | 1 |
IAM | 0 | 0 | 0 |
Cloudfront | 0.10 | 0.10 | 0.10 |
ACM | 0 | 0 | 0 |
Budgets | 0 | 0 | 0 |
Total cost | 29.06 | 52.22 | 425.20 |
The Conversions API Gateway requires the following inbound and outbound network traffic to work as documented. The default configuration only allows the required traffic. App Runner provides inbuilt load balancer and access control which can’t be changed. The only inbound access to App Runner service is on port 443. We have a security group attached to the ECS cluster which doesn’t allow any inbound traffic but allows outbound traffic so that telemetry can be sent to Meta in case of failures if telemetry consent is provided.
The Conversions API Gateway requires the following inbound and outbound network traffic to work as documented. The default configuration only allows the required traffic.
Endpoints are secured via TLS and SSL, and in-transit data is encrypted. Conversions API Gateway exposes two internet-facing endpoints:
These endpoints are secured through TLS and by using an SSL certificate generated automatically during the server provisioning.