Answer – C
The AWS Documentation mentions the following to support this.
Custom Platforms
Elastic Beanstalk supports custom platforms. A custom platform is more advanced customization than a Custom Image in several ways. A custom platform lets you develop an entirely new platform from scratch, customizing the operating system, additional software, and scripts that Elastic Beanstalk runs on platform instances. This flexibility allows you to build a platform for an application that uses a language or other infrastructure software.
To create a custom platform, you build an Amazon Machine Image (AMI) from one of the supported operating systems—Ubuntu, RHEL, or Amazon Linux and add further customizations. You create your own Elastic Beanstalk platform using Packer, an open-source tool for creating machine images for many platforms, including AMIs for Amazon EC2. An Elastic Beanstalk platform comprises an AMI configured to run a software set that supports an application, and metadata can include custom configuration options and default configuration option settings.
Options A and D are incorrect because it could require a lot of effort to migrate the application to start using Docker containers.
Option B is incorrect because using Cloudformation alone cannot be used alone for this requirement.
For more information on Custom Platforms, please refer to the below link-
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html