Käytä aws-ec2.sh-skriptiä User Data -skriptinä EC2-instanssia käynnistettäessä. Skripti ajetaan automaattisesti ensimmäisellä käynnistyksellä.

Lataa skripti: aws-ec2.sh


Vaihe 1 — Täytä konfiguraatio

Avaa skripti ja muokkaa yläosassa olevaa CONFIGURATION-lohkoa:

  # --- Pakolliset ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin"                       # Vaihda ensimmäisen kirjautumisen jälkeen

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

# --- Upotettu Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}"  # Oletuksena ADMIN_PASSWORD
  
KenttäPakollinenKuvaus
PROJECT_IDKylläKäytetään tietokannan nimenä ja Keycloakin asiakastunnuksena. Pienet kirjaimet, ei välilyöntejä.
ADMIN_PASSWORDEiSovelluksen järjestelmänvalvojan ja Keycloakin salasana. Oletuksena adminvaihda ensimmäisen kirjautumisen jälkeen.
DOMAINEiVerkkotunnuksesi HTTPS:lle. Jätä tyhjäksi vain HTTP-tilaan.
LETSENCRYPT_EMAILKyllä (jos DOMAIN asetettu)Sähköposti Let’s Encryptin ilmoituksia varten.
EMBED_KEYCLOAKEitrue ottaa käyttöön upotetun Keycloakin (vaatii 4 Gt RAM).

Turvallisuus: Kaikki salasanat ovat oletuksena admin. Vaihda ne välittömästi ensimmäisen kirjautumisen jälkeen.


Vaihe 2 — Käynnistä EC2-instanssi

AWS EC2 -konsolissa:

  1. Napsauta Käynnistä instanssi
  2. AMI: Ubuntu Server 22.04 LTS (64-bit x86)
  3. Instanssityyppi: t3.medium (4 Gt RAM) tai suurempi
  4. Avainpari: Valitse tai luo yksi SSH-pääsyä varten
  5. Verkkoasetukset: Luo tai valitse tietoturvajoukko (katso alla)
  6. LisätiedotKäyttäjädata → liitä koko skriptin sisältö
  7. Napsauta Käynnistä instanssi

Vaihe 3 — Konfiguroi tietoturvajoukko

Avaa nämä portit instanssin tietoturvaryhmässä:

PorttiProtokollaLähdeTarkoitus
22TCPIP-osoitteesiSSH-pääsy
80TCP0.0.0.0/0HTTP (uudelleenohjataan HTTPS:lle Nginxin toimesta)
443TCP0.0.0.0/0HTTPS
3838TCP0.0.0.0/0Shinyn suora pääsy

Älä avaa porttia 3306 (MySQL) — sen ei pitäisi olla julkisesti käytettävissä.


Vaihe 4 — Lisää DNS-tietue

Instanssin käynnistyessä lisää A-tietue DNS-palveluntarjoajallesi:

  Tyyppi  : A
Nimi    : myapp
Arvo    : <instanssin-julkinen-ip>
TTL     : 300
  

Vaihe 5 — Seuraa edistymistä

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

Vaihe 6 — Käytä sovellusta

Kun asennus on valmis, loki näyttää yhteenvedon sovelluksesi URL-osoitteella ja tunnistetiedoilla. Kirjaudu sisään käyttäjätunnuksella admin ja salasanalla admin, vaihda sitten salasanasi välittömästi.


Käyttöönoton jälkeen

Vaihda salasana

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

Tarkastele kaikkia kontteja

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

Määritä Elastic IP (valinnainen)

Jos pysäytät ja käynnistät instanssin, julkinen IP muuttuu. Säilyttääksesi vakaan IP-osoitteen, varaa Elastic IP ja liitä se instanssiisi EC2-konsolissa.

Oliko tämä sivu hyödyllinen?