AWS: Amazon Web Services

De Cacauet Wiki
Salta a la navegació Salta a la cerca

AWS és un servei de Amazon basat en Ubuntu Cloud on pots gestionar diverses màquines virtuals (instàncies) corrent diferents versions de Linux o Windows.

És interessant que (a data d'Abril de 2012) hi ha una versió free durant 1 any del AWS.

Els passos necessaris per poder posar en marxa la nostra màquina són els següents (farem un primer exemple amb el servidor web Apache).

Requisits

  • Targeta de crèdit/dèbit.
  • Un telèfon a mà (marcació per tons).
  • Connexió a Internet a poder ser no compartida. Si molts usuaris es donen d'alta alhora pot ser que ens prenguin per un atac.

Alta a AWS

  • Cal tenir a punt una targeta de dèbit (millor que no pas de crèdit). Ens cobraran 1€ (teòricament ens ho retornaran, és per comprovar que la targeta és vàlida).
  • Anar al link de AWS i obrir un compte.
  • Un cop introduïda la targeta de crèdit i el telèfon ens faran una trucada per verificar un PIN. Això activarà el compte.


Seguretat

És molt important:

  • Crear contrasenyes segures, difícilment endevinables.
  • Utilitzar un nom d'usuari que no sigui fàcilment deduïble. Particularment, no utilitzar paraules que estiguin al nostre nom de domini. Per exemple, si el domini és manel.tk NO utilitzeu manel com a nom d'usuari.
  • No activar contrasenyes per SSH, només connexions amb SSH keys.
  • ACTIVAR ALARMA per quan excedim un cert consum de transferència.
    1. Anar a la consola de facturació -> preferències: https://console.aws.amazon.com/billing/home#/preferences
    2. Activar "Receive billing alerts"
    3. Canviar a la zona US North Virgina (les alarmes de facturació només es poden fer en aquesta zona)
    4. Crear una nova alarma anant a: CloudWatch -> Create Alarm
      • Mètrica: Estimated charges.
      • Charges >= $5 (per exemple)
      • Notification: crea un "SNS topic" amb el teu email.


Temes de seguretat a comprovar periòdicament:

  • Visitar regularment el nostre compte AWS i comprovar els càrrecs que es preveuen pel mes vinent.
  • Fer un "top" a la màquina. Tots els processos haurien d'estar a menys del 1% de CPU. Si hi ha activitat més gran, pot haver-hi una intrusió.


EN CAS DE DETECCIÓ O SOSPITA D'INTRUSIÓ:

  1. Aturar la màquina (no terminate, simplement stop o bé per comanda sudo poweroff). Això aturarà el trànsit de la web i per tant l'increment de la possible facturació.
  2. Consultar el professor.


Creant la primera màquina

  • Entrem al nostre compte.
  • Anirem al "panell de control" o "Management Console".
  • Assegureu-vos que esteu a la zona EU Ireland (a dalt a la dreta).
  • Crear una instància de una EC2 (Elastic Compute Cloud). Pots triar entre diverses versions de Linux i Windows. Començarem per una Ubuntu en la versió LTS que hi hagi disponible (Long-Term Service).
  • Mentre creem la instància de EC2 ens demanarà crear un KEYPAIR. Al tanto, és important per començar, és la SSH key que utilitzarem per logar-nos. Guardeu-la curosament (també la podrem descarregar després).


Assignant una "elastic IP" a la nostra instància

  • El nom de la nostra màquina canvia segons el dia. El nom depèn de la IP interna i aquesta canvia segons la cloud: les màquines virtuals es mouen pels nodes del multiprocessador segons convé al sistema. Per tant:
  • Cal posar una IP a la màquina (per després activar un nom de domini), concretament una Elastic IP (assigneu-la a la instància recentment creada):
    Management Console -> EC2 -> Elastic IPs
  • Assigneu la IP a la instància Ubuntu creada.


Connectant-nos per SSH a la instància EC2

IMPORTANT: La primera connexió ha de ser per autenticació per clau pública (arxiu .pem).


En Linux:

  • Creeu el directori .ssh si us cal:
    ~$ mkdir .ssh
  • Descarregueu la key (arxiu .pem, normalment es descarrega automàticament durant la creació de la instància) i moveu-lo al vostre directori .ssh. Creeu el directori .ssh si us cal:
    ~$ mv enric.pem .ssh/
  • Cal que sapiguem ara el nom de la màquina a la que volem connectar-nos.
    • Si teniu assignada la elastic IP ja podeu utilitzar-la.
    • Si no teniu assignada una elastic IP podeu anar a
      Management Console -> EC2 -> Instances -> (cliqueu la nova instància) -> Public DNS
  • Primera connexió a la màquina (amb usuari ubuntu, és el que ve per defecte): si per exemple la màquina es diu m123.amazonaws.com
    ssh -i .ssh/enric.pem [email protected]
  • Accedim a la màquina per consola SSH.


En Windows:

  • Descarregueu putty i l'aplicació puttygen.
  • Transformeu l'arxiu .pem al format .ppk (amb el puttygen).
  • Configureu el putty per autenticar-se amb l'arxiu .ppk i l'usuari "ubuntu" a la màquina amb la IP que heu configurat.
  • Accedim a la màquina virtual AWS per SSH.


Creant usuaris

  • A partir d'aquí ja podriem crear usuaris diversos amb contrassenya clàssica, etc.
    $ sudo adduser <nom_usuari>
  • Proveu de fer un ssh a la IP assignada i amb el nou usuari que hagueu creat:
    ssh <nom_usuari>@<nova_elastic_ip>
  • Obriu el port 80 (HTTP) per poder accedir al servei web:
    Management Console -> EC2 -> Security Group -> (clica el grup on hagis posat la teva instància) -> Inbound -> + port HTTP
  • Instal·leu l'apache.
    sudo apt-get install apache2
  • Comproveu que podeu visualitzar l'Apache, apuntant el navegador a:
    http://<nova_elastic_ip>
  • Pots instal·lar serveis adequats: php5, phpmyadmin, mysql, etc.


Domini

  • Crear un domini (gratuït a www.dot.tk o pagant un .com)
  • Configurar el DNS de .dot.tk a la elastic IP que heu configurat.

...i ale! A gaudir!... :)