Joan zuzenean edukira

6.3. AWSen azpiegitura hibridoa (IAM Roles gabe)

Oharra: dokumentu hau proposamen orientagarria da. Ikasleek nahi duten bezala ebatzi eta AWS Academyren laborategiaren murriztapenetara egokitu dezakete.

Helburua: Windows + Linux laborategi hibridoa AWS Academyn errepikatzea IAM Roles erabili gabe, S3rako baimen minimoak dituzten erabiltzaile kredentzialak (access key/secret) erabiliz eta praktika onekin.


6.3.1. Helburu arkitektura

  • VPC bakarra 3 azpisarekin:
  • Publikoa: bastion/jump host edo NAT Gateway.
  • Pribatua-A: EC2 Windows Server (DC + AD DS + DNS).
  • Pribatua-B: EC2 Linux (LAMP: Apache/Nginx + PHP + DB).
  • Segurtasuna: Security Group zorrotzak (LDAP/Kerberos/SMB/SSH/HTTPS, behar-beharrezkoa).
  • Barne DNS: DC (AD DS) eta, aukeran, Route 53 Private Hosted Zone.
  • Babeskopiak: S3 bucket-a Versioning + Lifecycle-rekin. Roles gabe, kredentzial lokalak erabiliko dira Linux/Windowsen.

6.3.2. Sarea: VPC, azpisareak eta ibilbideak

1) VPC: 10.0.0.0/16. 2) Azpisareak: - 10.0.1.0/24 (publikoa) - 10.0.2.0/24 (pribatua-A: Windows) - 10.0.3.0/24 (pribatua-B: Linux) 3) Ibilbide-taulak: - Publikoa → Internet Gateway. - Pribatuak → NAT Gateway (eguneraketak) edo bastion bidez sarbidea. 4) DHCP Options Set (aukerakoa): empresa.local barne domeinua eta DNS (DC prest dagoenean egokitu).


6.3.3. Security Groups (SG)

  • SG-DC (Windows):
  • Inbound SG-Linux eta bastion-etik: TCP 53 (DNS), 88 (Kerberos), 135/445 (RPC/SMB), 389/636 (LDAP/LDAPS), 464 (kpasswd), 3389 (RDP bastionetik).
  • SG-Linux (LAMP):
  • Inbound SG-DC eta bastion-etik: TCP 22 (SSH), 80/443 (beharrezkoa bada), 3306 DB lokala eta sarbide mugatua bada.
  • SG-Bastion: SSH/RDP zure IPtik soilik; outbound pribatuetara.

Gutxieneko pribilegioa: ireki soilik ezinbesteko portuak eta SG arteko trafikoa mugatu.


6.3.4. EC2 instantziak (Roles gabe)

  • Windows Server (t3.small/medium; 40–60 GB):
  • AMI: Windows Server 2019/2022. SG: SG-DC. Azpisarea: pribatua-A.
  • Linux (t3.small; 30–60 GB):
  • AMI: Ubuntu 22.04/24.04. SG: SG-Linux. Azpisarea: pribatua-B.
  • Bastion (aukerakoa): AMI Linux azpisare publikoan, SSH zure IPtik.

Oharrak: - SSM erabil ezin bada, sarrera bastion bidez edo port forwarding bidez kudeatu. - Etiketatu baliabideak (Environment=Academy, Role=DC/LAMP, Owner=taldeX).


6.3.5. AD domeinua eta DNS (Windows)

1) Instalatu AD DS eta sustatu DC (baso berria: empresa.local). 2) DC-ko DNS integratua. Egiaztatu ebazpena barnean. 3) Sortu erabiltzaile/taldeak: alumno1, LinuxUsers, LinuxAdmins. 4) GPO minimoak (aukerakoa) eta barne NTP.


6.3.6. Linux LAMP eta ADra elkartzea

