gestión de instancias en amazon ec2 desde consola

28
GESTIÓN DE INSTANCIAS LINUX EN AMAZON EC2 DESDE LA LÍNEA DE COMANDOS

Upload: pablo-aragon

Post on 25-May-2015

774 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Gestión de instancias en amazon ec2 desde consola

GESTIÓN DE INSTANCIAS LINUX EN AMAZON EC2 DESDE LA LÍNEA DE

COMANDOS

Page 2: Gestión de instancias en amazon ec2 desde consola

REQUISITOS: JAVA

Las herramientas en línea de comandos de Amazon EC2 requieren la versión Java 5 o posterior, o bien, una instalación de JRE o JDK.

Descargar en:

http://java.sun.com/j2se/1.5.0/

Page 3: Gestión de instancias en amazon ec2 desde consola

REQUISITOS: JAVA

También requieren la variable de entorno (JAVA_HOME) para localizar JRE.

$ export JAVA_HOME=C:\Archivos de programa\Java\jre1.6.0_07

C:\> set JAVA_HOME=/usr/java/jdk1.6.0_07

Page 4: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: DESCARGAR

Las herramientas en línea de comandos están disponibles como un archivo ZIP en el Centro de Recursos de Amazon EC2.

Descargar en: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&categoryID=88

Page 5: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: EC2_HOME

Las herramientas en línea de comandos dependen de una variable de entorno (EC2_HOME) para localizar las bibliotecas de apoyo.

Indicar la ruta del directorio de las herramientas. Este directorio se denomina EC2-api-tools-AB-nnnn (A,B y n corresponden a la versión) y contiene subdirectorios bin y lib.

$ export EC2_HOME=<path-to-tools>C:\> set EC2_HOME=<path-to-tools>

Page 6: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: PATH

Por comodidad es aconsejable añadir las herramientas de Amazon al Path:

$ export PATH=$PATH:$EC2_HOME/bin

C:\> set PATH=%PATH%;%EC2_HOME%\bin

Page 7: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: CERTIFICADOS

Las herramientas en línea de comandos necesitan tener acceso a la clave privada y a un certificado X.509 generados tras registrarse en Amazon EC2.

Establecer la variable de entorno EC2_PRIVATE_KEY con la referencia al archivo de clave privada y la variable EC2_CERT al certificado X.509

$ export EC2_PRIVATE_KEY=/ec2/pk-HKZYKTAIG2ECM.pem$ export EC2_CERT=/ec2/cert-HKZYKTAIG2ECMXYIBH3.pem

C:\> set EC2_PRIVATE_KEY=c:\ec2\pk-HKZYKTAIG2ECM.pemC:\> set EC2_CERT=c:\ec2\cert-HKZYKTAIG2ECMXYIBH3.pem

Page 8: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: LOCALIZACIÓN

Por defecto, las herramientas de Amazon EC2 ubican las instancias en la zona este de los Estados Unidos (us-east-1). Si se quieren localizar en Europa Occidental así que hay que modificar el valor de la variable EC2_URL:

$ export EC2_URL=https://ec2.eu-west-1.amazonaws.com

C:\> set EC2_URL=https://ec2.eu-west-1.amazonaws.com

Page 9: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: PUERTOS

La primera vez que se configura Amazon el grupo de seguridad tiene sus puertos cerrados.

Abrir el puerto 22 (SSH):

PROMPT> ec2-authorize default -p 22

Repetir este comando para puertos como HTTP (80), Tomcat (8080), MySQL (3306)…

Page 10: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: PAR DE CLAVES

Cuando se pone en marcha una instancia de una AMI, en lugar de contraseña, se necesita un par de claves pública/privada para acceder a la instancia.

Generar un par de claves:

PROMPT> ec2-add-keypair gsg-keypair

Page 11: Gestión de instancias en amazon ec2 desde consola

HERRAMIENTAS: PAR DE CLAVES

