I have may aws ec2 instances running in dev account and most of the instances i see cpu utlization doesn't go most of the time more than 5% . For example even in one of the kubernetes cluster where kafka is running it is not exceeding 5 or max 6% of cpu utlization when we used t3.xlarge (16gb ram and 4vcpu) machine for kafka cluster setup.
So my question is there an way to find out if i am really fully utlizing the instances for which we have opted for so that i can downgrade my instances type to low cost one if it is not fully utlized. I saw aws compute optimizer but that is saying most of the instances are optimized only 1 or 2 it shows as not optimized with under utlized.
Also most of the application like may be kafka are by default requesting 8gb ram and good cpu for better usage but the cloud watch chart doesn't actually show as if its fully utlized.
Hence is there any way to tacle this and reduce the ec2 costing in aws?