---
# System prepended metadata

title: asix cloud - m8 2022/2023

---

# asix cloud - m8 2022/2023
[TOC]

# entorn (màquina virtual)
[ubuntu server 20.04 >> alumne01 - test01](https://drive.google.com/file/d/1V1pi2Ik1b1G5A8GvWiZIG2f8IuFwsh-p/view?usp=sharing)

A la vm se pot accedir amb...
```
ssh -p 40022 alumne01@127.0.0.1
```

## sessió 20220929 - creació instància via awscli

script creació ec2 https://transfer.sh/R1ya0I/ec2_auto.sh

filtrar json: https://stedolan.github.io/jq/

nivell avançat: fer servir l'script (modificat) per crear instancies amb:
- vpc existents
- subxarxes existentes
- clau pub/priv existent
- security group existent

## sessió 20221005 - M8 - DNS
- configurar el servei DNS (BIND9) al S1 per que done resposta al domini (inicialnom+primercognom.edu: ex. jiznardo.edu)
- cal que tingui 3 registres A: 
    - client.jiznardo.edu
    - server1.jiznardo.edu
    - server2.jiznardo.edu
- caldrà configurar el client (UD) pq busque al server (S1) la info
- **NOTA: cal configurar resolució directa i resolució inversa!!!** :smiling_face_with_smiling_eyes_and_hand_covering_mouth: 

## sessió 20221006 - cloud - terraform
instal·lar terraform https://www.terraform.io/downloads

instal·lar el plugin de caché https://www.terraform.io/cli/config/config-file
- crear el directori plugin-cache
- crear el fitxer de configuració .terraformrc
- exportar la variable
- incloure la exportació a .bashrc
clonar repo https://github.com/joaniznardo/20222023asixcloud  

llançar la instància.
- terraform init
- terraform plan
- terraform apply   

eliminar instància  
- terraform destroy   

formulari :) per penjar la demo https://forms.gle/vozw6CLMc9cRg6F59

## sessió 20221013 - cloud - Wordpress a 2 instàncies
:warning:  **DATA LÍMIT: 2022/11/11 DIVENDRES**  

separació de l'aplicació i la web de la base de dades
ec2-a > apache+php
ec2-b > mysql

**propera sessió (potser ja ho tens fet) - wordpress a 1 instància ec2 i una RDS (base de dades gestionada per amazon)**


