When AEM as a Cloud Service was first released, CDN behavior could only be controlled through Apache configurations, limiting advanced customization compared to third-party CDNs like Fastly or Cloudflare. Now, Adobe offers a new Managed CDN feature for AEM Cloud Service, greatly simplifying hybrid setups with AEM Edge Delivery (AEM Live). To use these new CDN configurations, a paid AEM Cloud Service subscription is required, as sandbox instances share default CDN settings. Early-adopter access is needed for advanced features like redirection. Configuration is done by creating a /config/cdn.yaml file in your AEM project and deploying it via a dedicated Config pipeline to manage environment-specific settings (e.g., DEV, STG, PROD). These lightweight pipelines typically run in just 1–2 minutes, allowing for efficient iteration. Now the majority of developers would agree that testing custom configs is tedious at the best of times. Luckily there is a way to test this locally with minimal setup so you can have even more fun testing the same thing forty times.
1. Get NPM, Node and NVM on your machine. You'll want to use nodejs 20
2. install aio with npm install -g @adobe/aio-cli
3. install and update your AIO plugins:aio plugins:install @adobe/aio-cli-plugin-cloudmanager
aio plugins:install @adobe/aio-cli-plugin-aem-rde aio plugins:update
4. Authenticate with aio login which will pop a browser window - make sure you use your IMS profile for the AEMaaCS account you're working with, otherwise you may need to aio logout and re-select.
- Set your organization with
aio cloudmanager:org:select
5. Set your program ID to your org's ID with aio config:set cloudmanager_programid {YOUR PROGRAM ID GOES HERE}
- If you want to see the environments you have access to, use
aio cloudmanager:list-environments.This will show you which environment the RDE is located in - Use this to set the CloudManager EnvironmentID. This can be done by using
aio config:set cloudmanager_environmentID {YOUR ENVIRONMENT ID GOES HERE}
6. Initiate your RDE setup with aio aem:rde:setup - it will ask if you want to store locally, say yes please
7. Try aio aem:rde:status and see if it lets you use the RDE. It should respond like this:
PS C:\Users\Noah\Desktop\my-aemaacs> aio aem:rde:status
Running aem:rde:status on cm-p104592-e1291743
Info for cm-p104592-e1291743
Environment: Ready
Once you have set this up, you are ready to begin testing your config. If you have not already, now would be a good time to create a new branch that will reflect your changes. Then you will need to ensure you are in the proper directory of the config you would like to test. After that is done you can use aio aem:rde:install -t env-config ./config to install your CDN config to the directory. This will list any syntax errors you might have.
PS C:\Users\Noah\Desktop\my-aemaacs> aio aem:rde:install -t env-config ./config
Running aem:rde:status on cm-p104592-e1291743
Zipped file /tmp/aio-rde-RF1WAb/config.zip of 2584 total bytes
Uploading ████████████████████████████████████████ 100% | ETA: 0s | 3/3 KB
#42: deploy completed for env-config config.zip on author,publish - done by 66E11EA86517050C0A495EAB@c23e2a2e64229a46495fae.e at 2025-10-24T21:15:59.387Z
Logs:
> State: complete
Testing something like a CDN config can be tricky sometimes, but there are ways to do so locally. Even though testing will be done locally, we still need to utilize the backend logic that will be used by the CDN.
After you've pushed your config to the RDE you will need to find the dispatcher URL with the associated IP and map the custom IP to it. If done properly, this will let us see how the CDN config is interacting with the test URLs without the need to push it to a development branch.
Your next step will likely be to create a pull request to get approval for pushing you changes into dev. When your PR has been approved you can use git push adobe to push it to the remote repo where Cloud Manager will built the CDN config into the development environment for further testing. At this point you might be thinking there is no light at the end of the development tunnel. Luckily for you, the only thing left to do is validate your changes and run the Prod CDN Configs pipeline to push these changes into production. When that is done you have a fully functioning CDN config!
About the Author
Like what you heard? Have questions about what’s right for you? We’d love to talk! Contact Us