Je viens de m'inscrire à la nouvelle offre d'Amazon Elastic Beanstalk. Ce que je ne peux pas comprendre, c'est comment SSH pour une instance Beanstalk. Je n'ai pas de clé privée car Beanstalk a généré l'instance pour moi.
J'ai trouvé qu'il s'agissait d'un processus en 2 étapes. Cela suppose que vous avez déjà configuré une paire de clés pour accéder aux instances EC2 dans la région concernée.
elasticbeanstalk-default
si vous avez lancé une instance Elastic Beanstalk dans cette région.Modifiez le groupe de sécurité pour ajouter une règle pour l'accès SSH. Ce qui suit le verrouille pour autoriser uniquement l’entrée d’une adresse IP spécifique.
SSH | tcp | 22 | 22 | 192.168.1.1/32
Existing Key Pair
. Une fois l'instance relancée, vous devez obtenir le nom d'hôte à partir de l'onglet Instances AWS Console EC2 ou via l'API. Vous devriez alors être capable de SSH sur le serveur.
$ ssh -i path/to/keypair.pub [email protected]
Remarque: pour ajouter une paire de clés à la configuration de l'environnement, la protection de terminaison d'instances doit être désactivée, car Beanstalk essaierait de mettre fin aux instances actuelles et de démarrer de nouvelles instances avec KeyPair.
Remarque: Si quelque chose ne fonctionne pas, consultez l'onglet "Evénements" de l'application/des environnements Beanstalk et recherchez ce qui ne va pas.
Elastic Beanstalk CLI v3 prend désormais en charge SSH direct avec la commande eb ssh
. Par exemple.
eb ssh your-environment-name
Pas besoin de tous les tracas de la configuration de groupes de sécurité pour trouver l'adresse de l'instance EC2.
Il y a aussi ce truc cool:
eb ssh --force
Cela forcera temporairement l’ouverture du port 22 à 0.0.0.0 et le gardera ouvert jusqu’à exit
. Cela mélange un peu des avantages de la réponse optimale, sans les tracas. Vous pouvez accorder temporairement à quelqu'un d'autre que vous y avez accès un accès au débogage, etc. Bien sûr, vous devrez toujours télécharger leur clé publique sur l'hôte pour pouvoir y accéder. Une fois que vous faites cela (et tant que vous êtes à l'intérieur de eb ssh
), l'autre personne peut
ssh [email protected]
Mon expérience d'août 2013 avec un client Linux et une installation simple d'AWS Beanstalk (instance EC2 unique) est la suivante (basé sur le wiki de communauté ci-dessus)
awsweb...
et les détails devraient apparaître à la base de la page.Bonne chance
Il existe une option "Connexion" pratique dans le menu "Actions d'instance" pour l'instance EC2. Cela vous donnera la commande SSH exacte à exécuter avec l'URL correcte pour l'instance. Les instructions générales de Jabley sont correctes.
J'ai aussi joué avec cela.
Le service sera relancé alors faites un café pendant 5 minutes
Sur votre onglet ec2 de la même région, vous verrez votre nouvelle instance en cours d'exécution. xx-xxx-xx-xxx.compute-1.amazonaws.com
Les réponses ci-dessus sont un peu vieilles.
Commencez par créer une paire de clés, puis attachez-la à l'environnement Elastic Beanstalk.
Étapes pour créer une paire de clés
Étapes pour associer la paire de clés créée à l'environnement Elastic Beanstalk
AWS -> Services -> Élastique Beanstalk
Sélectionnez votre environnement et cliquez sur la configuration à gauche.
Dans la vue d'ensemble de la configuration, sélectionnez Modifier dans Sécurité.
Sous Autorisations d'ordinateur virtuel, sélectionnez la paire de clés que nous avons créée.
Cliquez sur Enregistrer, puis sur Enregistrer la configuration.
Cela prendra un peu de temps pour refléter votre instance EC2.
Si vous utilisez une ligne de commande bean élastique et EB, utilisez simplement eb ssh
pour vous connecter à une instance. Vous pouvez utiliser les options spécifiées dans le lien suivant http://docs.aws.Amazon.com/elasticbeanstalk/latest/dg/eb3-ssh.html
Vous devez vous connecter directement à l'instance ec2 à l'aide de son adresse IP publique. Vous ne pouvez pas vous connecter en utilisant l’urlasticbeanstalk.
Vous pouvez trouver l'adresse IP de l'instance en la recherchant dans la console ec2.
Vous devez également vous assurer que le port 22 est ouvert. Par défaut, l'interface de ligne de commande EB ferme le port 22 une fois la connexion ssh établie. Vous pouvez appeler eb ssh -o pour que le port reste ouvert une fois la session ssh terminée.
Avertissement: Vous devez savoir que le haricot élastique peut remplacer votre instance à tout moment. L'état n'est garanti sur aucune de vos instances de haricot élastique. Il est probablement préférable d’utiliser ssh uniquement à des fins de test et de débogage, car tout ce que vous modifiez peut disparaître à tout moment.
La direction pour définir la paire de clés pour une instance ElasticBeanstalk ec2 avec l'interface utilisateur actuelle est la suivante: Avertissement: Ceci nécessitera une mise à jour des instances EC2 dans votre application ElasticBeanstalk. Remarque: Vous devez avoir préalablement créé une paire de clés dans le tableau de bord EC2.
1) Dans AWS Dashboard, sélectionnez le service ElasticBeanstalk 2) Sélectionnez l'application que vous souhaitez utiliser . 3) Sélectionnez 'Configuration' 4) Sélectionnez l'icône d'engrenage (paramètres) dans la configuration 'Instances'. box . 5) Ceci vous mènera à une page intitulée «Serveur», où vous pourrez mettre à jour le champ déroulant «Paire de clés EC2» avec votre paire de clés souhaitée et sélectionner «Enregistrer».
Une chose à noter est que cela peut ne pas fonctionner pour les applications avec plusieurs instances (mais je pense qu'il est probable qu'elles se trouvent toutes dans la même région que la paire de clés).
Je suis venu ici à la recherche d'un moyen d'ajouter une clé à une instance créée par Beanstalk lors du provisionnement (nous utilisons Terraform). Vous pouvez effectuer les opérations suivantes dans Terraform:
resource "aws_elastic_beanstalk_environment" "your-beanstalk" {
...
setting {
namespace = "aws:autoscaling:launchconfiguration"
name = "EC2KeyName"
value = "${aws_key_pair.your-ssh-key.key_name}"
}
...
}
Vous pouvez ensuite utiliser cette clé pour SSH dans la boîte.
Selon la configuration de votre environnement, il se peut que vous n'ayez pas d'adresse IP publique sur l'instance EC2 créée pour votre environnement. Vous pouvez vérifier par:
Enfin, sélectionnez votre nouvel EIP et choisissez Adresse associée dans le menu Actions. Associez cette adresse IP à votre instance EC2. Vous devriez pouvoir vous connecter en utilisant eb ssh
maintenant.
Vous pouvez réinitialiser les détails de la connexion en exécutant eb ssh --setup
.