opcional: (millor fora d'hores de classe; :warning: compte que algunes **NECESSITEN** ubuntu; warning2: alguna de les opcions és sols recomanable per desenvolupament/testing )
- consulta les webs
    - [devilbox.org](http://devilbox.org/)
    - https://slickstack.io/
    - https://roots.io/trellis/
    - https://wordops.net/
        - pista si no te funciona: https://raw.githubusercontent.com/WordOps/WordOps/master/install
    - https://blog.ssdnodes.com/blog/ansible-lamp-setup/


## pràctica cloud (opcional/voluntària ...de moment)
instal·la a una màquina virtual ubuntu server 20.04 o 22.04 openstack  (via devstack)
- la vm ha de rebre una ip de la xarxa local (bridged)

- objectiu: crea una instància ubuntu (22.04) al teu cloud privat

## sessió 20221019 - M8 - DNS (2)
- configurar un serivdor de backup (secundari) del servei DNS (BIND9) al S2 per que done resposta al domini (inicialnom+primercognom.edu: ex. jiznardo.edu). Aquest servidor serà de sols lectura (no permet l'edició de registres).
- **NOTA: recorda que te caldrà donar resposta a peticions directes i inverses**

## sessió 20221020 - cloud
formulari per les captures dels reptes wordpress https://forms.gle/Y6rgVvc3tSviuu9e9
demo de creació d'instància amb terraform mitjançant la modificació de terraform.tfvars https://github.com/joaniznardo/20222023asixcloud/tree/main/scripts/05-terraform-single-ec2-instance

**emmagatzematge d'objectes** (***object storage***)
- crea un dipòsit (bucket) a https://play.minio.io:9443/ amb el següent esquema: cloud+el inicial del teu nom+primer cognom (ex: cloud-jiznardo). La següent imatge és un exemple :laughing: 
![demo](https://i.imgur.com/gKJ2KAg.png)

- diposita via interficie gràfica diferents captures de pantalla dels exercicis previs
- diposita via interfície textual un parell de fitxers més (tens 2 opcions: client de minio (mc) o bé client amazon (aws)). Les captures poden ser de la pujada de fitxers :smiley: des de la vm de ubuntu server
![](https://i.imgur.com/oQYiU0M.png)
![](https://i.imgur.com/wlNhUbx.png)

## sessió 20221024 - cloud
Your own Minio server (YOMS):

Objectiu: Instal·la un servidor d'emmagatzematge d'objectes a una instància d'aws. (recorda fer-te uns selfies :smile: )

Proposta: Combina aquesta pràctica amb alguna de wordpress: Fes que l'emmagatzematge de wordpress siga el servidor de Minio. 
Reflexió: que aconseguiríem amb aquesta estratègia?

## sessió 20221026 - M8
demo de DNS
link (pressumptament) interessant:  https://github.com/joaniznardo/2018smxm7
labs 17 (dns domini simple) i lab18 (dns primari i dns secundari)

## sessió 20221102 - M8
demo d'integració de DNS i DHCP
**lab10final-test-infraestruct**
https://github.com/joaniznardo/2018smxm7/tree/master/uf1/lab10final-test-infraestruct

## sessió 20221107 - cloud
demo de creació de dipòsits (buckets) de s3

- per la interfície gràfica (consola aws)
- pel terminal (ordre: aws s3 ...)
- [document de referència](https://docs.aws.amazon.com/pdfs/cli/latest/userguide/aws-cli.pdf#cli-services-s3)
- demo de la NO existència de carpetes a s3
```bash=
ubuntu@asixcloud:~$ aws s3api list-objects --bucket asixcloud-jiznardo | jq '.Contents[].Key'
"dades/segon.txt"
"dades/tercer.txt"
"segon.txt"
"tercer.txt"

```

## sessió 20221109 - M8 
revisió individual de l'estat dels servidors dns
consultes útils:
- comprovar quins ports (en quines ips) estan en escolta
```bash! 
ss -ltn
```
- comprovar l'estat del servei
```bash! 
systemctl status named
```
- comprovar els logs del sistema (sols pel servei bind (named))
```bash! 
journalctl -eu named
```
## sessió 20221110 - cloud
**objectiu:** 
- crea la teva web amb tan sols un dipòsit (bucket) de s3 (...i els fitxers que la conformen, clar :smile: )

- proposta d'ampliació (**voluntària**): 
Fes servir el versionat d'objectes. Per exemple, puja amb el mateix nom de fitxer, una foto diferent. Comprova què se visualitza a la teva web.

links webs prefabricades (de [tiiny.host](https://tiiny.host/))
https://s3.eu-west-2.amazonaws.com/tiiny.host/example-site.zip
https://s3.eu-west-2.amazonaws.com/tiiny.host/blog-example.zip
https://s3.eu-west-2.amazonaws.com/tiiny.host/agency-example.zip
https://s3.eu-west-2.amazonaws.com/tiiny.host/portfolio-example.zip
https://s3.eu-west-2.amazonaws.com/tiiny.host/cv-example.zip



web exemple01: http://asixcloud-jiznardo-003-web.s3-website-us-east-1.amazonaws.com/
![](https://i.imgur.com/6lxq4f3.png)

web exemple02: http://asixcloud-jiznardo-006-web.s3-website-us-east-1.amazonaws.com/
![](https://i.imgur.com/9quahDy.png)

web exemple03: http://asixcloud-jiznardo-007-web.s3-website-us-east-1.amazonaws.com/
![](https://i.imgur.com/3feu6oa.png)

web exemple04: http://asixcloud-jiznardo-008-web.s3-website-us-east-1.amazonaws.com/
![](https://i.imgur.com/OPeWzjy.png)

## sessió 20221114 - cloud+M8
Sessió dedicada a preparar l'exercici de M8 del proper 2022/11/21 
La proposta quedarà:
- exercici escrit
- durada de 80 a 100 minuts
- DHCP i DNS (amb les seves redundàncies)
- revisió de l'exercici d'exemple/preparació el proper 16 de Novembre
- (enhorabona a tothom que ho ha intentat)

Properes dates interessants:
- dilluns 21/11 - examen M8 - dhcp i dns
- dilluns 28/11 - examen (mock) cloud
- dilluns 05/12 - examen Cloud - (tot el que hem vist i treballat fins llavors)

## sessió 20221116 - M8
Revisat el (mock) exam de serveis GM.
:warning: Preparatori per demà:
- crear un domini a freenom.com
nom de domini: inicial+primercognom.cf
exemple: jiznardo.cf

:warning: :warning: per poder registrar-se cal posar el domini complet!!!! al camp de **comprovar disponibilitat** i després completar el procés de registre seleccionant comprovar email (...i punxant al link)

https://www.sitepoint.com/community/t/freenom-account-registration/368594/24


## sessió 20221117 - cloud
https://aws.amazon.com/es/blogs/aws-spanish/como-alojar-tu-sitio-web-estatico-en-amazon-s3-y-amazon-cloudfront/
- caldrà un nom de domini .cf (demo feta a classe)
- caldrà gestionar el domini via Route53 (demo feta a classe)
- :warning: el bucket ha de crear-se a la region **us-east-1**
- https://zerossl.com/pricing/ (en el cas que no ens deixe crear el certificat AWS)


Generar certificats per domini (el que tu has creat. ex: jiznardo.cf)

https://zerossl.com/

## sessió 20221124 - cloud
...com que el problema en la sessió anterior eren els permissos per generar el certificat, en breu tindrem nou **sandbox**

Mentrestant...
![](https://i.imgur.com/mn6ICHI.png)
![](https://i.imgur.com/8dqqlTT.png)


:warning: 
Dominis gratuïts alternatius (si desactives l'opció de renovat automàtic i si no contractes cap altre servei)
https://www.names.co.uk
web on fa referencia.
https://interweave.cloud/2022/05/08/how-to-host-a-static-website-on-aws-with-s3-cloudfront-route53-and-terraform/


***lliurament:*** 
- data límit **20221127** 
- hora màx: **23:55**

formulari: https://forms.gle/KGTXBLu5r36GKRvE7

**captures:**
- captura dels certificats a aws
- captura del la zona (domini) a Route53 (i els registres)
- captura de cloudfront (pàgiona principal)
- captura del bucket (no públic ;) )
- captura de l'accés amb el teu domini (ex: https://w3.notecreo.cf)

**Repte complementari (voluntari):**
repeteix el procés amb una altra web i importa el certificat generat a https://zerossl.com/

## sessió 20221128 - cloud
mock exam - wordpress (ec2+rds)

## sessió 20221129 - M8
:confused:

## sessió 20221201 - cloud
demo completa de wordpress via ec2+rds
(basada en les 5 etapes de  https://aws.amazon.com/getting-started/hands-on/deploy-wordpress-with-amazon-rds/module-one/ )  

web singular: https://howtocreateusermysql.com/

contra-rellotge!! https://vclock.com/stopwatch/

## sessió 20221205 - cloud
demo/intro de containers docker
- cicle de vida de les imatges
- cicle de vida dels containers
- creació i accés a la web d'un container apache
 
## sessió 20221207 - M8
primera sessió UF2 - servidor web apache desenvolupament
- creació de web sense certificat
- creació de web amb certificat generat al client mitjançant **mkcert** https://github.com/FiloSottile/mkcert

## sessió 20221212 - cloud
publicació d'una imatge pròpia al registre de docker (docker.io)

## sessió 20221214 - M8
segona sessió UF2 - servidor web apache producció
creació d'una instància a aws amb servidor web apache i accés via https a través de certificat generat per certbot
- domini a freenom (ex: jiznardojda2022.cf)
- domini gestionat des de cloudflare (per accelerar la propagació global dels canvis)
- descàrrega del certificat i la clau per poder repetir  el procés en una altra instància en un altre moment 

## sessió 20221215 - cloud
creació d'una instància d'ecs via fargate fent servir una imatge de docker hub (etherpad)

## sessió 20230109 - cloud
Creació de la(/les) primera(/es) lambda (serverless in action!!)

https://hackmd.io/@joaniznardo/demo_lambda_01 

## sessió 20230109 - M8 
Proposta d'activitat: fer que cada compte d'una màquina virtual on hi ha un apache puga publicar la seva web personal.
**Pista:) mòdul USERDIR**

## sessió 20230111 - M8
- demo completa de la preparació correcta de apache amb el mòdul userdir per tal d'aconseguir l'objectiu de que cada compte del sistema tingui una pàgina web disponible a un directori al seu home dir  
- demo de la consulta de l'estat del servidor via el modul status i el link {ip}/server-status  
- demo d'un test de càrrega a la web amb ab (apache benchmark)  
- demo de l'autenticació mitjançant usuari i contrassenya per tal d'accedir a una web o un directori/secció d'una web.

## sessió 20230112 - Cloud
activitat de awsacademy - **elastic beanstalk**
https://hackmd.io/@joaniznardo/cloud-beanstalk-template

## sessió 20230116 - M8 
https://help.ubuntu.com/community/AWStats

els aspectes claus a l'hora de configurar awstats: (revisa aquests dos punts clau :smiley_cat: )
- resolució de noms a client i a server (/etc/hosts)
- el fitxer de configuració de awstats CAL que tinga el NOM del domini

**Estadístiques** d'ús de la teva web: **awstats**
![](https://i.imgur.com/IRMnYog.png)

<!-- ![](https://data.terabox.com/thumbnail/5f559e84ba178be8712573f6cfcf7065?fid=4401278998192-250528-971070331337903&time=1673971200&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-%2FIUnQaz3d6RnNNN2KeI2sOl%2Bx1E%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=395162089922232344&dp-callid=0&size=c1600_u1600&quality=100&vuk=-&ft=video)

--> 
## sessió 20230116 - Cloud
https://github.com/netdata/netdata
https://www.netdata.cloud/community/

**Monitoratge**: netdata (aviat veurem el monitoratge a aws amb cloudwatch)
![](https://i.imgur.com/o6Sg2mi.png)

## sessió 20230118 - M8
Primera sessió protocol FTP
https://hackmd.io/@joaniznardo/ftp
https://github.com/joaniznardo/2018smxm7/tree/master/uf2
- instalació server (proftpd) i accés amb client textual (ftp)
- afegit de la capa de seguretat (ssl) mitjançant el certificat (autosignat)
- upload de fitxer mitjançant curl

Demo d'accés obligatori amb certificat (lab22)
![](https://i.imgur.com/AqVfyKh.png)

## sessió 20230119 - cloud
**Activitat dirigida: Mòdul10 - activitat 6**
Desplagament d'una applicació web amb alta dispobilitat (tolerant a fallades) i alta escalabilitat (suporta altes demandes de càrrega)

lliurament de la prova de la realització al moodle mitjançant impressió del hackmd corresponent on se visualitze almenys que s'han engegat noves instàncies del grup d'autoescalat i que s'ha rebut notificació via email de que noves instàncies es creen (quan s'incrementa la demanda) i d'altres s'aturen (quan cesa la demanda)

## sessió 20230123 - M8
Avaluació servei web

## sessió 20230125 - M8
vaga

## sessió 20230126 - Cloud
vaga

## sessió 20230130 - M8
Demo webhosting via accés ftp únicament.
- Creació de comptes amb un directori públic
- Creació del fitxer de configuració de la web
- Creació de l'enllaç simbólic al directori públic del compte. 

## sessió 20230201 - M8
Demo servei de ftp amb comptes virtuals
:warning: proposta examen ftp el dimecres 8 de febrer de 2023

## sessió 20230206 - M8
demo d'accés anònim a ftp (amb compte físic i virtual)

## sessió 20230206 - cloud
demo d'arquitectura de 3 capes a AWS (sandbox amb crèdits)
Nextcloud funcionant amb rds (mysql) i s3 per emmagatzemar les dades
https://github.com/joaniznardo/terraform-aws

## sessió 20230208 - M8
examen ftp

## sessió 20230209 - cloud
Assignació del 1er repte cloud
data final 2 de març de 2023

## sessió 20230213 - cloud
sessió de projecte01 - 1 hora

## sessió 20230215 - M8
**demo de servidor de correu**
configuració i posada en arxa de docker-emailserver [accés directe :)](https://github.com/docker-mailserver/docker-mailserver)
creació de comptes
configuració del client d'escriptori thunderbird
enviament (satisfactori) i resposta d'email entre comptes


## sessió 20230216 - cloud
sessió de projecte01 - 2 hores

## sessió 20230221 - festiu (lliure disposició)

## sessió 20230222 - m8
- **múltiples servidors a diferents instàncies**
gestió de la configuració amb git
- **certificats al servidor**
- **configuració del client (thunderbird) pels 2 dominis**


## sessió 20230223 - cloud
sessió de projecte02 - 2 hores

## sessió 20230227 - cloud
sessió de projecte03 - 1 hores

## sessió 20230301 - M8
demo enviament de correu xifrat (PGP) - 2 hores

## sessió 20230301 - cloud
sessió de projecte04 - 2 hores

## sessió 20230306 - cloud
sessió de projecte05 - 1 hores

## sessió 20230306 - M8
demo enviament de correu amb listmonk - 1 hora
https://hackmd.io/@joaniznardo/demo-doble-email-erver

## sessió 20230308 - M8
Vaga - Dia de la Dona

## sessió 20230309 - cloud
Exposició reptes (1er repte)


## sessió 20230311 - cloud
Exposició reptes (1er repte-2on dia)


## sessió 20230308 - M8
### demo rocket chat (a isard)
![](https://i.imgur.com/WnRtC7b.png)
![](https://i.imgur.com/CFdhB5B.png)
![](https://i.imgur.com/heNpuvJ.png)

### demo mattermost (a isard)
![](https://i.imgur.com/13MHBOu.png)
![](https://i.imgur.com/2NFBaiR.png)


## sessió 20230315 - M8
Enunciat del repte UF3 i treball sobre ell
https://hackmd.io/@joaniznardo/asix2uf3-repte

## sessió 20230316 - cloud
Definició 2on repte
dates de presentació:
20 i 24 d'abril

## sessió 20230320 - cloud
tancament del 2on repte

## sessió 20230320 - M8
sessió de treball UF3 (1)

