2. amazon web services

Post on 13-Apr-2017

65 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Amazon Web

Services

Cristian González García v 1.2.2 Noviembre 2015

Índice

Introducción

Arquitectura

Elastic MapReduce

Inscripción

Key Pair

EMR: Word Count

Amazon EC2

Acceso a Amazon EC2

2

Introducción

3

Introducción Lanzado en el año 2004

Sólo Simple Queue Service (SQS): envío de datos

Propiedad de Amazon

Colección de servicios de computación en la nube Almacenamiento, MVs, servicios web, …

Microsoft Azure, Google Cloud Platform

AWS fue el primero

Ofrece servicios bajo demanda o fijos Pagas por lo que utilizas

Puedes contratar hasta x% de margen escalabilidad

Puedes establecer un límite de dinero a gastar

4

Nacimiento

Necesitaban levantar instancias para

desarrollo y/o producción

Crearon un sistema interno para esto

Tras ver su potencia, decidieron publicarlo

EC2, S3, …

Fueron creando más servicios con el tiempo

Se convirtió en AWS

6

Que ofrece

Almacenaje

Procesamiento

Transferencia

Servidores

Monitorización de los servicios

Seguridad

Bases de datos

7

Es utilizado por … I Flipboard

Revista personal móvil

Ahorro de millones de dólares

Viocorp Plataforma de video online

Reducción de un 50% de costes

Mortar Data Despliegue de apps y tratamiento de Big Data

Ahorro de 4 millones de dólares

Schumacher Group Servicio de salud. Más de 4M de pacientes

Reducción de costes de 80.000$ (servidor propio) a 4.000-5.000$ (AWS)

8

Es utilizado por … II Adobe Systems Incorporated

Desarrollo de software

Despliegue de servicios que no podrían realizar mediante el despliegue tradicional

Thismoment Desarrollo de aplicaciones sociales móviles

No tener que preocuparse de los servidores

Reddit Sitio web de marcadores sociales

Escalabilidad de servidores y BBDD

Obama for America Organziación

Escalabilidad

9

Es utilizado por … III Ubisoft Entertainment

Desarrolladora de videojuegos

Ayuda en la producción

Ooyala Soluciones de video online

Agilidad y velocidad

Coursera Plataforma educativa virtual (MOOC)

Velocidad, servicios y agilidad

Engine Yard Despliegue de apps en la nube

Flexibilidad, escalabilidad y alcance global

10

Es utilizado por … IV Amazon

Tienda Online

Backups en Cinta -> S3: 15h de restablecimiento -> 2,5

Netflix Empresa de video bajo demanda

Velocidad de despliegue y capacidad de almacenamiento

airbnb Mercado comunitario de alquileres

Escalabilidad y análisis (EMR y S3)

Shazam Identificación de música

Escalabilidad, fiabilidad y herramientas: Super Bowl

11

Arquitectura

12

Regiones geográficas I

Se divide en 9 regiones geográficas

13

Regiones geográficas II

EE.UU. Este (Norte de Virginia)

EE.UU. Oeste (Norte de California)

EE.UU. Oeste (Oregón)

Sur América (São Paulo)

Europa (Irlanda)

Europa (Frankfurt)

Asia Pacífico (Singapur)

Asia Pacífico (Tokio)

Asia Pacífico (Sydney)

14

Regiones geográficas III Cada región tiene

Sus propios precios Latencia según nuestra situación y carga de red No todas tienen todos los servicios

https://aws.amazon.com/es/about-aws/global-infrastructure/regional-product-services/

Hay dos regiones especiales AWS GovCloud (EE.UU.) dedicada al Gobierno de los EEUU 2014: Región de China en Pekín. Es exclusiva

Todos los datos están mantenidos siempre en la misma región Si se cambia de región, hay que pagar Excepto S3 que es global

Cada región tiene zonas de disponibilidad aisladas Evitar propagación de problemas Algunos servicios si interoperan entre zonas

DynamoDB, S3

15

Regiones geográficas IV

Latencia: http://www.cloudping.info/

Desde Oviedo, Asturias, España

16

Regiones geográficas VInstancia CPU RAM EEUU

(Oregón y

Virginia)

UE

(Irlanda)

UE

(Frankfurt)

EEUU

(Californi

a)

Asia

