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.localebazten 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 S3kowindows/prefijoan sinkronizatuta. - Ez daude kredentzialak biltegietan edo
.env-etan publiko.