1) Prestatu LAMP/LEMP eta zure Laravel aplikazioa (tokiko 6.3 LAMP-atala baldin badago, erreferentzia). 2) Konfiguratu Linux-eko DNS DC-ra seinalatzeko. 3) Batu ADra (ikusi 6.2): bash sudo apt update sudo apt install -y realmd sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit realm discover empresa.local sudo realm join empresa.local -U Administrador realm list && klist 4) AD taldeak Linuxen (sudo eta sarbidea): ikusi 6.2 (simple_allow_groups, sudoers).


6.3.7. Babeskopiak Roles gabe: kredentzial lokalak eta baimen minimoak

1) IAM erabiltzailea sortu (laborategiak baimentzen badu) S3ko bucket-erako sarbide minimoarekin. - Politika minimoa (adibidea) bucket/prefijo linux/* eta windows/*-etara mugatua. - Gorde Access Key eta Secret Key. - IAM Users ere ez bada onartzen, erabili laborategiak emandako behin-behineko kredentzialak edo irakasleak adierazitako mekanismoak.

2) Kredentzialak konfiguratzea Linuxen (ezpublikatzeko): - ~/.aws/credentials fitxategia (600 baimenak): ini [academy] aws_access_key_id=AKIA... aws_secret_access_key=... - Backup ingurunean (restic/rclone), erabili aldi baterako inguruneko aldagaiak edo academy profila.

3) Linux → S3 restic-ekin (gomendatua): bash sudo apt install -y restic export AWS_PROFILE=academy export RESTIC_REPOSITORY=s3:s3.amazonaws.com/mi-bucket-backups/linux export RESTIC_PASSWORD=sekretu_bat restic init restic backup /etc /var/www /var/lib/mysql --exclude-caches restic snapshots - Cron: erabili AWS_PROFILE=academy cronean edo wrapper script bat source-arekin.

4) Windows → SMB Linuxen eta S3ra sinkronizatu (rclone): - Linuxen, partekatu /srv/backup/windows (Samba) baimen murriztuekin. - Windows Server Backup → \\linux-backup\windows. - Roles gabe, konfiguratu rclone academy profilarekin edo inguruneko aldagaiekin: bash rclone config # "s3academy" remote-a → S3 hornitzailea, eskualdea; profila "academy" rclone sync /srv/backup/windows s3academy:mi-bucket-backups/windows --checksum --backup-dir s3academy:mi-bucket-backups/_versionados/$(date +%F)

5) Kredentzialen praktika onak: - Ez igo git-era ezta .env fitxategietara. - Erabili ~/.aws/credentials eta AWS_PROFILE. - Kredentzialak filtratuz gero, birsortu/aldatu eta mugatu bucket/prefijo bidez.


6.3.8. Barne DNS eta izenak

  • A aukera: DC-ren DNS bakarrik barne ebazpenerako.
  • B aukera: Route 53 Private Hosted Zone empresa.local, DC eta LAMP-erako A erregistroekin.
  • Ezarri ebazleak (Conditional Forwarders) behar den moduan.

6.3.9. Segurtasuna, kostuak eta operazioa (Roles gabe)

  • Segurtasuna:
  • S3 Versioning eta enkriptazioa (SSE-S3); politika minimoak.
  • Ez atera RDP/SSH publikora; erabili bastion.
  • Kostuak:
  • Instantzia txikiak, itzali ordutegitik kanpo.
  • S3 Lifecycle eta garbiketa periodikoa.
  • Operazioa:
  • Log-ak eta alarma oinarrizkoak (laborategiak uzten badu).
  • Berreskuratze proben maiztasuna.

6.3.10. Egiaztapen zerrenda (checklist)

  • Linuxek empresa.local ebazten du eta domeinura batu da (id, getent, klist).
  • Laravel aplikazioa eskuragarri dago eta, hala badagokio, ADrekin integratua.
  • Babeskopiak martxan: restic snapshots linux/-en eta WSB fitxategiak S3ko windows/ prefijoan sinkronizatuta.
  • Ez daude kredentzialak biltegietan edo .env-etan publiko.