When generating a key pair using aws provided key generator, it will ask user to download the private key to local computer. Is the private key downloaded via public internet (which means there is possibility that the private key could be compromised)?
Yes. That's one shortcoming of using a public cloud service as large as AWS. The download is via HTTPS and one-time only, at the time of the key pair creation, so it's not like if someone cracks your AWS console login they can then download all your key pairs. You also can just import a public key generated on your own https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws so to limit exposure of the private key, and only transfer the public key via public internet.