amazon web services - your - SSH a la instancia de Elastic Beanstalk




us east virginia aws (7)

Me acabo de inscribir en la nueva oferta Elastic Beanstalk de Amazon. Lo que no puedo entender es cómo SSH a una instancia de Beanstalk. No tengo una clave privada porque Beanstalk generó la instancia en mi nombre.


Debe conectarse a la instancia ec2 directamente usando su dirección IP pública. No se puede conectar utilizando la url elasticbeanstalk.

Puede encontrar la dirección IP de la instancia buscándola en la consola ec2.

También debe asegurarse de que el puerto 22 esté abierto. De forma predeterminada, el EB CLI cierra el puerto 22 después de que se completa una conexión ssh. Puede llamar a eb ssh -o para mantener el puerto abierto una vez finalizada la sesión ssh.

Advertencia: debe saber que el beanstalk elástico podría reemplazar su instancia en cualquier momento. El estado no está garantizado en ninguna de sus instancias elásticas de beanstalk. Probablemente sea mejor usar ssh solo para fines de prueba y depuración, ya que todo lo que modifique puede desaparecer en cualquier momento.


Elastic beanstalk CLI v3 ahora admite SSH directo con el comando eb ssh . P.ej

eb ssh your-environment-name

No es necesario tener la molestia de configurar grupos de seguridad para encontrar la dirección de instancia de EC2.

También hay un truco genial:

eb ssh --force

Eso forzará temporalmente el puerto 22 a abrirse a 0.0.0.0, y lo mantendrá abierto hasta que exit . Esto combina un poco de los beneficios de la respuesta superior, sin la molestia. Puede otorgar temporalmente a alguien que no sea el acceso para la depuración y otras cosas. Por supuesto, todavía tendrá que cargar su clave pública en el host para que puedan tener acceso. Una vez que haces eso (y mientras estés dentro de eb ssh ), la otra persona puede

ssh [email protected]

La dirección para establecer el par de claves para una instancia de ElasticBeanstalk ec2 con la interfaz de usuario actual es: Advertencia: Esto requerirá una actualización de las instancias de EC2 en su aplicación ElasticBeanstalk. Nota: Necesitará haber creado un par de claves en el panel de EC2 antes de esto.

1) En AWS Dashboard, seleccione el servicio ElasticBeanstalk 2) Seleccione la aplicación que desea usar. 3) Seleccione 'Configuración' 4) Seleccione el icono de engranaje (configuración) en el cuadro de configuración 'Instancias'. 5) Esto lo llevará a una página titulada 'Servidor', donde puede actualizar el campo desplegable 'Par de claves EC2' con su par de claves deseado y seleccionar 'Guardar'.

Una cosa a tener en cuenta es que esto puede no funcionar con aplicaciones con múltiples instancias (pero creo que es probable que todas estén en la misma región que el par de claves).


Me pareció un proceso de 2 pasos. Esto supone que ya ha configurado un par de llaves para acceder a las instancias de EC2 en la región correspondiente.

Configurar grupo de seguridad

  1. En la consola de AWS, abra la pestaña EC2.
  2. Seleccione la región correspondiente y haga clic en Grupo de seguridad.
  3. Debería tener un grupo de seguridad elasticbeanstalk-default si ha lanzado una instancia de Elastic Beanstalk en esa región.
  4. Edite el grupo de seguridad para agregar una regla para el acceso SSH. Lo siguiente lo bloqueará para permitir solo el ingreso desde una dirección IP específica.

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    

Configure el entorno de su aplicación Elastic Beanstalk

  1. Si aún no ha creado un par de claves, haga una haciendo clic en Pares de claves debajo de Grupo de seguridad en la pestaña ec2.
  2. En la consola de AWS, abra la pestaña Elastic Beanstalk.
  3. Seleccione la región correspondiente.
  4. Seleccione el ambiente relevante
  5. Seleccione Configuraciones en el panel izquierdo.
  6. Seleccione instancias.
  7. Debajo de "EC2 key pair:", seleccione el nombre de su par de Existing Key Pair campo Existing Key Pair .

Una vez que la instancia se haya reiniciado, debe obtener el nombre del host desde la pestaña de instancias de la consola AWS EC2, o mediante la API. A continuación, debe poder ssh en el servidor.

$ ssh -i path/to/keypair.pub [email protected]

Nota: para agregar un par de llaves a la configuración del entorno, la protección de terminación de las instancias debe estar desactivada, ya que Beanstalk intentaría terminar las instancias actuales e iniciar nuevas instancias con KeyPair.

Nota: si algo no funciona, revise la pestaña "Eventos" en la aplicación / entornos Beanstalk y averigüe qué fue lo que no funcionó.


Por encima de las respuestas son un poco viejas.

Primero cree un par de claves y luego conéctelo al entorno de Elastic Beanstalk.

Pasos para crear un par de claves

  1. Inicie sesión en AWS
  2. Servicios -> EC2
  3. En la parte izquierda, debajo de RED y SEGURIDAD, seleccione los pares de teclas.
  4. Seleccione Crear nuevo par de claves, escriba el nombre de la clave y haga clic en crear. La clave se descargará automáticamente a su sistema.

Pasos para adjuntar el par de claves creado al entorno de Elastic Beanstalk

  1. AWS -> Servicios -> Elastic Beanstalk

  2. Seleccione su entorno y haga clic en la configuración de la izquierda.

  3. En Vista general de configuración, seleccione Modificar de Seguridad.

  4. En Permisos de máquina virtual, seleccione el par de claves que hemos creado.

  5. Haga clic en guardar y luego en guardar configuración.

Esto tomará algún tiempo para reflejar su instancia de EC2.



También me encontré con el mismo problema hace un tiempo. Quería usar el archivo de claves, pero Amazon dice que no se puede agregar un archivo de claves a un servidor EC2 existente. Para la primera aplicación Beanstalk, Amazon preconfigura la aplicación por usted. Debe crear una nueva aplicación, y puede configurar el servidor EC2 que ejecuta la aplicación Beanstalk para usar un archivo pem antiguo (ppk si usa Putty), o puede crear uno nuevo. Ahora deberías poder SSH.

Luego configura, luego borra tu aplicación anterior.





amazon-elastic-beanstalk