A melhor maneira de proteger seus pares de chaves do EC2, que são apenas chaves SSH, é criptografá-los com uma senha (e siga o processo normal de gerenciamento de senha dessa senha). Supondo que você esteja usando o Linux, você pode ssh-keygen -p -f $file
criptografar a chave. Você deve manter um backup, de preferência fisicamente protegido (por exemplo, um pen drive em um cofre ou algo assim). Suponho que você esteja falando da metade privada da chave, pois a chave pública é obviamente pública.
Teoricamente, seria melhor armazenar a chave em um TPM em sua estação de trabalho ou em um cartão inteligente, mas geralmente há problemas práticos com essa solução ao lidar com chaves SSH.
Se é ruim armazenar a chave no seu PC em casa depende se isso é uma violação da política. Se não for, honestamente, há poucas razões para considerar isso pior do que armazená-lo em um laptop usado para o trabalho.
Você certamente pode manter um backup da chave no S3 (em vez de um backup físico). O modelo de ameaça é tal que você já está tendo um dia muito ruim (em termos de vazamento de dados e interrupção do serviço, entre outras coisas) se alguém puder acessar sua conta da AWS. Mas, a menos que haja algum responsável pela segurança que possa ter acesso ao bucket S3 com sua chave, mas não tenha permissão para efetuar login nas máquinas, você precisaria encontrar outra maneira. Se você armazenar uma cópia no S3, verifique se ela está criptografada com uma senha.