SSH pour Elastic Beanstalk exemple
je viens de m'inscrire pour la nouvelle offre élastique D'Amazon et j'adore. Ce que je ne peux pas comprendre c'est comment SSH à une instance de Beanstalk. Je n'ai pas de clé privée parce que Beanstalk a généré l'instance en mon nom. Des idées?
Merci, Benno
10 réponses
j'ai trouvé que c'était un processus en 2 étapes. Cela suppose que vous avez déjà installé un clavier pour accéder aux instances EC2 dans la région concernée.
Configurer Le Groupe De Sécurité
- dans la console AWS, ouvrez L'onglet EC2.
- sélectionnez la région pertinente et cliquez sur Groupe de sécurité.
- vous devriez avoir un groupe de sécurité
elasticbeanstalk-default
si vous avez lancé une instance élastique en "Beanstalk" région. -
éditer le groupe de sécurité pour ajouter une règle pour l'accès SSH. Le ci-dessous va le verrouiller pour ne permettre l'entrée que d'une adresse IP spécifique.
SSH | tcp | 22 | 22 | 192.168.1.1/32
configurer l'environnement de votre application élastique en haricot magique
- si vous n'avez pas encore fait de paire de clés, faites-en une en cliquant sur les paires de clés sous le groupe de sécurité dans l'onglet ec2.
- dans L'AWS console, ouvre L'onglet élastique.
- sélectionnez la région pertinente.
- sélectionner L'environnement approprié
- sélectionnez Configurations dans le volet de gauche.
- Sélectionnez Instances.
- sous "paire de clés EC2:", sélectionnez le nom de votre paire de clés dans le champ
Existing Key Pair
.
une fois l'instance relancée, vous devez obtenir le nom d'hôte à partir de la Console AWS EC2 instance tab, ou via L'API. Vous devriez alors être en mesure de ssh sur le serveur.
$ ssh -i path/to/keypair.pub ec2-user@ec2-an-ip-address.compute-1.amazonaws.com
Note: pour ajouter une paire de touches à la configuration de l'environnement, la protection de terminaison des instances doit être désactivée car Beanstalk essaierait de terminer les instances actuelles et de lancer de nouvelles instances avec la paire de touches.
Note: si quelque chose ne fonctionne pas, consultez l'onglet "événements" dans L'application / environnements Beanstalk et découvrez ce qui a mal tourné.
Elastic beanstalk CLIV3 supporte maintenant direct SSH avec la commande eb ssh
. Par exemple:
eb ssh your-environment-name
pas besoin de tous les tracas de mise en place de groupes de sécurité pour trouver L'adresse de l'instance EC2.
il y a aussi ce truc cool:
eb ssh --force
qui forcera temporairement le port 22 ouvert à 0.0.0.0, et le gardera ouvert jusqu'à ce que vous exit
. Ce mélange un peu des avantages de le haut de réponse, sans les tracas. Vous pouvez accorder temporairement à quelqu'un d'autre que vous l'accès pour le débogage et autres. Bien sûr, vous aurez toujours besoin de télécharger la clé publique de l'hôte pour qu'ils aient accès. Une fois que vous avez (et aussi longtemps que vous êtes à l'intérieur eb ssh
), l'autre personne peut
ssh ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com
mon expérience en août 2013 avec un client linux et une installation simple AWS Beanstalk (instance EC2 unique) est la suivante (basée sur le Wiki communautaire ci-dessus)
Configurer Le Groupe De Sécurité
- dans la console AWS, sélectionnez EC2 pour aller au tableau de bord EC2
- Découvrez le groupe de sécurité auquel appartient votre instance EC2 en cliquant sur Instances dans le panneau de gauche, puis en sélectionnant l'instance à laquelle vous souhaitez accéder. connect to (Dans mon cas, il n'y a qu'un seul environnement par défaut). Les détails sont affichés à la base de la page - vous devriez voir un champ pour les groupes de sécurité - faire une note du nom - dans mon cas "awsweb...".
- dans le panneau de gauche, sélectionnez Groupes de sécurité.
- sélectionnez le groupe de sécurité
awsweb...
et les détails doivent apparaître à la base de la page - sélectionnez l'onglet Inbound et choisissez SSH à partir de la " créer un nouveau La règle" déroulant. Insérez l'adresse ip / CIDR de votre machine locale (à partir de laquelle vous avez l'intention de vous connecter), par exemple 192.168.0.12/32 et cliquez sur Ajouter une règle et appliquer les changements de règles.
Créer Une Paire De Clés Public-Privé
- à partir du tableau de bord EC2 sélectionner les paires de clés à partir du panneau de gauche
- cliquez sur Paire de clés (en haut) et entrez un nom tel que myname-clé-paire-myregion ou n'importe quel nom de clé valide que vous aimez.
- confirmez puis acceptez le téléchargement de la clé privée à partir du navigateur en la sauvegardant par exemple dans votre répertoire personnel ou où vous le souhaitez. Assurez-vous que le répertoire a des droits d'écriture pour vous.
Associer le Public-Privé pour la Paire de Clés, l'Elastic Beanstalk EC2 Serveur
- pour ajouter une paire de clés public-privé à une tige élastique EC2 exemple: les Services -> Elastic Beanstalk -> Mon Application -> Défaut Environnement vous emmène à l'environnement par défaut (celui où vous téléchargez votre application)
- cliquez sur Configuration (sur le panneau de gauche) et ensuite sur le rapport / cog associé à "Instances "
- une page intitulée "serveur" est affichée
- Sélectionnez votre clé prebuilt par à partir de la paire de clés EC2 et enregistrez
- un message d'avertissement s'affiche alors sauvegardez à nouveau.
se Connecter à AWS EC2 Exemple utilisant SSH
- dans une session de terminal, changez le répertoire contenant votre clé privée (.fichier pem).
- Si vous avez eu une quelques vous devriez probablement faire quelque chose .ssh/known_hosts si vous en avez un comme de le renommer. Sinon, vous pouvez obtenir une erreur sur l'identité de l'hôte a changé.
- N': ssh -je ./myname-clé-paire-de-ma-région.pem ec2-user@ec2-some-address.us-west-2.compute.amazonaws.com
bonne chance
il y a une option 'Connect' pratique dans le menu 'Instance Actions' pour L'instance EC2. Il vous donnera la commande exacte SSH à exécuter avec l'url correcte pour l'instance. Les instructions générales de Jabley sont correctes.
j'ai joué avec ce.
- goto votre elastic beanstalk onglet du service
- sur l'aperçu de votre application goto action -- > modifier la configuration
- ajouter le nom d'une clé telle qu'elle apparaît dans votre onglet EC2 (pour la même région) à la boîte de dialogue de clavier existante et appuyer sur Appliquer les changements
le service sera relancé donc faire un café pendant 5 minutes
Sur votre onglet ec2 pour la même région, vous verrez votre nouvelle instance. ssh au public le nom de dns ec2-utilisateur à l'aide de la clé ajoutée à 3 par exemple ssh ec2-user@ec2-xx-xxx-xx-xxx.compute-1.amazonaws.com
si vous utilisez elastic bean et EB CLI, utilisez simplement eb ssh
pour vous connecter à l'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 à l'instance ec2 directement en utilisant son adresse ip publique. Vous ne pouvez pas vous connecter en utilisant l'url elasticbeanstalk.
vous pouvez trouver l'adresse ip de l'instance en la cherchant dans la console ec2.
Vous devez également vous assurer que le port 22 est ouvert. Par défaut, le CLI EB ferme le port 22 Une fois la connexion ssh terminée. Vous pouvez appeler eb ssh-o pour garder le port ouvert une fois la session ssh terminée.
Attention: vous devez savoir que elastic beanstalk peut remplacer votre instance à tout moment. L'état n'est pas garanti sur aucune de vos enceintes élastiques. 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.
les réponses ci-dessus sont un peu vieilles.
tout d'abord créer une paire de clés et ensuite l'attacher à L'environnement élastique haricot.
étapes pour créer une paire de clés
- Se connecter à AWS
- Services - > EC2
- dans la gauche, sous réseau et sécurité, sélectionnez paires de clés
- sélectionnez Créer une nouvelle paire de clés, tapez le nom de la clé et cliquez sur Créer. Clé sera automatiquement téléchargé sur votre système.
étapes pour fixer une paire de clés créée à un environnement de haricot élastique
-
AWS - > Services - > Elastic Beanstalk
-
Sélectionnez votre environnement et cliquez sur la configuration à gauche.
-
dans Aperçu de la Configuration, sélectionnez Modifier à partir de Security.
-
sous permissions de machines virtuelles, sélectionnez la paire de clés que nous avons créée.
-
, Cliquez sur enregistrer, puis sur enregistrer la configuration.
cela prendra un certain temps pour réfléchir à votre instance EC2.
la direction pour définir la paire de clés pour une instance EC2 ElasticBeanstalk avec L'interface utilisateur actuelle est: Attention: ceci nécessitera une mise à jour des instances EC2 dans votre application ElasticBeanstalk. Remarque: Vous devez avoir créé une paire de clés dans le tableau de bord EC2 avant cette.
1) dans le tableau de bord AWS, sélectionnez le service ElasticBeanstalk 2) Sélectionnez l'Application que vous souhaitez utiliser. 3) Sélectionnez "Configuration" 4) Sélectionnez l'icône vitesse (paramètres) sur la configuration 'Instances' boîte. 5) ceci vous mènera à une page intitulée 'Server', où vous pouvez mettre à jour le champ 'EC2 key pair' avec votre paire de clés désirée et sélectionner 'Save'.
une chose à noter est que cela peut ne pas fonctionner pour les Applications avec plusieurs instances (mais je crois que c'est probable si elles sont toutes dans la même région que la paire de clés).
j'ai aussi rencontré le même problème il y a quelque temps. Je voulais utiliser le fichier clé, mais Amazon dit quelque part que vous ne pouvez pas ajouter un fichier clé à un serveur EC2 existant. Pour la première application Beanstalk, Amazon préconfigure l'application pour vous. Vous devez créer une nouvelle application, et vous pouvez configurer le serveur EC2 qui exécute L'application Beanstalk pour utiliser un ancien fichier pem (ppk si vous utilisez Putty), ou vous pouvez en créer un nouveau. Maintenant, vous devriez être en mesure de SSH.
puis Configurer, puis supprimer votre ancienne application.