KEYPAIR gsg-keypair 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6fBEGIN RSA PRIVATE KEYMIIEoQIBAAKCAQBuLFg5ujHrtm1jnutSuoO8Xe56LlT+HM8v/xkaa39EstHungXQ29VTc8rc1bW0lkdi23OH5eqkMHGhvEwqa0HWASUMll4o3o/IX+5AU52EQfanIn3ZQ8lFW7Edp5a3q4DhjGlUKToHVbicL5E+g45zfB95wIyyrdLNLDL4+TcnT7c62/aH01ohYaf/VCbRhtLlBfqGoQc7+sAc8vmKkesnF7CgC0iZzzNAapayz1+JcVTwwEid6j9JqNXbBc+Z2YwMi+T0Fv/P/hwkX/ypeDQbsz7LcY1HqXiHKYNWNvXgwwO+oiChjxvEkSdsTTIfnK4VSCvU9BxJZKjTSu3i7vhvx6RzdSedXEMNTZWN4qlIx3kR5aHcukCgYA9T+Zrvm1FP8TTvW/6bdPi23ExzxZn7KOdrfclYRph1LHMpAONv/x2xALIf91UB+v5o2ERKKdwz0ZL9SWq6VTdhr/5G994CK72fy5WhyERbDjUIdHaK3M849JJEND RSA PRIVATE KEY

Guardar el contenido en negrita en:

/ec2/id_rsa-gsg-keypairc:\ec2\id_rsa-gsg-keypair

Page 12: Gestión de instancias en amazon ec2 desde consola

INSTANCIAS: RUN

Para levantar una nueva instancia de un AMI concreta (ami-a3e8ad92 en el ejemplo) usar el comando ec2-run-instances:

PROMPT> ec2-run-instances ami-a3e8ad92 -k gsg-keypair

RESERVATION r-f25e6f9a 999988887777 defaultINSTANCE i-85b435ee ami-e4f9cc90 pending gsg-keypair 0m1.large 2010-03-30T08:01:36+0000eu-west-1a aki-94c527fd ari-96c527 monitoring-disabled ebs

Page 13: Gestión de instancias en amazon ec2 desde consola

INSTANCIAS: STOP y START

Una instancia parada permitirá al usuario conservarla sin generar costes mientras se mantenga detenida.

Detener una instancia:

PROMPT> ec2-stop-instances i-85b435ee

IMAGE i-85b435ee running stopping

Para ponerla de nuevo en marcha:

PROMPT> ec2-start-instances i-85b435ee

IMAGE i-85b435ee stopped pending

Page 14: Gestión de instancias en amazon ec2 desde consola

INSTANCIAS: TERMINATE

Cuando ya no se requiere la utilización de una instancia puede borrarse:

PROMPT> ec2-terminate-instances i-85b435ee

IMAGE i-85b435ee running shutting-down

Page 15: Gestión de instancias en amazon ec2 desde consola

INSTANCIAS: DESCRIBE

Listar las instancias actualmente levantadas:

PROMPT> ec2-describe-instancesRESERVATION r-d79b00a0 272662437231 default

INSTANCE i-73c7b214 ami-fff1d77b ec1-46-72-247-230.eu-west-1.compute.amazonaws.com

ip-20-116-201-291.eu-west-2.compute.internal running gsg-keypair 0 m2.large 2010-21-07T1:21:37+0000

eu-west-2b aki-6d011929 ari-37011943 monitoring-enabled

46.72.247.230 20.116.201.291 ebs

BLOCKDEVICE /dev/sda2 vol-b14bb2db 2010-07-27T21:49:32.000Z

BLOCKDEVICE /dev/sda1 vol-b44bb2dd 2010-07-27T21:54:32.000Z

Page 16: Gestión de instancias en amazon ec2 desde consola

VOLÚMENES: CREATE y ATTACH

