Skip to main content

Guidance for Modernizing Electric Vehicle (EV) Charging on AWS

Overview

This Guidance demonstrates how to build and modernize your electric vehicle (EV) charging station using AWS IoT Core. It highlights a modern Charging Station Management System (CSMS) built with serverless technologies, offering improved performance, lower costs, enhanced security, and compliance with the Open Charge Point Protocol (OCPP) for charger-to-cloud interoperability. The Guidance helps establish a reliable, secure, highly available EV charging platform with 99.9% uptime, as required by law in certain countries. Designed for reduced operating expenses and supporting OCPP, the serverless CSMS helps ensure a seamless charging experience while meeting regulatory requirements.

How it works

This architecture diagram shows how to build and modernize your EV charging system using AWS IoT Core.

Deploy with confidence

Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-as or customize to fit your needs.

Go to sample code

Well-Architected Pillars

The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.

The architecture leverages NLB to efficiently distribute incoming connections from charge points to OCPP Handler instances running on Fargate. This offloads load balancing and high availability responsibilities, allowing you to focus on the core charging application. Fargate hosts the containerized OCPP Handler, enabling automatic scaling based on traffic and simplifying deployment and management.

Read the Operational Excellence whitepaper

AWS IoT Core establishes secure, encrypted communication channels between charge points and backend systems to handle authentication, authorization, and message encryption. AWS Identity and Access Management (IAM) enforces fine-grained access controls, restricting access to authorized users and services only. Security groups and network ACLs act as virtual firewalls, controlling inbound and outbound traffic, protecting the system from potential network-based attacks.

Read the Security whitepaper

The stateless architecture allows the NLB to route traffic to any available OCPP Handler instance on Fargate. AWS Auto Scaling groups help ensure system scalability to handle increased load without downtime. AWS IoT Core provides reliable message handling, automatically rerouting traffic during failover or scaling events. Amazon SQS buffers and stores payloads, enhancing overall system resilience.

Read the Reliability whitepaper

AWS IoT Core, Amazon SQS, and Lambda leverage scalability and high-throughput capabilities to efficiently handle potentially large volumes of OCPP messages from charging stations. Their serverless nature supports automatic scaling based on demand, adapting infrastructure to workload fluctuations. Managed services reduce operational overhead, re-directing focus to application-level concerns.

Read the Performance Efficiency whitepaper

Serverless and pay-as-you-go pricing models (meaning you pay only for what you use) of AWS IoT Core, Amazon SQS, Lambda, and Step Functions allow you to scale the charging network up and down as needed, without incurring fixed costs. The event-driven architecture, facilitated by these services, consumes resources only when specific events or messages invoke actions, improving resource utilization and reducing waste.

Read the Cost Optimization whitepaper

The event-driven architecture and serverless services like AWS IoT Core, Amazon SQS, Lambda, and Step Functions minimize the environmental impact by consuming resources only when invoked, reducing the overall operational footprint and the need for always-on computing power.

Read the Sustainability whitepaper

Disclaimer

The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.