Use aws-ec2.sh como script de Datos de usuario al lanzar una instancia EC2. El script se ejecuta automáticamente en el primer arranque.

Descargar script: aws-ec2.sh


Paso 1 — Complete la configuración

Abra el script y edite el bloque CONFIGURATION en la parte superior:

  # --- Required ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # Cámbiela después del primer inicio de sesión

# --- Domain + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"

# --- Embedded Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # Predeterminado a ADMIN_PASSWORD
  
CampoRequeridoDescripción
PROJECT_IDSe usa como nombre de base de datos e ID de cliente de Keycloak. Minúsculas, sin espacios.
ADMIN_PASSWORDNoContraseña del administrador de la aplicación y de Keycloak. Predeterminado en admincámbiela después del primer inicio de sesión.
DOMAINNoSu dominio para HTTPS. Deje en blanco para el modo solo HTTP.
LETSENCRYPT_EMAILSí (si DOMAIN está establecido)Correo electrónico para notificaciones de Let’s Encrypt.
EMBED_KEYCLOAKNotrue para implementar Keycloak integrado (requiere 4 GB de RAM).

Seguridad: Todas las contraseñas tienen admin como valor predeterminado. Cámbielas inmediatamente después de su primer inicio de sesión.


Paso 2 — Lance una instancia EC2

En la consola de AWS EC2:

  1. Haga clic en Lanzar instancia
  2. AMI: Ubuntu Server 22.04 LTS (64-bit x86)
  3. Tipo de instancia: t3.medium (4 GB RAM) o superior
  4. Par de claves: Seleccione o cree uno para acceso SSH
  5. Configuración de red: Cree o seleccione un Grupo de seguridad (ver a continuación)
  6. Detalles avanzadosDatos de usuario → pegue el contenido completo del script
  7. Haga clic en Lanzar instancia

Paso 3 — Configure el Grupo de seguridad

Abra estos puertos en el Grupo de seguridad de la instancia:

PuertoProtocoloOrigenPropósito
22TCPSu IPAcceso SSH
80TCP0.0.0.0/0HTTP (redirigido a HTTPS por Nginx)
443TCP0.0.0.0/0HTTPS
3838TCP0.0.0.0/0Acceso directo a Shiny

No abra el puerto 3306 (MySQL) — nunca debería ser accesible públicamente.


Paso 4 — Agregue el registro DNS

Mientras la instancia se inicia, agregue un registro A en su proveedor de DNS:

  Type  : A
Name  : myapp
Value : <instance-public-ip>
TTL   : 300
  

Paso 5 — Monitoree el progreso

  ssh ubuntu@<instance-ip>
tail -f /var/log/rtcloud-setup.log
  

Paso 6 — Acceda a la aplicación

Cuando se complete la configuración, el registro muestra un resumen con la URL de su aplicación y las credenciales. Inicie sesión con el usuario admin y contraseña admin, luego cambie su contraseña inmediatamente.


Después de la implementación

Cambiar una contraseña

  nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
  

Ver todos los contenedores

  docker compose -f /opt/rtcloud/docker-compose.production.yml ps
  

Asignar una IP elástica (opcional)

Si detiene e inicia la instancia, la IP pública cambia. Para mantener una IP estable, asigne una IP elástica y asóciela con la instancia en la consola EC2.

¿Fue útil esta página?