AWS EC2
Implemente rtCloud en una instancia de AWS EC2 usando el script de datos de usuario aws-ec2.sh.
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
| Campo | Requerido | Descripción |
|---|---|---|
PROJECT_ID | Sí | Se usa como nombre de base de datos e ID de cliente de Keycloak. Minúsculas, sin espacios. |
ADMIN_PASSWORD | No | Contraseña del administrador de la aplicación y de Keycloak. Predeterminado en admin — cámbiela después del primer inicio de sesión. |
DOMAIN | No | Su dominio para HTTPS. Deje en blanco para el modo solo HTTP. |
LETSENCRYPT_EMAIL | Sí (si DOMAIN está establecido) | Correo electrónico para notificaciones de Let’s Encrypt. |
EMBED_KEYCLOAK | No | true para implementar Keycloak integrado (requiere 4 GB de RAM). |
Seguridad: Todas las contraseñas tienen
admincomo 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:
- Haga clic en Lanzar instancia
- AMI: Ubuntu Server 22.04 LTS (64-bit x86)
- Tipo de instancia:
t3.medium(4 GB RAM) o superior - Par de claves: Seleccione o cree uno para acceso SSH
- Configuración de red: Cree o seleccione un Grupo de seguridad (ver a continuación)
- Detalles avanzados → Datos de usuario → pegue el contenido completo del script
- Haga clic en Lanzar instancia
Paso 3 — Configure el Grupo de seguridad
Abra estos puertos en el Grupo de seguridad de la instancia:
| Puerto | Protocolo | Origen | Propósito |
|---|---|---|---|
| 22 | TCP | Su IP | Acceso SSH |
| 80 | TCP | 0.0.0.0/0 | HTTP (redirigido a HTTPS por Nginx) |
| 443 | TCP | 0.0.0.0/0 | HTTPS |
| 3838 | TCP | 0.0.0.0/0 | Acceso 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.