Si se desea añadir un disco duro a la instancia se necesita un volumen de datos EBS asociado a ella: PROMPT> ec2-create-volume size 100 -z eu-west-1a

VOLUME vol-c7f95aae 1000 eu-west-1b creating 2010-03-30T13:54:37+0000

También hay que vincular el volumen con la instancia en el dispositivo deseado (/dev/sda2):PROMPT> ec2-attach-volume -d /dev/sda2 -i i-85b435ee vol-c7f95aae

Page 17: Gestión de instancias en amazon ec2 desde consola

VOLÚMENES: DETACH

En ocasiones un volumen desea desconectarse de una instancia manteniéndose su informacion, por ejemplo, para adjuntarla a otra:

PROMPT> ec2-detach-volume -d /dev/sda2 -i i-85b435ee vol-c7f95aae -f

Page 18: Gestión de instancias en amazon ec2 desde consola

VOLÚMENES: DELETE

Al igual que con las instancias, se puede borrar volúmenes que no se necesiten:

PROMPT> ec2-delete-volume vol-4282672b

VOLUME vol-4282672b

Page 19: Gestión de instancias en amazon ec2 desde consola

VOLÚMENES: DESCRIBE

Listar los volúmenes existententes:

PROMPT> ec2-describe-volumesVOLUME vol-2017b337 10 eu-west-1b in-use 2011-03-13T08:08:11+0000

ATTACHMENT vol-2017b337 i-1b5b328d /dev/sda7 attached 2011-03-13T08:17:22+0000

VOLUME vol-8be332e3 1000 eu-west-1b in-use 2010-12-27T12:08:38+0000

ATTACHMENT vol-8be332e3 i-e5257072 /dev/sda2 attached 2011-03-15T10:08:37+0000

Page 20: Gestión de instancias en amazon ec2 desde consola

AMI: CREATE

Si se ha diseñado una máquina que será replicada en un futuro se puede guardar su configuración guardando un AMI con sus datos:

PROMPT> ec2-create-image -n "My AMI" i-eb977f82

IMAGE ami-8675309

La instancia base se detendrá para la creación del nuevo AMI

Page 21: Gestión de instancias en amazon ec2 desde consola

AMI: DESCRIBE

También se pueden listar las AMI disponibles

Listar AMI propias:

ec2-describe-images –o self

Listar AMI públicas de Amazon:

ec2-describe-images –o amazon

Page 22: Gestión de instancias en amazon ec2 desde consola

CONECTAR CON PUTTY

Para conectar con una instancia Unix/Linux de Amazon se requiere un par de claves SSH. Si se está en Windows también hace falta un cliente SSH como PuTTY.

PuTTY no soporta nativamente el formato de la clave privada generada por Amazon EC2.

Page 23: Gestión de instancias en amazon ec2 desde consola

CONECTAR CON PUTTY

Convertir con PuTTYgen las claves a su formato interno cargando id_rsa-gsg-keypair.

Guardar el archivo ppk

Page 24: Gestión de instancias en amazon ec2 desde consola

CONECTAR CON PUTTY

Ejecutar PuTTY

Connection/SSH/Auth

Browse para elegir el

archivo ppk de la clave privada para PuTTY

Page 25: Gestión de instancias en amazon ec2 desde consola

CONECTAR CON PUTTY

En Session, introducir root@ip_address

Page 26: Gestión de instancias en amazon ec2 desde consola

MONTAR LOS VOLÚMENES

Una vez conectado, si ha añadido un nuevo volumen a la instancia hay que formatearlo (/dev/sda2):

$ yes | mkfs -t ext3 /dev/sda2

Y posteriormente montarlo en un directorio:

$ mkdir /carpeta$ mount /dev/sda2 /carpeta

Page 27: Gestión de instancias en amazon ec2 desde consola

CONSOLA

Y si no… siempre nos quedará la consola web :)

Page 28: Gestión de instancias en amazon ec2 desde consola

FIN