pegasus-io / a-k8s-demo

Demo Express Server Deployment for k8s, with extras
1 stars 0 forks source link

EC2 KeyPair As Terraform External Data Source #10

Open Jean-Baptiste-Lasselle opened 4 years ago

Jean-Baptiste-Lasselle commented 4 years ago

Problème inital

La création de la paire de clef SSH sur AWS EC2, avec Terraform, est particulièrement chiante :

Très bien, le seul problème est que le format de paires de clef AWS EC2 est particulièrement chiant : par exemple uen clef générée classiquement avec openssh et une commande de la forme ssh-keygen ..., donnera une clef qu' AWS se fera un plaisir de rejeter.

Il est clair que la solution définitive DOIT être :

Tâche

En lieu et place du ./wait-for-ec2-keypair.sh, et du conteneur opérateur AWS CLI, implémenter une Terraform External Data Source, dont la responsabilité sera :

(tiens marrant est-ce qu'on pourrait implémenter une machien de turing en détournanat terraform, et en se servant du terraform state versionné dans un repo git, et se servir du repo git comme du ruban de turing ? )

Sécurité

Quant à la sécurité , quelque soit la solution, toute invocation de AWS doit être sécurisée à l'aide du https://learn.hashicorp.com/vault/identity-access-management/vault-agent-aws

Intérêt

Jean-Baptiste-Lasselle commented 4 years ago

https://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html

Jean-Baptiste-Lasselle commented 4 years ago

Misc problems with EC2 generated keys

jbl@poste-devops-typique:~/a-k8s-demo$ docker exec -it awscli_bee bash
beeio@724241985b7b:/aws/playground$ openssl rsa -in ~/creshAWSSSHkey -out ~/creshAWSSSHkey.nopass.key
unable to load Private Key
140102148460608:error:0906D06C:PEM routines:PEM_read_bio:no start line:../crypto/pem/pem_lib.c:686:Expecting: ANY PRIVATE KEY
beeio@724241985b7b:/aws/playground$