Web Service que provee capacidad de computo en la nube.
Las instancias son
la base de EC2. Estas son servidores virtuales que pueden ser
adquiridos mediante múltiples opciones disponibles. La estrategia
asociada al cobro esta directamente relacionada a las hora de uso de
dicha instancia.
Cuando una instancia
es lanzada hay que tomar en cuenta 2 factores muy relevantes: El
hardware virtual asociado a la instancia así como el software que
será cargado en ella.
Se clasifican y
diferencian mediante los siguientes factores:
- CPUs virtuales.
- Memoria.
- Almacenamiento(tipo y tamaño).
- Rendimiento de red.
Las instancias son
agrupadas en familias que se definen en base a los criterios antes
mencionados. Para cada familia hay múltiples opciones que pueden ser
seleccionadas y que son escaladas linealmente. Por ejemplo para la
familia m4 podemos considerar una instancia tipo m4.large definida
por 2 vCPUs siendo así la siguiente instancia m4.xlarge escala a 4
vCPus y para m4.2xlarge contaremos con 8 vCPUs. Este comportamiento
es consistente en todas las familias.
Existe una gran
variedad de familias. A continuación mencionaremos algunas de las
más populares.
R | Optimizadas en memoria RAM. | Caches en memoria. |
C | Optimizadas en computo . | Computo y Base de Datos. |
M | Balanceadas. | Uso general y aplicaciones web. |
I | Optimizadas para almacenamiento, I/O. | Base de Datos, almacenamiento |
G | Basadas en GPU. | Machine Learning, render de videos. |
El rendimiento de red es muy relevante al momento de seleccionar
nuestra instancia, este rendimiento se ve incrementado con forme las
instancias crecen dentro de una familia. En caso de requerir un
desempeño mayor para algunas instancias existe la posibilidad de
utilizar el concepto de “enchanced networking”. Su uso
reduce el impacto de la virtualización en
el rendimiento de red permitiendo la transferencia de un mayor número
de paquetes por segundo (PPS) y bajar la latencia. Sin embargo ademas
de que la instancia permita el uso de “enchanced networking”
estas instancias deberán estar contenidas dentro de una VPC.
Amazon Machine
Images AMI
Es el encargado de definir el software que va a estar presente en la
instancia al momento de ser iniciada, como es el Sistema Operativo,
aplicaciones o software de sistema.
Al momento existe 4 tipos de orígenes para las AMIs
Publicadas por AWS | Múltiples distribuciones de Linux,Windows 2008 y Windows 2012. |
AWS Marketplace | Tienda en línea con instancias que pueden contener software especializado que a su vez puede generar cargos extras. |
Generadas desde instancias existentes | Generadas basadas en instancias existentes que ya cumplen con algún tipo de requisito. |
Servidores virtuales subidos | Utiliza el servicio de AWS VM para importar o exportar imágenes a partir de varios formatos. |
Abordar una
instancias
Public Domain Name
System (DNS) name
Al momento de
iniciar la instancia AWS crea un nombre DNS automáticamente que
puede ser usado para acceder a la instancia. Este nombre no puede ser
especificado por el usuario y persiste solo mientras la instancia
este corriendo, así mismo no puede ser transferido a otra instancia.
IP pública
Opcionalmente una
instancia puede ser asociada a una dirección IP pública. Esta IP es
asignada por AWS de una reserva de IP que administra y no puede ser
especificada por el usuario. Persiste mientras la instancia este
corriendo y no puede ser transferida a otra instancia.
Elastic IP
Es una clase
especial de dirección IP pública que puede ser asociada a nuestra
instancias. Estas son persistentes para un mismo usuario hasta que el
usuario decida. Está si puede ser transferida entre múltiples
instancias (una a la vez) y generalmente es usada en casos de fallas
de instancias.
Acceso inicial
EC2 usa criptografía
de llave pública para cifrar y descifrar la información de login.
Particularmente usa la llave pública para cifrar y la privada para
descifrar. Este par de llaves es conocido como key pair la
llave pública es conservada por AWS y la privada por el cliente. Al
momento de crear nuestra instancia la consola nos pregunta si
requerimos generar un key pair nuevo o si vamos a usar un par de
llaves ya existente. Es importante administrar correctamente este
archivo.
El
usuario inicial para instancias con Sistema Operativo Linux es
ec2-user, y para hacer este primer acceso es necesario conectarse
mediante SSH dando como parámetro nuestro key pair.
Es
importante ubicar el archivo *.pem y
otorgarle los permisos necesario de lectura.
>
chmod 400 {nombre}.pem
Una
vez otorgado el permiso de lectura, ya podemos ejecutar SSH.
>
ssh -i {nombre}.pem ec2-user@{ip-pública asociada}
Francamente
no he generado ninguna instancia Windows así es que no detallo los
pasos. :p