Salta el contingut

AWS - Pràctica (iv)

Ja estem dins la Consola principal. Anem a

Explorem EC2 : Elastic Compute Cloud

EC2 ve de Elastic Compute Cloud. Mitjançant la consola EC2 es poden realitzar totes les operacions amb els servidors.

Serà important el nombre de:

  • Instances: total d’instàncies creades

  • Instances running: instàncies en funcionament

Tipus d'instàncies

A l'hora de crear un servidor, es pot escollir entre diferents models d'instància, que definirà quines prestacions té l'equip.

AWS defineix unes categories principals en funció de la finalitat de l'equip. Entre altres:

PROPÒSIT TIPUS
General purpose De propòsit general.
Compute optimized Processadors d'alt rendiment.
Memory optimized Per ús de molta informació en memòria.
Accelerated Computing Acceleradors hardware o co-processadors.
Storage Optimized Ús d'E/S intens. Ofereixen Baixa latència d'accés a disc.
HPC Optimized Per aplicacions que es beneficien de processadors d'alt rendiment, com ara simulacions grans i complexes i càrregues de treball d'aprenentatge profund.

Les màquines es classifiquen amb una nomenclatura que les identifica. Hi ha moltes famílies d'equips orientades a diferents prestacions:

Per exemple, la família C5 (Compute optimized):

  • c5.large: 2 vCPU's -- 4GiB RAM -- 0,085 $/h -- 0,177$/h Windows

Per a fer pràctiques amb alumnes, amb la família T2 (General purpose) és suficient i més econòmic pel cost per hora:

  • T2.micro: 1 vCPU -- 1GB RAM -- 0,0116 $/h Linux

  • T2.medium: 2 vCPU's -- 4GiB RAM -- 0,0464 $/h Linux -- 0,0644 $/h Windows

  • T2.large: 2 vCPU's -- 8GiB RAM -- 0,0928 $/h Linux -- 0,1208 $/h Windows

Tipus d'instàncies

Les màquines també es poden distingir entre les següents tipologies que afecten també al preu:

  • On-demand: Les màquines es provisionen quan l'usuari ho demana, és a dir, sota demanda.

  • Reserved: Amb antel·lació es fa una reserva d'un equip a mesos o anys vista. Preus més econòmics que on-demand.

  • Spot: Es fan servir instàncies que AWS en aquest moment no necessita i el preu es determina per subhasta, però AWS les pot parar en el moment en què facin falta per exemple per donar servei on-demand. Ideal per treballs en els que es facin servir vàries instàncies i no importi si una d'elles es perd.

Mira aquest enllaç https://aws.amazon.com/ec2/instance-types/t2/ per veure diferents preus de ECs

Mira aquest enllaç https://aws.amazon.com/ec2/spot/pricing/ per veure diferents preus de ECs de tipus Spot

Fixeu-vos com Windows és tres vegades més car.

AMI's

Les AMI's (Amazon Machine Image) són els diferents tipus d'imatges o plantilles de sistema operatiu que proporciona AWS.

  • Un cop s'ha escollit el model d'instància, cal determinar quin sistema operatiu s'hi instal·larà al desplegar-la.

  • Permet crear-se les pròpies AMI's.

  • Ofereix una AMI de Linux creada i mantinguda per AWS, optimitzada i preparada per a la integració amb totes les funcionalitats de AWS.

    • Actualment la versió més recent és la Amazon Linux 2023

    • Té suport fins a 5 anys.

Les AMI's es poden trobar en un Marketplace de AWS. Les principals estan disponibles en Quickstart AMI's

Desplegament d'una EC2 Linux

Desplegarem una AMI Linux en una t2.micro.

Crearem una instància que s’anomenarà XXX-Linux-Server-1, amb una t2.micro i la imatge Linux AMI 2023 i verificarem que s’accedeix per SSH i per web després d'haver instal·lat el servidor Apache. Li associarem el SG creat anteriorment.

  1. Anirem a la opció de EC2 - Instance types on podem arribar-hi escrivint la paraula instance types al quadre de cerca.

    Mirarem les característiques d'aquest tipus de instància/màquina: vCPUs, Aquitectura, Cores, RAM, etc.

  2. Anirem a la opció de EC2 - Instances on podem arribar-hi escrivint la paraula instances al quadre de cerca.

    Crearem una nova instància amb el botó Launch instances

    • Cal omplir, entre altres:

      • Name: XXX-Linux-Server-1

      • Application and OS Images: utilitzarem una imatge de Ubuntu i en el desplegable (AMI) seleccionarem la que ens proposa, que és la darrera LTS (Canonical, Ubuntu, 22.04 LTS, amd64 jammy image build on 2023-09-19).

      • Instance type: t2.micro que ja ens la proposa

      • Key pair (login): cal crear un parell de claus, que després descarregarem, amb els paràmetres tal i com venen però amb un nom: xyz-key-1. Se'ns genera un fitxer amb extensió .pem que cal emmagatzemar ja que l'utilitzarem per connectar-nos per ssh

      ssh -i xyz-key-1.pem usuari@ipDelHost
      
      • Network Settings: Editarem per tal d'assignar-li la subxarxa i el security group:

        • la subxarxa xyz-subnet-1a. En cas contrari el sistema escollirà el que millor li vingui bé a ell.

        • a Firewall (security groups) li assignarem el SG que hem fet anteriorment: xyz-sg-webSSH

      • Storage ho deixarem com està

      • Advanced details: a IAM instance profile cal escollir LabInstanceProfile.

        Si no escollim LabInstanceProfile, tindrem accés a la màquina creada.

        Aquest és un paràmetre que, una vegada creada la màquina, no podrem modificar.

    • Indicarem que volem crear una instància i

    • premem el botó Launch Instance

      Una vegada creada ens obre una sèrie d'opcions per a fer a posteriori.

      Mirarem la opció Connect to your instance per saber com hem de connectar-nos-hi via SSH.

      • Anirem a la pestanya SSH Client i seguirem les passes.

      Si tenim Windows, obrim un CMD, afegim al directori on estem el fitxer .pem descarregat i executem el que ens demani

      ssh -i "xyz-key-1.pem" ubuntu@ec2-107-20-124-49.compute-1.amazonaws.com
      

      Al ser, el fitxer .pem, una clau privada només ens permet connectar si hi ha pocs usuaris amb accés al fitxer. Cal canviar-ne les propietats de seguretat i deixar-nos només a nosaltres amb accés

      podeu executar
      CACLS xyz-key-1.pem /P UsuariWindows:F
      

      És possible que calgui contestar Y en comptes de S. Cal rebre un missatge de validació al'executar la comanda.