(Sídney,

Tokio* y

Singapur

*

America

del Sur

(Sao

Paulo**)

t2.micro 1 1 $0.013 $0.014 $0.015 $0.017 $0.02 $0.027

t2.small 1 2 $0.026 $0.028 $0.03 $0.034 $0.04 $0.054

t2.medium 2 4 $0.052 $0.056 $0.06 $0.068 $0.08 $0.108

t2.large 2 8 $0.104 $0.112 $0.12 $0.136 $0.16 $0.216

17

Precios por hora del EC2: https://aws.amazon.com/es/ec2/pricing/ *: difieren en el resto pero están ordenadas de menos a más cara **: no ofrece todos los tipos de máquinas que las otras

Instancias EC2

http://aws.amazon.com/es/ec2/instance-

types/

AWS dispone de diferentes tipos de instancia

Cada tipo es para un servicio en concreto

Ráfagas (T2), Uso general (M3 y M4),

Optimizadas IT (C3 y C4), Optimizadas en

memoria (R3), Gráficas (G2), Almacenamiento

E/S SSD (I2), Almacenamiento Capacidad HD

(D2)

Cada tipo tiene diferentes tipos de CPU con

diferente potencia y diferente RAM

18

Servicios de AWS I

19

Servicios de AWS II

EC2 (Elastic Compute Cloud)

Ofrece capacidad escalable en la nube con

máquinas virtuales

GNU/Linux, Windows

Instancias, seguridad, despliegue de apps, IPs, …

http://aws.amazon.com/es/ec2/

Lambda (Desde 15/11/2014)

Ejecución de código en base a ciertos eventos

Autogestión de recursos

http://aws.amazon.com/es/lambda/

20

Servicios de AWS III EC2 Container Service (Desde 2015)

Despliegue en el EC2 utilizando “contenedores”

Docker

Despliegue y configuración de software “automático”

http://aws.amazon.com/es/ecs/

Elastic Beanstalk (Desde 2015)

Despliegue, monitorización y escalado de apps

Creación de un “contenedor” y su despliegue

https://aws.amazon.com/es/documentation/elastic-beanstalk/

21

Servicios de AWS IV

S3 (Amazon Simple Storage Service)

Estructura de almacenamiento redundante y

con un escalado “infinito”. Es

http://aws.amazon.com/es/s3/

Storage Gateway

Conector entre dispositivos de software físico

con almacenamiento en la nube

Los datos de la empresa a una instancia S3

http://aws.amazon.com/es/storagegateway/

22

Servicios de AWS V

Glacier

Sistema de almacenamiento barato (0,01

USD/GB), de poco acceso pero seguro

http://aws.amazon.com/es/glacier/

CloudFront

Servicio para distribuir contenido a usuarios finales

http://aws.amazon.com/es/cloudfront/

Elastic File System (Beta en 2015)

Gestor de archivos para el EC2

Soporta múltiples instancias del EC2

http://aws.amazon.com/es/efs/

23

Servicios de AWS VI EMR

Análisis de datos utilizando Hadoop

http://aws.amazon.com/es/elasticmapreduce/

Kinesis

Recopilamiento y procesamiento de datos en tiempo real usando SQL

http://aws.amazon.com/es/kinesis/

Data Pipeline

Procesamiento y transferencia de datos entre sistemas de AWS (S3, EMR, DynamoDB, RDS)

http://aws.amazon.com/es/datapipeline/

24

Servicios de AWS VII

Elasticsearch Service

Gestión del buscador de documentos distribuido Elasticsearch (basado en Lucene)

https://aws.amazon.com/es/elasticsearch-service/

Machine Learning

Servicio de aprendizaje automático escalable

Ofrece patrones de datos

https://aws.amazon.com/es/machine-learning/

25

Arquitectura respecto la App

26

Amazon Elastic

MapReduce

27

¿Qué es?

Servicio Web de AWS

http://aws.amazon.com/es/elasticmapreduce

Procesamiento de grandes volúmenes de datos

Utiliza Apache Hadoop

http://hadoop.apache.org/

Ejecuta una instancia EC2 automáticamente y la borra después de un tiempo

Utiliza S3 para leer y guardar los datos

También se puede utilizar DynamoDB

28

¿Qué ofrece? Permite procesar grandes volúmenes de datos

Análisis, estadísticas, procesamiento, IA, simulaciones, …

Interfaz gráfica para configurar el proceso

Monitorización del estado

SDK http://docs.aws.amazon.com/ElasticMapReduce/lat

est/DeveloperGuide/call-emr-using-sdks.html

Java, Node, PHP, Python, Ruby y .Net

Lanzar programáticamente todo el proceso intregrado en una aplicación

Integración con otros servicios de AWS CloudWatch, EC2, S3, DynamoDB, …

Pagar sólo por lo computado

29

Ciclo de vida

Ciclo de uso

Subir los datos a la estancia S3

Crear y configurar el Clúster Hadoop

Ver el estado

Recoger los datos de una estancia S3

30

Facturación I

https://console.aws.amazon.com/billing/ho

me?#

Comienza con la ejecución del clúster

No en su configuración

Tienen un tiempo mínimo de arranque en el

que no cobran (~10 minutos)

Las fracciones de horas de instancias se

facturarán como horas completas

Termina cuando se detiene el clúster

Si falla, no te cobran EMR pero si S3 (logs)

31

Facturación II

Cada instancia tiene un número

normalizado de horas

Esto depende del hardware de dicha

instancia

32

Facturación III

33

Facturación IV

34

Inscripción

35

Incripciones gratuitas

Hay dos formas

Cuenta gratuita de un año al registrarse

pro primera vez en Amazon

Tiene ciertas limitaciones antes de cobrar

No ofrece ventajas en todos los servicios

Como alumnos

Necesita la inscripción previa

36

Primer año gratuito

37

Ofrece … EC2

750 horas al mes de uso de las instancias t2.micro Linux o Windows 30 GB de instancias

S3 5 GB de almacenamiento

DynamoDB 25 GB de almacenamiento 25 unidades de escritura y lectura

EBS 30 GB de almacenamiento

CloudFront 50 GB de transferencia 2.000.000 de solicitudes HTTP o HTTPS

RDS 750h de uso de micro-instancias 20 GB de almacenamiento 20 GB de copias de seguridad

Y más… http://aws.amazon.com/es/free/

38

Inscripción I

Entramos en Amazon Web Services

http://aws.amazon.com/es/

Creamos una cuenta gratuita

39

Inscripción II

Creáis una cuenta nueva o usáis una que

tengáis

40

Inscripción III

Rellenáis vuestra información de

contacto y bancaria

Cogéis la llamada y seguís los pasos

Introducir los números del registro en el

teclado de vuestro teléfono

41

Inscripción IV

Seleccionáis el plan deseado

42

Comparativa de planes

43

Inscripción como alumno

44

Alumnos I

https://aws.amazon.com/es/education/a

wseducate/

35$-100$ a gastar en un año

Renovable al año

Se puede utilizar todo AWS

Se necesita crear cuenta de Amazon

primero

45

Alumnos II

46

Alumnos III

47

Rellenar y esperar un correo

Se obtiene

en:

Alumnos IV - Correo

48

Copiarlo

Alumnos V - Código

49

Ir a AWS

Perfil -> My Account -> Créditos

Alumnos VI - Código

50

Insertar código promocional recibido en

el correo y canjearlo

Aquí

Alumnos V - Código

51

Os deberá aparecer al final de la página

el crédito de 35$/100$

Key Pair

52

Key Pair I

Primero vamos a la consola de recursos de EC2

https://console.aws.amazon.com/ec2/

Crearemos una clave público-privada (Criptografía asimétrica)

Utilizada por AWS para el acceso a sus servicios

Nos permitirá el acceso a los diferentes servicios

Consola, SDK, instancias EC2, servicios, …

53

Key Pair II

Entramos en “Key Pairs”

54

Key Pair III

Creamos la Key Pair

55

Key Pair IV Seleccionamos un nombre

56

Guardamos la clave privada

.pem: contenedor de claves/certificados

Key Pair V

Ya la tenemos creada

57

EMR: Word Count

58

Introducción

Realizaremos el ejemplo Word Count

Map: lógica en Python

Reduce: función “aggregator” de Hadoop

Contar la frecuencia de aparición de

palabras en un fichero

Crear un clúster

3 instancias de tipo m1.medium

La más barata permitida

59

S3

Entramos en el S3

Creamos un nuevo Bucket

Necesitamos uno antes de ejecutar EMR,

sino fallará

Lo utilizaremos para el resultado del EMR

Introducimos el nombre

Seleccionamos la región

60

Clúster I

Entramos en EMR

Ahora crearemos el Clúster

https://console.aws.amazon.com/elasticm

apreduce/

61

Clúster II

Vamos a “Go to advanced options”

Arriba del todo

62

Clúster III

Vamos a “Configure sample application”

63

Ejemplo

Utilizaremos el ejemplo de Hadoop en

Amazon: Word Count

64

Ejemplo deseado

Carpeta con

el resultado

Log del proceso

Modo Debug

Ejemplo

Utilizaremos el ejemplo de Hadoop en

Amazon: Word Count

65

Ejemplo deseado

Nombre del

bucket

Carpeta para

el log

Modo Debug

Tags

Para mejorar búsquedas de máquinas si

tenemos muchas

No hace falta que pongamos nada

66

Software Configuration

Seleccionamos la versión de Hadoop

EMR: versión de Hadoop de Amazon

Amazon 4.1.0

Hadoop 2.6.0

Contiene mejoras y optimizaciones para AWS

MapR: Hadoop original

67

Otras aplicaciones I

Podemos seleccionar otro software a

instalar

68

Otras aplicaciones II

Quitamos Hive y Pig

No se necesitan en este ejemplo

69

Sistema de ficheros

Permite elegir encriptación en la

conexión

No necesitaremos nada

70

Tipo de instancia I

Elegimos el Hardware deseado

El precio depende del HW y la zona

http://aws.amazon.com/es/elasticmapred

uce/pricing/

71

Tipo de instancia II

Seleccionamos la m1.medium

No permite utilizar la m1.small

Podéis seleccionar menos instancias

72

¡Cuidado!

Seguridad

Seleccionamos la clave de acceso

Con ella accederemos por SSH

Debe ser creada previamente a este paso

Ya la creamos

73

IAM Roles

Seleccionamos los roles de acceso

El por defecto permite que la aplicación

pueda acceder a otros servicios de AWS

Uno para EMR y otro para el EC2

74

Bootstrap Actions

Nos permite incluir acciones (Scripts) en el

inicio del clúster

Se ejecutan también en los nodos

https://docs.aws.amazon.com/es_es/Elastic

MapReduce/latest/ManagementGuide/e

mr-plan-bootstrap.html

75

Steps I

Configuramos los “trabajos” de Hadoop

Como ejecutamos el ejemplo, ya tenemos

el necesario

76

Steps II

Si lo editamos

77

Nombre

Función Map

o función Hadoop

Función Reduce

o función Hadoop

Datos de entrada

Carpeta de salida

Argumentos

Acción si falla.

¡Importante!

Steps III

Repasamos la configuración

Lanzamos el clúster

78

Monitorización I

Con esto el clúster se lanzó y se ejecuta

79

Monitorización II

Automáticamente tras crearla la lanza e

inicia

80

Monitorización III

Gráficas de diferentes procesos

monitorizados

Estado del Hardware y acceso a las

instancias autocreadas

Estado e información detallada de los

pasos y acceso a los logs

Visualización de la configuración

Visualización de las “Bootstrap Actions”

81

Monitorización IV

Empieza a ejecutar los steps hasta

finalizarlos

82

Monitorización V

Steps -> Jobs -> Tasks

83

Resultado I

Podemos ver el resultado desde …

84

Resultado II

Navegando hasta la carpeta adecuada

Podemos descargarlo

Tendremos un fichero por cada “reducer

task”

85

Resultado III

Podemos ver los datos accediendo al S3

86

Resultado IV

Y descargarlos

87

EMR: Jar

88

Introducción Los pasos son los mismos que en el anterior ejemplo

Hay que subir el fichero Jar al S3

Subimos los datos al S3

Todo igual menos a partir del paso “Steps”

Realizaremos un ejemplo de Hipotecas MapReduce

Propio en Java https://gist.github.com/gonzalezgarciacristian/721e7dd6e

87557955b2d

Jar: Campus Virtual Contar el número de hipotecas por estado

https://mega.nz/#!S4ITzL4S!V-dFdNCW0Q6hLGeDDyk8RBs9XM2Q2Koe52fZuWnpbHA

89

Entrada

312.913 líneas

90

Subir datos al S3 I

Creamos una carpeta

91

Subir Jar al S3 II

Entramos en la carpeta “mortgage”

Subimos el Jar llamado “Mortgage.jar”

92

Subir datos al S3 II

Estamos en la carpeta “Mortgage”

Creamos las carpeta “input”

Entramos en “input”

Subimos el fichero de datos

“Consumer_Complaints”

93

Steps I

Si se clonó, borrar el Step existente

Añadir Custom JAR

Configure and add

94

Steps II

95

Localización del

Jar en el S3

Argumentos

Acción a

realizar

si falla

Steps III

Cuidado al poner los nombres de los

directorios

96

Localización del

Jar en el S3

Nombre de

la Clase

Carpeta Input

Carpeta Output

¡No debe existir!

Terminar

Salida

97

EMR

Clústers lanzados

Podemos ver la información de antiguos

lanzamientos

Nos muestra cuáles fallaron

98

Amazon EC2

99

Nueva instancia EC2

100

Lanzamos una instancia

Sistema Operativo

Elegimos el sistema operativo

GNU/Linux (Ubuntu, Suse, …), Windows

101

Tipo de instancia

Seleccionamos la instancia

102

Seguimos …

Continuamos configurando la instancia

103

Configuración I

Opciones existentes …

104

Configuración II

Permite especificar un límite que estemos

dispuestos a pagar

105

Configuración III

Lo configuramos

106

Seguimos …

Pasamos a configurar el almacenaje

107

Espacio y Finalización

Permite añadir más discos a la instancia

108

30 GB máximo en la gratuita

Cuidado si no queréis perderlos o si almacenáis muchos en la gratis

Seguimos …

Lo configuramos y continuamos

109

Tag

Sirven para asignar metadatos para

ayudar al seguimiento de los diferentes

recursos existentes

Podéis añadir alguna, si queréis

110

Seguimos …

Continuamos para configurar el grupo de

seguridad

111

Puertos

Configuramos

Para ahorrarnos problemas, abriremos todos (¡Pero esto nunca más lo hagáis!)

Seguimos

112

Revisión

Revisamos la configuración

113

Seguimos …

Lanzamos si esta correcto

114

Key Pair

Seleccionamos o creamos una clave

115

Instancia creada

La instancia fue creada

116

Proceso finalizado

Ya tenemos la instancia creada

117

Otros … Podemos crear alarmas

Consultar el tiempo encendida

Consultar diferentes estadísticas de uso

Crear tags

Pararla

Monitorizarla

Cambiar la seguridad o la ip

Cambiarle el nombre

Crear nuevos volúmenes (HDs)

118

Acceso a Amazon EC2

119

Windows - PuttyGen Para conectarse desde Windows

Descargamos el Putty y el PuttyGen http://www.chiark.greenend.org.uk/~sgtatham/putty/download.ht

ml

Abrimos el PuttyGen y generamos el PPK Fichero de Putty para conexiones realizar conexiones seguras

Deberéis de poner passphrase para evitar problemas en AWS

120

Windows - Putty

Con la clave privada (PPK) ya generada,

abrimos el Putty

Introducimos el DNS o la IP Pública

Cargamos la clave privada

121

GNU/Linux y Mac OS X – SSH I

Para conectarse desde una distro Linux o

Mac OS X

Ir al EC2 -> Seleccionar Estancia -> Connect

122

GNU/Linux y Mac OS X – SSH II Obtendréis las instrucciones Cambiar permisos del fichero .pem

Hay que utilizar el comando SSH con el parámetro –i “fichero.pem” usuario@ip

123

Acceso

Usuario por defecto: ubuntu

Passphrase: La que pusisteis en el PuttyGen

124

Nuestra instancia

Una vez dentro …

125

WinSCP I

Descargamos WinSCP

http://winscp.net/eng/download.php

Permite acceder al sistema de ficheros

del servidor gráficamente

Permite, desde el escritorio, subir y bajar

ficheros

126

WinSCP II

127

WinSCP III

Ingresamos la clave privada

128

WinSCP IV

Escribimos la “passphrase” de la clave

129

WinSCP V

130

131

Amazon Web

Services

Cristian González García v 1.2.2 Noviembre 2015

top related