With the increasing deployment of many data centers and computer servers around the globe, the energy cost on running the computing, communication and cooling together with the amount of CO2 emissions have increased dramatically. In order to maintain sustainable Cloud computing with ever-increasing problem scale, we design and develop energy-aware scientific workflow scheduling algorithm to minimize energy consumption and CO2 emission without sacrificing Quality of Service (QoS) such as response time specified in Service Level Agreement (SLA). The underlying available computing capacity and network bandwidth is represented as time-dependent because of the dual operation modes of on-demand and reservation instances supported by many commercial Cloud data centers. The Dynamic Voltage and Frequency Scaling (DVFS) is utilized to lower the CPU frequencies of virtual machines as long as the finishing time is still before the specified deadline. Our resource provision and allocation algorithm aims to meet the response time requirement and minimize the Virtual Machine (VM) overhead for reduced energy consumption. The consolidated VM reuse can lead to higher resource utilization rate for higher system throughput. The effectiveness of our algorithm is evaluated under various performance metrics and experimental scenarios using software adapted from open source CloudSim simulator. The simulation results show that our algorithm is able to achieve an average up to 30% of energy savings.